work around for Sketchup on case sensitive partition

Questions and answers about 3Dconnexion devices on macOS.

Moderator: Moderators

faduci
Posts: 3
Joined: Fri Nov 09, 2007 9:03 pm
Location: Berlin, Germany

work around for Sketchup on case sensitive partition

Post by faduci »

This is about an incomplete work around for a rather exotic problem and only concerns MacOS X users who do not use the standard file system.

A couple of hours ago I got my SN. Connected it to my PowerBook (MacOS 10.4.10), installed the drivers (1.4.0), restarted and, oh joy, it worked in GE (4.2.0180.1134). Loved it. Unfortunately my luck didn't last. I picked up Sketchup 6 (6.0.1145), the program itself seemed to work fine, but there was no way I could get it to recognize the SN. Several hours and some weird experimentation later (including altering hard coded paths in 3DxSketchUp.bundle with a hex editor) the culprit seems to be Google.

My system partition is formated with a HFS+ case sensitive (journaled) file system. The standard installation for MacOS X is still case insensitive, and there are a number of applications assuming this default. One of them seems to be Sketchup.

The trouble started with the installation of the plug-in. Sketchup creates a directory 'plugins' in '/Library/Application Support/Google SketchUp 6/SketchUp/' where plug-ins are supposed to go. 3dxwaremacPE-v1_4_0 expects this to be called 'Plugins' instead. While on a case insensitive file system writing to 'Plugins' is the same as writing to 'plugins', on a case sensitive system an additional directory called 'Plugins' will be created where the SN plug-in gets installed and Sketchup does not find it. At that time (some hours and reinstall cycles already gone) I suspected some developer at 3Dconnexion had screwed up, especially due to their strange idea where to place the options for the device. Reinstalling the drivers from system preferences, hidden in an obscure drop down menu?

Renaming 'plugins' to 'Plugins' made Sketchup puke, moving the files from 'Plugins' to 'plugins' caused error messages, in the end a symbolic link did (part of) the trick. Unfortunately the 'plugins' folder was just one of many cases of case problems. The SN plug-in uses a lot of ruby code calling modules like 'GettingStarted.rb', all of which were stored like 'gettingstarted.rb'. Again, this would be ignored on a case insensitive file system. So I 'grep'ed through the files and created a number of symbolic links [a symbolic link is the unix version of an alias, allowing to call a file by another name] and finally got the SN to work in Sketchup.

I'm not sure about ruby naming conventions, lower case module names seemed to be okay, maybe someone who actually does program in ruby can comment on that. Since I found case sensitive references in ruby code by Google itself, I currently suspect that the installer is faulty and has only been tested on regular HFS+ partitions. Anyway, below you'll find what I did to get it to run. Since I only 'fixed' files I found in 'require' statements or error messages, I'm pretty sure more problems will show up. So hopefully either someone enlightens me about the flaw in my logic or Google fixes the installer. If not, I will have to find a way to rename/link to all the necessary files with the proper case.

In Terminal.app:

Code: Select all

cd /Library/Application\ Support/Google\ SketchUp\ 6/SketchUp/
ln -s plugins/ Plugins 
now (re-)install the SN plugins (System preferences -> 3Dconnexion -> configuration -> install plug-ins)

Code: Select all

ln -s tools/ Tools
 
cd tools/
ln -s gettingstarted.rb GettingStarted.rb 
ln -s langhandler.rb LangHandler.rb

cd Sandbox/
ln -s detailtool.rbs DetailTool.rbs  
ln -s drapetool2.rbs DrapeTool2.rbs 
ln -s flipedgetool.rbs FlipEdgeTool.rbs 
ln -s fromscratch.rbs FromScratch.rbs 
ln -s geometryhelpers.rbs GeometryHelpers.rbs 
ln -s smoovetool.rbs SmooveTool.rbs 
ln -s stamptool.rbs StampTool.rbs 
ln -s sandboxmenus.rb SandboxMenus.rb

