linking to library in /usr/lib/

Samuel Verstraete samuel.verstraete@gmail.com
Wed Feb 21 08:45:00 GMT 2007


Hi,

This is a bit of a weird problem for me as afaik it doesn't make
sense... 
I have this small library to do some mathematical stuff, called GSlib.
Due to having a libgs.so lib on my system already i named it libggs.

< Begin Makefile>
LIBGS = libggs.a
SRCS = acorni.f backtr.f beyond.f blue.f chknam.f chktitle.f cova3.f \
        dlocate.f dpowint.f dsortem.f gauinv.f gcum.f getindx.f getz.f \
        green.f hexa.f ksol.f ktsol.f locate.f nscore.f numtext.f \
        ordrel.f picksupr.f powint.f psfill.f psline.f pstext.f rand.f \
        red.f resc.f scal.f setrot.f setsupr.f sortem.f sqdist.f \
        srchsupr.f strlen.f srchsuprsisim.f
OBJS = $(SRCS:.f=.o)

LIBDIR = /usr/lib

FFLAGS = -c -O3 -fdefault-integer-8 -fcaller-saves -malign-double
-funsafe-math-optimizations -fstrength-reduce -fexpensive-optimizations
-funroll-loops -fomit-frame-pointer -march=k8 -msse -msse2 -m3dnow
-mmmx 

all: $(LIBGS)

$(LIBGS): $(OBJS)
        /usr/bin/ar -q $@ $(OBJS)
        /usr/bin/ar -ts $@

.f.o:
        gfortran $(FFLAGS) $*.f

install:
        install -s -m 644 $(LIBGS) $(LIBDIR)

clean:
        /bin/rm -rf $(OBJS) $(LIBGS) core
</end Makefile>

This has always worked with g77 from the old gcc3 tree.

I could link my programs to this library in /usr/lib with the simple:
g77 program.f -o program -lggs

Now, after upgrading to gcc4 (and gfortran) i can no longer use this
command. It simply doesn't find the library anymore... After fiddling
around a bit with ldconfig and stuff like that, all to no avail... i
tried to *POINT* to the library very clearly.... so:
gfortran program.f -o program.o -lggs -L/usr/lib

nothing... still no library found.... A twist of faith let me tried the
following command:
gfortran program.f -o program.o -lggs -L/home/samuel/gslib/gslib
(that's where the library was originally created.)
Confusingly this works just fine...
So i checked permissions.... everything exactly the same....

To make sure this wasn't some flakey installation (box has been running
like this for 3 years without reinstallation so i guess i gathered some
mess already) i tried this on a freshly installed Ubuntu box...
*exactly* the same result....

thnx for reading this... and a bigger thnx if you can solve this for
me :)

gr,S.



More information about the Fortran mailing list