Ruby load problem on AIX

M

MD

Hi,
I have built Ruby 1.8.5 on an AIX 5.2 64 bit machine. I am using
xlc with OBJECT_MODE=64. When I try to run the following:

$ gem install rails --include-dependencies
/fasthome/fast3/manas/ruby185/lib/ruby/1.8/powerpc-aix5.3.0.0/
socket.so: load failed - /fasthome/fast3/manas/ruby185/lib/ruby/1.8/
powerpc-aix5.3.0.0/socket.so Not enough spac (LoadError)
from /fasthome/fast3/manas/ruby185/lib/ruby/1.8/net/
protocol.rb:21

Any help or tips is appreciated.

Thanks in advance.

Regards,
-MD
 
N

Nobuyoshi Nakada

Hi,

At Fri, 6 Apr 2007 17:43:13 +0900,
Yutaka Kanemoto wrote in [ruby-talk:246920]:
Attached patch is to change dln.c behavior not to use load() but dlopen()
for AIX. This seemed to work in my environment.

I eventually found this thread.
- DLDFLAGS='-Wl,-G -eInit_$(TARGET)'
- LDFLAGS='-Wl,-brtl -Wl,-bE:ruby.imp'
+ DLDFLAGS="${DLDFLAGS} -Wl,-G -Wl,-bnoentry -Wl,-bexpall"
+ LDFLAGS="${LDFLAGS} -Wl,-brtl -Wl,-bE:ruby.imp"

I don't know about -bnoentry and -bexpall options, are they
preferable?
-#if defined(_AIX) && ! defined(_IA64)
-static void
-aix_loaderror(const char *pathname)

Do all AIX versions support dlopen()? If not, these probably
should not be removed but be changed the condition.
 
Y

Yutaka Kanemoto

Hi,

Thank you very much for catching this thread.
I don't know about -bnoentry and -bexpall options, are they
preferable?
To follow existing code which uses dlopen(), I omitted -e option.
Then, these options are used to supress some error message.
Do all AIX versions support dlopen()? If not, these probably
should not be removed but be changed the condition.
I have AIX 4.3.3 machine which is oldest in my test environment,
and it actually has dlopen(), but I think the older version AIX
would not have dlopen() (or broken?). I had prioritized the current
supported versions as matz said ( see [ruby-dev:29154]). I should
have been more carefully to support old versions.

Please give me some time to make another patch? I have noticed
the linker_flag variable you made. I will make new patch against
ruby_1_8 branch or trunk. Since I will test on various AIX versions,
it will take a little...

Thanks and best regards,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,742
Latest member
AshliMayer

Latest Threads

Top