cd ../../Resources/
now for every language directory in 'Resources (en-US as an example):

Code: Select all

cd en-US
ln -s selfpacedtutorials/ SelfPacedTutorials
cd ..
ettore
Moderator
Moderator
Posts: 127
Joined: Wed Mar 14, 2007 5:55 pm
Location: SF Bay Area, CA

Post by ettore »

I had a quick look at this problem. At the time of development, the plug-ins folder was called "Plugins" after installation of the SketchUp app, so, yes, our plugin does search for that one name only. It seems like the latest version of SKetchUp creates a "plugins" folder instead. This is a bug now, and it will be fixed in the next release.

Now, regarding the other ruby file names, I verified they all lost their capitalization in the latest version. So, for instance, when I ported the plugin, gettingstarted.rb was called "GettingStarted.rb", similarly as others .rb files. However, the only ruby library the plugin loads directly is "sketchup.rb". (Open 3DxSketchUp.rb with a text editor to verify this.) It could be that sketchup.rb references the others, but I have no control on that. Did you already report this specific problem to Google?
ettore pasquini
software engineer
3Dconnexion, inc.
faduci
Posts: 3
Joined: Fri Nov 09, 2007 9:03 pm
Location: Berlin, Germany

Post by faduci »

ettore wrote:Did you already report this specific problem to Google?
I intended to, but never got to it, so no. So far I haven't even found a place to report it , but admittedly I haven't looked very hard. If it is no trouble for you, please report it, otherwise I'll try again.
ettore
Moderator
Moderator
Posts: 127
Joined: Wed Mar 14, 2007 5:55 pm
Location: SF Bay Area, CA

Post by ettore »

faduci wrote:
ettore wrote:Did you already report this specific problem to Google?
I intended to, but never got to it, so no. So far I haven't even found a place to report it , but admittedly I haven't looked very hard. If it is no trouble for you, please report it, otherwise I'll try again.
I'll have a look as well.
Also, I see some assertion failures in the console log with the latest Sketchup release, even without our plug-in. Do you see them as well if you remove our plugin? (BTW to make sure our plugin is NOT loaded, all you have to do is moving it out of its "Plugins" directory. Moving it back in will restore the installation setting.)
Although this doesn't necessarily mean anything, it is certainly not a good sign.
Last edited by ettore on Mon Nov 12, 2007 5:43 pm, edited 1 time in total.
ettore pasquini
software engineer
3Dconnexion, inc.
ettore
Moderator
Moderator
Posts: 127
Joined: Wed Mar 14, 2007 5:55 pm
Location: SF Bay Area, CA

Post by ettore »

BTW, this is the Console log output that I am getting from Google SketchUp 6.0 (6.0.1145), free edition, right after application startup WITHOUT our plugin:

Code: Select all

