Erik Veenstra
4/5/2005 8:13:00 AM
> I have created an executable for a simple program (puts
> "Hello") on linux which has libc-2.3.3.so and when I tried to
> run in on a machine which has libc-2.2.4.so, I get following
> error:
>
> /tmp/eee.481/bin/ruby: /lib/i686/libc.so.6: version
> `GLIBC_2.3' not found (required by
> /tmp/eee.481/bin/libruby.so.1.8)
>
> Is there any workaround to this problem or is there any way I
> can include libc and its dependency with exe?
I don't know, by heart. You could give it a try, if you want.
Just download rubyscript2exe.tar.gz and change this line in
ev/dependencies.rb:
OLD: def ldds(file, notthedefaults=true)
NEW: def ldds(file, notthedefaults=false)
"Compile" your application with: ruby init.rb test.rb
This will copy all dependencies, instead of excluding the files
which are supposed to exist on every Linux system. I can't
predict how the "wrong" libc combines with the kernel. Could be
tricky...
Please let me know the results.
gegroet,
Erik V.
PS: Excluded files are: libX11.so.6, libXt.so.6, libGL.so.1,
libXext.so.6, libICE.so.6, libSM.so.6, libdl.so.2,
libcrypt.so.1, libz.so.1, libncurses.so.5, libutil.so.1,
libpthread.so.0, libpam.so.0, libgcc_s.so.1, libm.so.6,
libdl.so.2, libcrypt.so.1, libc.so.6, libpthread.so.0 and
ld-lsb.so.1.