Hi All, I have a problem with the OSProcess plugin. I cannot get it to run on my Solaris machine. I downloaded the changeset, moved the .c file into the vm-source hierarchy and compiled and installed all. (Just changed the $(prefix) because this isn't _my_ machine. When I start the new vm with a recent Image i get the following error messages: ioLoadModule(/tmp/thu/Squeak/lib/squeak/3.1a-4164/UnixOSProcessPlugin.so): ld.so.1: /tmp/thu/Squeak/bin/squeak: fatal: relocation error: file /tmp/thu/Squeak/lib/squeak/3.1a-4164/UnixOSProcessPlugin.so: symbol unsetenv: referenced symbol not found ioLoadModule(/tmp/thu/Squeak/lib/squeak/3.1a-4164/UnixOSProcessPlugin.so): ld.so.1: /tmp/thu/Squeak/bin/squeak: fatal: relocation error: file /tmp/thu/Squeak/lib/squeak/3.1a-4164/UnixOSProcessPlugin.so: symbol unsetenv: referenced symbol not found ioLoadModule(/tmp/thu/Squeak/lib/squeak/3.1a-4164/UnixOSProcessPlugin.so): ld.so.1: /tmp/thu/Squeak/bin/squeak: fatal: relocation error: file /tmp/thu/Squeak/lib/squeak/3.1a-4164/UnixOSProcessPlugin.so: symbol unsetenv: referenced symbol not found
What am I doing wrong? Do you need more Info about my system to answer this? Any help appreciated.
Torge
On Thu, Nov 01, 2001 at 04:36:17PM +0100, Torge Husfeldt wrote:
Hi All, I have a problem with the OSProcess plugin. I cannot get it to run on my Solaris machine. I downloaded the changeset, moved the .c file into the vm-source hierarchy and compiled and installed all. (Just changed the $(prefix) because this isn't _my_ machine. When I start the new vm with a recent Image i get the following error messages: ioLoadModule(/tmp/thu/Squeak/lib/squeak/3.1a-4164/UnixOSProcessPlugin.so): ld.so.1: /tmp/thu/Squeak/bin/squeak: fatal: relocation error: file /tmp/thu/Squeak/lib/squeak/3.1a-4164/UnixOSProcessPlugin.so: symbol unsetenv: referenced symbol not found
Oh, darn it. I was afraid that would happen eventually. I have added a few primitives to the plugin for various reasons, but I don't have anything other than Linux to test it on at the moment.
To "fix" it for your system, delete the primitiveUnsetenv method from the UnixOSProcessPlugin, and regenerate the C source code (or just edit the offending function out of the C code if you prefer). I don't think this primitive is really needed for anything, I just stuck it in there because it seemed like it should be there to go along with the primitiveSetenv method.
Sorry for the inconvenience. If you happen to know the Solaris equivalent of setenv(3), please let me know so I can fix it correctly.
Dave
"David T. Lewis" lewis@mail.msen.com is widely believed to have written:
Sorry for the inconvenience. If you happen to know the Solaris equivalent of setenv(3), please let me know so I can fix it correctly.
I fear this means you need to walk the dark road of learning all that autoconf stuff in order to automagically work out if it is supported. come to that, it really is time OSProcess was incorporated into the normal build capability, even if not into the default build.
tim
On Thu, Nov 01, 2001 at 03:22:33PM -0800, Tim Rowledge wrote:
"David T. Lewis" lewis@mail.msen.com is widely believed to have written:
Sorry for the inconvenience. If you happen to know the Solaris equivalent of setenv(3), please let me know so I can fix it correctly.
I fear this means you need to walk the dark road of learning all that autoconf stuff in order to automagically work out if it is supported. come to that, it really is time OSProcess was incorporated into the normal build capability, even if not into the default build.
tim
Ouch. I don't want to think about that too hard. So far, I've gotten by with only one #ifdef in the plugin code, no header file, and everything translated from Slang. I think I'll just delete the primitiveUnsetEnv method and be done with it.
Dave
p.s. I just grabbed your latest VMMaker. It looks awfully nice for somebody who claims not to do user interfaces.
squeak-dev@lists.squeakfoundation.org