../../source/sketchup/macwin/CString.h:407: failed assertion `nIndex <m_pData>nDataLength'
2007-11-12 16:32:59.183 SketchUp[27138] Could not find image named 'Reload'.
2007-11-12 16:33:00.715 SketchUp[27138] SketchUp running in DEMO mode only.
filename = /Applications/Google SketchUp 6/SketchUp.app/Contents/Resources/English.lproj/i18n.dat
ettore pasquini
software engineer
3Dconnexion, inc.
ettore
Moderator
Moderator
Posts: 127
Joined: Wed Mar 14, 2007 5:55 pm
Location: SF Bay Area, CA

Post by ettore »

faduci wrote:
ettore wrote:Did you already report this specific problem to Google?
I intended to, but never got to it, so no. So far I haven't even found a place to report it , but admittedly I haven't looked very hard. If it is no trouble for you, please report it, otherwise I'll try again.
actually, since I can't reproduce your errors exactly, it's probably best if you report it yourself. I think to report a problem you can send a message here:
http://sketchup.google.com/support/bin/ ... t_type=bug

or look for answers here:
http://sketchup.google.com/support/
http://groups.google.com/group/SketchUp
ettore pasquini
software engineer
3Dconnexion, inc.
Biker4Mac
Posts: 5
Joined: Wed May 21, 2008 1:51 pm
Location: Pennsylvania, USA

Post by Biker4Mac »

I'm having a devil of a time getting my SpaceNavigator to work with SketchUp Pro 6 on my dual 2.0Ghz G5 PowerMac running OS X.4.11.

Found this thread and looked in the plugins folder just to see... Absolutely nothing related to the SN...

Works with Google Earth, the demos all work, and the blue lights are happily lit. Uninstalled and reinstalled (all from an admin account) with the same problems.
Biker4Mac
Posts: 5
Joined: Wed May 21, 2008 1:51 pm
Location: Pennsylvania, USA

Post by Biker4Mac »

Guess I should add that this is the 1_5_0 installer, that I am not aware that I specifically have the file system set to "case sensitive," and that I was sort of assuming the case problem would have been fixed with the new installer...
ettore
Moderator
Moderator
Posts: 127
Joined: Wed Mar 14, 2007 5:55 pm
Location: SF Bay Area, CA

Post by ettore »

To verify if you have a case sensitive partition, I think you can just open Disk Utility and select the partition containing SketchUp.
ettore pasquini
software engineer
3Dconnexion, inc.
ettore
Moderator
Moderator
Posts: 127
Joined: Wed Mar 14, 2007 5:55 pm
Location: SF Bay Area, CA

Post by ettore »

To reinstall the SketchUp plugin you can also select "Reinstall Plugins" from our pref pane.
ettore pasquini
software engineer
3Dconnexion, inc.
Biker4Mac
Posts: 5
Joined: Wed May 21, 2008 1:51 pm
Location: Pennsylvania, USA

Post by Biker4Mac »

Disk Utility does not show any information about the partition being case sensitive - only HFS+ journaled.

I've done the "reinstall plugins" several times with no results - leading to a full uninstall and reinstall twice with no results.
ettore
Moderator
Moderator
Posts: 127
Joined: Wed Mar 14, 2007 5:55 pm
Location: SF Bay Area, CA

Post by ettore »

When you install the driver or reinstall the plugins, do you notice any error messages popping up in the installer log? The installer log is visible from the Installer menus: Window -> Installer Log

BTW, which dot version of SketchUp 6 are you using?
ettore pasquini
software engineer
3Dconnexion, inc.
Biker4Mac
Posts: 5
Joined: Wed May 21, 2008 1:51 pm
Location: Pennsylvania, USA

Post by Biker4Mac »

Version Info: SketchUp 6.0 (6.4.245)

No errors in log window... But...

Switching over to errors and progress in the log window and I noticed that it was trying to put stuff into the IDXRenditioner folder (TurboSketch Studio plugin) in the SketchUp plugins folder. Temporarily moved those items out of the plugin folder, reinstalled the 3DConnexion plugins one more time, moved the IDX stuff back into the folder, and all seems to be working.

So there seems to be some sort of conflict between the 3DConnexion plugin installation and the IDXRenditioner plugin.

As more people find more plugins to add to SketchUp, conflicts between plugins will likely become an issue...

So, thanks for the help - glad we could get it straightened out!
ettore
Moderator
Moderator
Posts: 127
Joined: Wed Mar 14, 2007 5:55 pm
Location: SF Bay Area, CA

Post by ettore »

ah, cool -- that's really useful info, thanks Biker! I'll relay this info to our installer engineer. :)
ettore pasquini
software engineer
3Dconnexion, inc.
Biker4Mac
Posts: 5
Joined: Wed May 21, 2008 1:51 pm
Location: Pennsylvania, USA

Post by Biker4Mac »

Hey, glad I could end up helping out!
Post Reply