* [gentoo-science] liblapack.so.3 not found
@ 2008-01-25 16:58 Alexandre Racine
2008-01-25 20:16 ` Honza Macháček
0 siblings, 1 reply; 5+ messages in thread
From: Alexandre Racine @ 2008-01-25 16:58 UTC (permalink / raw
To: gentoo-science
[-- Attachment #1: Type: text/plain, Size: 2611 bytes --]
Hi all,
I am trying to install EIGENSOFT version 2.0 BETA (http://genepath.med.harvard.edu/~reich/Software.htm). The software comes with binairies, fair enough. That's the easy part.
Running one of the program "smartpca" it will say :
$ ./smartpca
./smartpca: error while loading shared libraries: liblapack.so.3: cannot open shared object file: No such file or directory
So I installed lapack-atlas (3.8) that actually install liblapack.so.0 and much more.
emerge lapack-atlas
Looking at the folders, I can see liblapack.so.0, like so:
# ls -lh /usr/lib/liblap*
lrwxrwxrwx 1 root root 24 Jan 23 16:09 /usr/lib/liblapack.a -> lapack/atlas/liblapack.a
lrwxrwxrwx 1 root root 25 Jan 23 16:09 /usr/lib/liblapack.so -> lapack/atlas/liblapack.so
lrwxrwxrwx 1 root root 27 Jan 23 16:09 /usr/lib/liblapack.so.0 -> lapack/atlas/liblapack.so.0
Just like any good technician, I make a link.
# ls -lh /usr/lib/liblap*
lrwxrwxrwx 1 root root 24 Jan 23 16:09 /usr/lib/liblapack.a -> lapack/atlas/liblapack.a
lrwxrwxrwx 1 root root 25 Jan 23 16:09 /usr/lib/liblapack.so -> lapack/atlas/liblapack.so
lrwxrwxrwx 1 root root 27 Jan 23 16:09 /usr/lib/liblapack.so.0 -> lapack/atlas/liblapack.so.0
# ls -lh /usr/lib/lapack/atlas/liblapack.*
-rw-r--r-- 1 root root 5.8M Jan 23 16:09 /usr/lib/lapack/atlas/liblapack.a
-rw-r--r-- 1 root root 910 Jan 23 16:09 /usr/lib/lapack/atlas/liblapack.la
lrwxrwxrwx 1 root root 18 Jan 23 16:09 /usr/lib/lapack/atlas/liblapack.so -> liblapack.so.0.0.0
lrwxrwxrwx 1 root root 18 Jan 23 16:09 /usr/lib/lapack/atlas/liblapack.so.0 -> liblapack.so.0.0.0
-rwxr-xr-x 1 root root 4.2M Jan 23 16:09 /usr/lib/lapack/atlas/liblapack.so.0.0.0
# ln -s /usr/lib/lapack/atlas/liblapack.so.0.0.0 /usr/lib/liblapack.so.3
I just look at the files if everything is there.
# ls -lh /usr/lib/liblap*
lrwxrwxrwx 1 root root 24 Jan 23 16:09 /usr/lib/liblapack.a -> lapack/atlas/liblapack.a
lrwxrwxrwx 1 root root 25 Jan 23 16:09 /usr/lib/liblapack.so -> lapack/atlas/liblapack.so
lrwxrwxrwx 1 root root 27 Jan 23 16:09 /usr/lib/liblapack.so.0 -> lapack/atlas/liblapack.so.0
lrwxrwxrwx 1 root root 36 Jan 25 10:10 /usr/lib/liblapack.so.3 -> /usr/lib/lapack/atlas/liblapack.so.0.0.0
Starting the program again, I get this:
$ ./smartpca
./smartpca: error while loading shared libraries: liblapack.so.3: cannot open shared object file: No such file or directory
Why is it saying that the file is not there even if it is? Is there something wrong in my methodology?
Thanks.
Alexandre Racine
514-461-1300 poste 3304
alexandre.racine@mhicc.org
[-- Attachment #2: Type: text/html, Size: 3345 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-science] liblapack.so.3 not found
2008-01-25 16:58 [gentoo-science] liblapack.so.3 not found Alexandre Racine
@ 2008-01-25 20:16 ` Honza Macháček
2008-01-25 21:01 ` Alexandre Racine
0 siblings, 1 reply; 5+ messages in thread
From: Honza Macháček @ 2008-01-25 20:16 UTC (permalink / raw
To: gentoo-science
[-- Attachment #1: Type: text/plain, Size: 1620 bytes --]
Alexandre Racine wrote:
> ...
> lrwxrwxrwx 1 root root 36 Jan 25 10:10 /usr/lib/liblapack.so.3 ->
> /usr/lib/lapack/atlas/liblapack.so.0.0.0
>
> Starting the program again, I get this:
>
> $ ./smartpca
> ./smartpca: error while loading shared libraries: liblapack.so.3: cannot
> open shared object file: No such file or directory
Are you sure it does exactly that?
I cannot reproduce it. Whether I link /usr/lib/liblapack.so.3 to
/usr/lib/liblapack.so.0 or directly to
/usr/lib/lapack/atlas/liblapack.so.0.0.0 as you did, I get libblas.so.3,
not liblapack.so.3 not found. After linking /usr/lib/libblas.so.3 to
/usr/lib/libblas.so.0 I start smartpca without problem:
> ./smartpca
./smartpca: error while loading shared libraries: liblapack.so.3: cannot
open shared object file: No such file or directory
> sudo ln -s /usr/lib/liblapack.so.0 /usr/lib/liblapack.so.3
> ./smartpca
./smartpca: error while loading shared libraries: libblas.so.3: cannot
open shared object file: No such file or directory
> sudo ln -s /usr/lib/libblas.so.0 /usr/lib/libblas.so.3
> ./smartpca
no parameters
## smartpca version: 7521
You can avoid such ugly symbolic links, if you compile the sources.
With the help of `pkg-config --libs lapack` I adapted Makefile.alt to
the attached Makefile.gcc4 and compiled the sources:
> make -f Makefile.gcc4 all
For now I don't feel like to pay those extra ten to sixty minutes to
write something like a first version of an ebuild, but I thing that it
might be quite straitforward.
With best regards
Honza Macháček
[-- Attachment #2: Makefile.gcc4 --]
[-- Type: text/plain, Size: 2787 bytes --]
HOMEL=$(PWD)
DEBUG_OPTIONS= -g -pg
BIN=$(HOMEL)/bin
# "make smartpca" to make smartpca program (ditto for other programs)
# "mv smartpca ../bin" or "make install" to place in ../bin directory
# "make clean" to clean up extra files in this directory
# "make clobber" to clobber all files and subdirectories except source files
# so as to enable recompiling from scratch.
NLIB=$(HOMEL)/smartlib/nicklib.a
IDIR=$(HOMEL)/smartinclude
VPATH=.:nicksrc
BLAS = blas
# may need to change to BLAS = blas-3 (depends on blas/lapack installation)
CC=/usr/bin/gcc
FF=/usr/bin/gfortran
CFLAGS= -c -O -I$(IDIR) -Wimplicit
LAPACK_LIBS=-llapack -lblas -lcblas -latlas
eigx.o: eigx.f
$(FF) -c -o eigx.o eigx.f
statsubs.o: nicksrc/statsubs.c
$(CC) $(CFLAGS) -DTWTAB=$(TWTAB) -o statsubs.o nicksrc/statsubs.c
OBJ=strsubs.o sortit.o vsubs.o statsubs.o linsubs.o getpars.o xsearch.o gauss.o gds.o
TWTAB=\"$(HOMEL)/smarttables/twtable\"
M1=smartpca
M1O=smartpca.o twsubs.o mcio.o admutils.o egsubs.o eigsubs.o eigx.o
M2=convertf
M2O=convertf.o mcio.o admutils.o
M3=twstats
M3O=twstats.o
M4=eigenstrat
M4O=eigenstrat.o
M5=eigenstratQTL
M5O=eigenstratQTL.o
M6=pca
M6O=pca.o eigsubs.o eigx.o
M7=pcatoy
M7O=pcatoy.o eigsubs.o eigx.o
PROGS= smartpca convertf twstats eigenstrat eigenstratQTL pca
all: nicklib $(PROGS)
install: all
cp $(PROGS) $(HOMEL)/bin
uninstall:
rm -f $(BIN)/smartpca
rm -f $(BIN)/convertf
rm -f $(BIN)/twstats
rm -f $(BIN)/eigenstrat
rm -f $(BIN)/eigenstratQTL
rm -f $(BIN)/pca
rm -f $(NLIB)/libnick.a
$(M1): nicklib $(M1O)
gcc -O -I$(IDIR) $(DEBUG_OPTIONS) -L/usr/lib -lm $(LAPACK_LIBS) -o $(M1) $(M1O) $(NLIB) -Wimplicit
$(M2): nicklib $(M2O)
gcc -O -I$(IDIR) $(DEBUG_OPTIONS) -lm -o $(M2) $(M2O) $(NLIB) -Wimplicit
$(M3): nicklib $(M3O)
gcc -O -I$(IDIR) $(DEBUG_OPTIONS) -lm -o $(M3) $(M3O) $(NLIB) -Wimplicit
$(M4): nicklib $(M4O)
gcc -O -I$(IDIR) $(DEBUG_OPTIONS) -lm -o $(M4) $(M4O) $(NLIB) -Wimplicit
$(M5): nicklib $(M5O)
gcc -O -I$(IDIR) $(DEBUG_OPTIONS) -lm -o $(M5) $(M5O) $(NLIB) -Wimplicit
$(M6): nicklib $(M6O)
gcc -O -I$(IDIR) $(DEBUG_OPTIONS) -L/usr/lib -lm $(LAPACK_LIBS) -o $(M6) $(M6O) $(NLIB) -Wimplicit
$(M7): nicklib $(M7O)
gcc -O -I$(IDIR) $(DEBUG_OPTIONS) -L/usr/lib -lm $(LAPACK_LIBS) -o $(M7) $(M7O) $(NLIB) -Wimplicit
libnick.a: dirs $(OBJ)
ar -r libnick.a $(OBJ)
nicklib: dirs libnick.a
cp libnick.a $(NLIB)
dirs:
mkdir -p $(HOMEL)/smartlib
mkdir -p $(HOMEL)/smarttables
mkdir -p $(HOMEL)/smartinclude
mkdir -p $(BIN)
cp twtable $(HOMEL)/smarttables
cp nicksrc/*.h $(IDIR)
clean:
rm -f *.o
rm -f core
rm -f libnick.a
rm -f $(PROGS)
clobber: clean rmdirs uninstall
rmdirs:
rm -rf $(HOMEL)/smartlib
rm -rf $(HOMEL)/smarttables
rm -rf $(HOMEL)/smartinclude
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [gentoo-science] liblapack.so.3 not found
2008-01-25 20:16 ` Honza Macháček
@ 2008-01-25 21:01 ` Alexandre Racine
2008-01-25 21:26 ` Honza Macháček
0 siblings, 1 reply; 5+ messages in thread
From: Alexandre Racine @ 2008-01-25 21:01 UTC (permalink / raw
To: gentoo-science
[-- Attachment #1: Type: text/plain, Size: 2287 bytes --]
Hi,
I think I have found something. Doing exactly what I did on a 32bit machine works. But on my 64bit server, it does exactly the errors written below. Do you have a 32 or 64 machine? Oh and I don't know if the link can affect that...
$ ls -lh /usr/
[...]
lrwxrwxrwx 1 root root 5 Jan 9 05:15 lib -> lib64
drwxr-xr-x 17 root root 19K Jan 11 11:05 lib32
drwxr-xr-x 102 root root 62K Jan 25 15:55 lib64
Thanks.
-----Original Message-----
From: Honza Machácek [mailto:Hloupy.Honza@centrum.cz]
Sent: Fri 2008-01-25 15:16
To: gentoo-science@lists.gentoo.org
Subject: Re: [gentoo-science] liblapack.so.3 not found
Alexandre Racine wrote:
> ...
> lrwxrwxrwx 1 root root 36 Jan 25 10:10 /usr/lib/liblapack.so.3 ->
> /usr/lib/lapack/atlas/liblapack.so.0.0.0
>
> Starting the program again, I get this:
>
> $ ./smartpca
> ./smartpca: error while loading shared libraries: liblapack.so.3: cannot
> open shared object file: No such file or directory
Are you sure it does exactly that?
I cannot reproduce it. Whether I link /usr/lib/liblapack.so.3 to
/usr/lib/liblapack.so.0 or directly to
/usr/lib/lapack/atlas/liblapack.so.0.0.0 as you did, I get libblas.so.3,
not liblapack.so.3 not found. After linking /usr/lib/libblas.so.3 to
/usr/lib/libblas.so.0 I start smartpca without problem:
> ./smartpca
./smartpca: error while loading shared libraries: liblapack.so.3: cannot
open shared object file: No such file or directory
> sudo ln -s /usr/lib/liblapack.so.0 /usr/lib/liblapack.so.3
> ./smartpca
./smartpca: error while loading shared libraries: libblas.so.3: cannot
open shared object file: No such file or directory
> sudo ln -s /usr/lib/libblas.so.0 /usr/lib/libblas.so.3
> ./smartpca
no parameters
## smartpca version: 7521
You can avoid such ugly symbolic links, if you compile the sources.
With the help of `pkg-config --libs lapack` I adapted Makefile.alt to
the attached Makefile.gcc4 and compiled the sources:
> make -f Makefile.gcc4 all
For now I don't feel like to pay those extra ten to sixty minutes to
write something like a first version of an ebuild, but I thing that it
might be quite straitforward.
With best regards
Honza Machácek
[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 3607 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-science] liblapack.so.3 not found
2008-01-25 21:01 ` Alexandre Racine
@ 2008-01-25 21:26 ` Honza Macháček
2008-01-28 16:08 ` Alexandre Racine
0 siblings, 1 reply; 5+ messages in thread
From: Honza Macháček @ 2008-01-25 21:26 UTC (permalink / raw
To: gentoo-science
Alexandre Racine wrote:
> I think I have found something. Doing exactly what I did on a 32bit
> machine works. But on my 64bit server, it does exactly the errors
> written below. Do you have a 32 or 64 machine? Oh and I don't know if
> the link can affect that...
First I have tried my 32 bit notebook. The binaries are undoubtedly
compiled for 32 bit architecture, so you will have hard time trying to
run them on 64 bits. As you can verify by strace, on a 64 bit machine
the EIGENSOFT binaries look for the lapack and blas libraries at
/usr/lib32 -- and you have to have some version of blas and lapack
compiled in 32 bit mode there.
Easier than getting all the required 32 bit compatibility libraries
is to compile the sources. Luckily I have 64 bit machine too, so I have
verified that the compilation works there.
Use my Makefile.gcc4. Firs delete all the precompiled 32 bit g77
object files:
> make -f Makefile.gcc4 clean
Then compile and link the sources:
> make -f Makefile.gcc4 all
I got several warnings but no error, and the resulting binaries seem to
work:
> ./smartpca
no parameters
## smartpca version: 7521
With best regards
Honza Macháček
--
gentoo-science@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [gentoo-science] liblapack.so.3 not found
2008-01-25 21:26 ` Honza Macháček
@ 2008-01-28 16:08 ` Alexandre Racine
0 siblings, 0 replies; 5+ messages in thread
From: Alexandre Racine @ 2008-01-28 16:08 UTC (permalink / raw
To: gentoo-science
[-- Attachment #1: Type: text/plain, Size: 1655 bytes --]
I just changed the FF to FF=gfortran in the Makefile.gcc4 and now eigensoft works. Thanks!
Alexandre Racine
514-461-1300 poste 3304
alexandre.racine@mhicc.org
-----Original Message-----
From: Honza Machácek [mailto:Hloupy.Honza@centrum.cz]
Sent: Fri 2008-01-25 16:26
To: gentoo-science@lists.gentoo.org
Subject: Re: [gentoo-science] liblapack.so.3 not found
Alexandre Racine wrote:
> I think I have found something. Doing exactly what I did on a 32bit
> machine works. But on my 64bit server, it does exactly the errors
> written below. Do you have a 32 or 64 machine? Oh and I don't know if
> the link can affect that...
First I have tried my 32 bit notebook. The binaries are undoubtedly
compiled for 32 bit architecture, so you will have hard time trying to
run them on 64 bits. As you can verify by strace, on a 64 bit machine
the EIGENSOFT binaries look for the lapack and blas libraries at
/usr/lib32 -- and you have to have some version of blas and lapack
compiled in 32 bit mode there.
Easier than getting all the required 32 bit compatibility libraries
is to compile the sources. Luckily I have 64 bit machine too, so I have
verified that the compilation works there.
Use my Makefile.gcc4. Firs delete all the precompiled 32 bit g77
object files:
> make -f Makefile.gcc4 clean
Then compile and link the sources:
> make -f Makefile.gcc4 all
I got several warnings but no error, and the resulting binaries seem to
work:
> ./smartpca
no parameters
## smartpca version: 7521
With best regards
Honza Machácek
--
gentoo-science@lists.gentoo.org mailing list
[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 3527 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-01-28 16:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-25 16:58 [gentoo-science] liblapack.so.3 not found Alexandre Racine
2008-01-25 20:16 ` Honza Macháček
2008-01-25 21:01 ` Alexandre Racine
2008-01-25 21:26 ` Honza Macháček
2008-01-28 16:08 ` Alexandre Racine
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox