On 4/16/07, nobu / ruby-lang.org <nobu / ruby-lang.org> wrote: > Hi, > > At Tue, 17 Apr 2007 00:32:51 +0900, > Michal Suchanek wrote in [ruby-core:10933]: > > I tried building with LDFLAGS=-L/sw/lib which is the standard > > way to build a package with libraries outside of system > > library locations. > > > > There is apparently already a libruby_static in there because > > the build has failed on an undefined symbol which was defined > > in ./libruby_static.a > > > > I modified the Makefile so that it puts XLDFLAGS before > > LDFLAGS. That way I get -L. -L/sw/lib and the build > > works. However, if XLDFLAGS contained some linker options > > meant to override options in LDFLAGS it would not work this > > way. > > Do you consider that -L. always should take precedence to other > linker flags? > Yes. And this should also apply to extensions. The mkmf tests are now fine but the extension is linked with -L/sw/lib before -L../.. Test: "gcc -o conftest -I../.. -I../../. -I../.././ext/gdbm -I/sw/include -g -O2 -pipe -fno-common conftest.c -L"../.." -L. -L/sw/lib -lruby-static -lgdbm -ldl -lobjc " Extension build: gcc -I. -I../.. -I../../. -I../.././ext/gdbm -DHAVE_GDBM_H -I/sw/include -fno-common -g -O2 -pipe -fno-common -c gdbm.c cc -dynamic -bundle -undefined suppress -flat_namespace -L. -L/sw/lib -L"../.." -o ../../.ext/i686-darwin8.9.1/gdbm.bundle gdbm.o -lgdbm -ldl -lobjc It looks like the ruby library is not used anyway. However, I am not sure this applies to all platforms. Thanks Michal