MR2 broke plugin during C extension require
-
@dan rathbun said:
require
is saying it cannot find the file, but it does exist.No, it says it cannot find the module - not the same as the file.
If the file was not found there would be a different error message - like this:
require 'foobar' Error: #<LoadError: (eval):155:in
require': no such file to load -- foobar>
(eval):155
(eval):155` -
@dan rathbun said:
With a script perhaps ?
Wow, I hope you didn't write that just for me! I'm gonna play with it right now. I am very suspicious about Vista and permissions/folder attributes since I've confirmed it works on XP and 7.
-
@thomthom said:
No, it says it cannot find the module - not the same as the file.
If the file was not found there would be a different error messageInstantly when I started reading this sentence, the words "no such file to load..." popped into my head. Thanks for catching that.
So what's the difference? I'm not finding much info from my googling.
-
@draftomatic said:
@thomthom said:
No, it says it cannot find the module - not the same as the file.
If the file was not found there would be a different error messageInstantly when I started reading this sentence, the words "no such file to load..." popped into my head. Thanks for catching that.
So what's the difference? I'm not finding much info from my googling.
Did you see the links I posted earlier, on the second page in this thread?
-
@thomthom said:
Did you see the links I posted earlier, on the second page in this thread?
Yes I read through them, but I didn't see anything useful. One of those threads didn't seem to ever find a resolution? Or did I miss something...
Also I'm not using a self-built ruby... I'm using 1.8.6 p287 for the libraries and dll.
Edit: Just re-read the thread, seems like he resolved it by using the pre-built Ruby. Which is what I've been using all along...
-
@draftomatic said:
@dan rathbun said:
With a script perhaps ?
Wow, I hope you didn't write that just for me! I'm gonna play with it right now. I am very suspicious about Vista and permissions/folder attributes since I've confirmed it works on XP and 7.
Well for anyone.
I suppose we could make it a bit more flexible, and move it to it's own topic with a "[Code]" prefix so Jim's code snippet indexer will list it.
It also should be module wrapped in some way. In some generic namespace
SkpFileUtils
, or something, and the methods made into module functions. Maybe a mixin module anyone can mix into custom modules and classes ? -
Hey Dan. I ran the script and it didn't help.
I was also playing with printing the chmod flags for each directory (using File.stat.mode), and using File.readable? (which was always false, even after running your script). I'm not an expert at this stuff and am getting distracted by other priorities.
For what it's worth, the result of:
sprintf("%o", File.stat("/").mode)
is always 40755 (octal I believe?) for the directories, before and after running your script.
-
Can you share the .so file you have problems with? So we can test - figure out if it's a local issue on your computer or the binary itself..
-
@draftomatic said:
Hey Dan. I ran the script and it didn't help.
...
is always 40755 (octal I believe?) for the directories, before and after running your script.
Well sorry. As I did say it wasn't tested.
-
@dan rathbun said:
As I did say it wasn't tested.
Oh, I think it did was it was supposed to, except that maybe the chmod call didn't do anything. Not sure, but it did recurse the folders okay, so thanks for that! =D
I may get a coworker to help me out with this later in the week since she knows more about chmod and permissions.
-
Isn't it easier to just test on another machine? One with a clean SU installation. Then you can find out if it's a local issue or not.
-
@thomthom said:
Isn't it easier to just test on another machine? One with a clean SU installation. Then you can find out if it's a local issue or not.
I have tried 4 machines with fresh installations - 1 XP, 2 Vista, 1 Win7.
The two Vistas have the problem. The others don't.
-
Here's the troublesome .so file. Just rename it with a .so extension (Sketchucation wouldn't let me upload as .so) Although it might depend on others in the Ruby installation.
This came straight from:
Ruby 1.8.6 p287 One-Click Installer: http://rubyforge.org/frs/download.php/47082/ruby186-27_rc2.exe
-
FYI, all I did with my plugin is I packaged most of that Ruby installation in the above post with my plugin. I tried to trim most of the fat as there are source files etc. in there. Probably still left a huge amount in that doesn't need to be...
Edit: I know I've made several post about this before, but I tried to do the same thing on Mac and I could never get a 1.8.5 that would work (I even tried compiling it but every version I could find after scouring the internet was missing the thread.so standard C extension. A sad story... we still don't have Mac support because of this >.< ).
So anyway if you want to reproduce the error, just drop that installation into your \Plugins\Foo folder and try requiring openssl.so on Vista. As always you may want to adjust your $LOAD_PATH variable.
-
I had no problems loading the
openssl.so
file you posted. (Win7 64bit) -
@draftomatic said:
FYI, all I did with my plugin is I packaged most of that Ruby installation in the above post with my plugin. I tried to trim most of the fat as there are source files etc. in there. Probably still left a huge amount in that doesn't need to be...
Note that it can cause incompatible clashes. For instance if you bundle set.rb it will conflict with the Set class that ships with SU. And if some of the files you bundle modifies the core classes it could also cause clashes as SU ships with slightly modified core classes.
-
@draftomatic said:
@thomthom said:
Isn't it easier to just test on another machine? One with a clean SU installation. Then you can find out if it's a local issue or not.
I have tried 4 machines with fresh installations - 1 XP, 2 Vista, 1 Win7.
The two Vistas have the problem. The others don't.
Ah - did not notice this post... Don't have Vista at hand for testing...
-
@thomthom said:
Ah - did not notice this post... Don't have Vista at hand for testing...
I was waiting for you to pick up on this lol... it's Vista!!!
@thomthom said:
Note that it can cause incompatible clashes. For instance if you bundle set.rb it will conflict with the Set class that ships with SU. And if some of the files you bundle modifies the core classes it could also cause clashes as SU ships with slightly modified core classes.
That's a good point... What would you recommend? Should I try to eliminate those that clash from what I'm including with my plugin?
-
@draftomatic said:
That's a good point... What would you recommend? Should I try to eliminate those that clash from what I'm including with my plugin?
I'd recommend that you check carefully what files you bundle. Since it's a shared environment you want to avoid potential clashes. Remove any file you don't need. Check the ones you add if they modify existing methods. And beware that
Set.rb
will cause incompatible modifications to the Set class.
Advertisement