[Plugin] TT_Lib²
-
@tig said:
You have now stopped it calling itself, BUT now load [and register] 'core.rb', which exists in the Lib's folder, but that now creates errors too... why not put it in a 'begin...rescue' block and refer it to a file you DON'T have in your TT_Lib2 folder - like 'foobar.rb' - and do NOT register it, then no Extension is made and no one is confused at all...
The real fix here is to figure out where the error is coming from. I don't want to patch the symptom, I want to fix the cause.
-
I'm not able to reproduce the TT::System loading error...
-
I get it on PC & MAC v2013...
Unless I re-jig you code to use the nonexistent foobar.rb and NOT register the extension anyway...
Then it's all OK.
-
Does it happen with a clean Plugins folder?
-
@unknownuser said:
Error Loading File C:/Program Files/Google/Google SketchUp 8/Plugins/TT_Lib2/core.rb
uninitialized constant TT::SystemError Loading File TT_Lib2.rb
uninitialized constant TT::System
With nothing except "TT_Lib2" loading from Plugins [and only the 3 'required' rb's in Tools - sketchup. langhandler and extensions] - error happens in both basic v8 [PC] & v2013 [PC & MAC]...
But oddly 'another version' doesn't display the issue at all ?Incidentally, this one simple change to your script stops these error message...
**#**Sketchup.register_extension( ex, true )
There is no need to register the mock-Extension as it is doing nothing, and other tools will load what they need from it anyway... -
Thanks for the reports TIG. I'll dig into it. I need to make some emergency patches for that other version anyway as well.
-
One odd thing I noticed is a circular 'require' in two of your rb's ?
In
core.rb
[which 'loads' first from the extension code load]...
require 'TT_Lib2/system.rb'
In
system.rb
which has been called by core.rb...
require 'TT_Lib2/core.rb'
So maybe the
TT::System
isn't initiated properly and the error occurs [with Ruby 1.8] ?
The require of the core.rb should skip if the code is already loaded, BUT maybe the extension load doesn't register in the list in the same way, and a second attempt occur with an error message... -
Maybe... I thought Ruby was able to deal with circular require, but I've had cases where it seem to cause problems. This might be one of them - I introduced the system.rb require to core.rb recently.
-
There isn't a circular require as such...
If the core.rb is loaded/required, then it in turn requires the system.rb...
That in turn requires the core.rb BUT it is skipped because the core.rb has already been loaded.BUT your TT_Lib2.rb code doesn't actually 'load or require' the core.rb - but rather it specifies it in an Extension.new(), and then it runs register_extension() that extension [which is where it breaks it]...
I suspect that [in versions up to v2013 at least] the extension's rb register_extension() does NOT get listed in the 'loaded' list [I forget its proper name!], although it does 'load' the code in some way, so... then core.rb's code requires system.rb which requires core.rb in the normal way, but at that point it tries to load core.rb thinking it's for the first time when it's the second !
So core.rb now skips system.rb's require because it thinks it's been done ???Whatever is happening... just stopping the extension code without doing a register_extension() avoids this issue because it doesn't need loading at all any way...
-
@tig said:
On PC and MAC I now get this issue whenever SketchUp starts
@unknownuser said:Error Loading File C:/Program Files/SketchUp/SketchUp 2013/Plugins/TT_Lib2/core.rb
uninitialized constant TT::System
Error Loading File TT_Lib2.rb
uninitialized constant TT::System
One step forward one back.I tried with a fresh install of TT_Lib2 on SU8 and SU2013 - under SU8 I never saw the error. Under SU2013 I saw the error when I had the console open when I installed. However, when I restarted SU there was no errors and everything was working fine... :s
-
To double check... I removed all of your tools and the TT_Lib2 files from my v2013 Plugins folder.
I then reinstalled the latest TT_Lib2 version - v2.9.5 [?].After that, whenever I restarted SketchUp it gives the same error-message as previously reported.
As before adding a # in front of the line that registers your spurious extension [and thereby tries to load the core.rb] stops the error as SketchUp starts, but it does not affect the Lib at all, since other tt installed tools 'properly' load any code as needed from the Lib, which does NOT need to be an extension at all...
-
What Windows version are you using?
(I want to get to the actual cause of this, fixing the actual problem instead of patching the symptom - which is why I need to reproduce this.)
-
Ah! Now I reproduce it. If TT_Lib is loading all by itself.
I had AutoSmooth installed which loaded the core.rb file - then there was no errors.
-
Pushed a new version 2.9.6 to BitBucket and the PluginStore. Should take care of the Load Errors and compatibility with PluginStore - for realz this time!
-
Thank you for the new version file (v2.9.7),it works well at last.No more "core.rb" problem when SU start up(with v2.9.5).
-
having trouble installing this, when opening sketchup an error appears that says some of my files are in the windows virtual store. I am the only user on this laptop and have full permissions. I have also been searching for the compatibility button (researched on another thread) and I have been unable to find it/
I did not install this as a .rbz but switched the file name to .zip, then copied TT-lib folder and TT-lib.rb into the plugins folder. Am I missing something
please help
-
You need FULL administrative privileges for the Plugins folder. Edit those privileges and you'll be able to either move the files from the Virtual Store or reinstall.
You should just install the .RBZ file instead of converting to ZIP. You should also download and install the Sketchucation Plugin Store.
-
After that message there should be an Explorer window opening, which is contains the Virtual Store files. Note the full file path in the address bar. Those files should be in the real Plugins folder.
-
Sorry - new core.rb problem here:
Having 'inherited' some large, complex and badly-built SU models, I need a way to clean them up without resorting to a dozen partial solutions. I've been trying to get TT_cleanup to work, but I'm getting the following error when Sketchup starts:
Error Loading File /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/TT_Lib2/core.rb
can't convert nil into StringError Loading File /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/TT_Lib2.rb
can't convert nil into StringError Loading File /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/tt_cleanup/core.rb
can't convert nil into StringError Loading File tt_cleanup.rb
can't convert nil into StringI should maybe mention that my Mac is a PPC G4 (there's a lot of us left!) and I'm using the most recent versions of the plugin and library. I'm beginning to wonder if the hardware may be the problem. It is rather old (without being in any sense rickety). This said, I haven't experienced problems with any other plugins (yet).
But I'm sure someone will know better than me...
-
hm.. missing a stacktrace there.
Can you try these commands in the Ruby Console:
load 'tt_cleanup.rb'
load 'tt_cleanup/core.rb'
?
See if you get a more detailed error message?
Also, what version of TT_Lib and CleanUp do you have installed?
Advertisement