What is eaccess()? Trying to compile ruby from the factory
I've previously downloaded and compiled ruby 1.8.3 from the factory on a SUSE 10.0 machine. On the same machine, I just tried to do the same with Ruby 1.8.4 I'm getting compile errors. gcc main.o libruby-static.a -ldl -lcrypt -lm -o miniruby -O2 -g -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing -fPIC -DRUBY_EXPORT -rdynamic -Wl,-export-dynamic libruby-static.a(file.o): In function `test_r': /usr/src/packages/BUILD/ruby-1.8.4/file.c:1125: undefined reference to `eaccess' libruby-static.a(file.o): In function `test_w': /usr/src/packages/BUILD/ruby-1.8.4/file.c:1160: undefined reference to `eaccess' libruby-static.a(file.o): In function `test_x': /usr/src/packages/BUILD/ruby-1.8.4/file.c:1194: undefined reference to `eaccess' libruby-static.a(dln.o): In function `dln_find_1': /usr/src/packages/BUILD/ruby-1.8.4/dln.c:1814: undefined reference to `eaccess' I'm comfortable with compiling C code, but I don't think I've ever heard of eaccess. Any ideas on how I can go forward. Thanks Greg -- Greg Freemyer The Norcross Group Forensics for the 21st Century
On Tue, 2006-04-04 at 15:36 -0400, Greg Freemyer wrote:
I'm comfortable with compiling C code, but I don't think I've ever heard of eaccess.
It's a actually procedure in libc.so.6 in glibc 2.4, but it is also a procedure in ruby. Defined in file.c. So something must be going wrong with the way you are compiling, or at least linking, it
I found that the factory src.rpm was applying a patch to the basic source that was causing the problem. Without the patch to the ruby source, the compile/install went fine. == For anyone following behind me: I downloaded the src.rpm from http://mirrors.kernel.org/opensuse/distribution/SL-OSS-factory/inst-source/s... Then I installed it with rpm -i ruby-1.8.4-9.src.rpm Then I went to /usr/src/packages/SPECS and applied the below simple patch # diff ruby.spec.orig ruby.spec 28d27 < Patch2: ruby-1.8.4-no-eaccess.diff 181d179 < %patch2 I then compiled up the rpm rpmbuild -bb ruby.spec I then went to the RPMS/i586 directory and installed the rpms. HTH Greg On 4/4/06, Greg Freemyer <greg.freemyer@gmail.com> wrote:
I've previously downloaded and compiled ruby 1.8.3 from the factory on a SUSE 10.0 machine.
On the same machine, I just tried to do the same with Ruby 1.8.4
I'm getting compile errors.
gcc main.o libruby-static.a -ldl -lcrypt -lm -o miniruby -O2 -g -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing -fPIC -DRUBY_EXPORT -rdynamic -Wl,-export-dynamic libruby-static.a(file.o): In function `test_r': /usr/src/packages/BUILD/ruby-1.8.4/file.c:1125: undefined reference to `eaccess' libruby-static.a(file.o): In function `test_w': /usr/src/packages/BUILD/ruby-1.8.4/file.c:1160: undefined reference to `eaccess' libruby-static.a(file.o): In function `test_x': /usr/src/packages/BUILD/ruby-1.8.4/file.c:1194: undefined reference to `eaccess' libruby-static.a(dln.o): In function `dln_find_1': /usr/src/packages/BUILD/ruby-1.8.4/dln.c:1814: undefined reference to `eaccess'
I'm comfortable with compiling C code, but I don't think I've ever heard of eaccess.
Any ideas on how I can go forward.
Thanks Greg -- Greg Freemyer The Norcross Group Forensics for the 21st Century
-- Greg Freemyer The Norcross Group Forensics for the 21st Century
participants (2)
-
Anders Johansson
-
Greg Freemyer