1

This question is related to my previous question. I am trying to install the "TAUCS" library

TAUCS is a C library of sparse linear solvers. It has dependency on BLAS, ATLAS, LAPACK, METIS etc.

I followed the solution of @steeldriver and it worked on one of my ubuntu computer, but not on other.

On other computer, I get the following error:

$ sudo make "CC=gcc" "FC=gfortran" "LIBF77=-Wl,-Bstatic -lf2c -Wl,-Bdynamic -lgfortran"
mkdir obj
mkdir obj/linux/
echo exists > obj/linux/exists.log
gcc -c -O3 -Wall  -std=c99    -DMACHTYPE_ -I src/ -I build/linux/ -I external/src/   \
      progs/taucs_blas_underscore_test.c \
      -oobj/linux/taucs_blas_underscore_test.o
gcc   \
      -oobj/linux/taucs_blas_underscore_test \
      obj/linux/taucs_blas_underscore_test.o -L external/lib/linux -llapack -L external/lib/linux -lf77blas -lcblas -latlas -L external/lib/linux -lmetis  -Wl,-Bstatic -lf2c -Wl,-Bdynamic -lgfortran -lm 
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: cannot find -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: cannot find -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: cannot find -lmetis
collect2: error: ld returned 1 exit status
make: [build/linux/taucs_config_tests.h] Error 1 (ignored)
obj/linux/taucs_blas_underscore_test build/linux/taucs_config_tests.h
make: obj/linux/taucs_blas_underscore_test: Command not found
make: [build/linux/taucs_config_tests.h] Error 127 (ignored)
gcc -c -O3 -Wall  -std=c99    -DMACHTYPE_ -I src/ -I build/linux/ -I external/src/   \
      progs/taucs_blas_nounderscore_test.c \
      -oobj/linux/taucs_blas_nounderscore_test.o
gcc   \
      -oobj/linux/taucs_blas_nounderscore_test \
      obj/linux/taucs_blas_nounderscore_test.o -L external/lib/linux -llapack -L external/lib/linux -lf77blas -lcblas -latlas -L external/lib/linux -lmetis  -Wl,-Bstatic -lf2c -Wl,-Bdynamic -lgfortran -lm 
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: cannot find -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: cannot find -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: cannot find -lmetis
collect2: error: ld returned 1 exit status
make: [build/linux/taucs_config_tests.h] Error 1 (ignored)
obj/linux/taucs_blas_nounderscore_test build/linux/taucs_config_tests.h
make: obj/linux/taucs_blas_nounderscore_test: Command not found
make: [build/linux/taucs_config_tests.h] Error 127 (ignored)
gcc -c -O3 -Wall  -std=c99    -DMACHTYPE_ -I src/ -I build/linux/ -I external/src/   \
      progs/taucs_c99_complex_test.c \
      -oobj/linux/taucs_c99_complex_test.o
gcc   \
      -oobj/linux/taucs_c99_complex_test \
      obj/linux/taucs_c99_complex_test.o -L external/lib/linux -llapack -L external/lib/linux -lf77blas -lcblas -latlas -L external/lib/linux -lmetis  -Wl,-Bstatic -lf2c -Wl,-Bdynamic -lgfortran -lm 
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/liblapack.a when searching for -llapack
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libf77blas.a when searching for -lf77blas
/usr/bin/ld: cannot find -lf77blas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libcblas.a when searching for -lcblas
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
/usr/bin/ld: cannot find -latlas
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: cannot find -lmetis
collect2: error: ld returned 1 exit status
make: [build/linux/taucs_config_tests.h] Error 1 (ignored)
obj/linux/taucs_c99_complex_test build/linux/taucs_config_tests.h
make: obj/linux/taucs_c99_complex_test: Command not found
make: [build/linux/taucs_config_tests.h] Error 127 (ignored)
gcc -c -O3 -Wall  -std=c99    -DMACHTYPE_ -I src/ -I build/linux/ -I external/src/   \
      progs/taucs_cilk_test.c \
      -oobj/linux/taucs_cilk_test.o
progs/taucs_cilk_test.c:8:19: fatal error: cilk.h: No such file or directory
 #include <cilk.h> 
                   ^
compilation terminated.
make: [build/linux/taucs_config_tests.h] Error 1 (ignored)
gcc   \
      -oobj/linux/taucs_cilk_test \
      obj/linux/taucs_cilk_test.o -L external/lib/linux -llapack -L external/lib/linux -lf77blas -lcblas -latlas -L external/lib/linux -lmetis  -Wl,-Bstatic -lf2c -Wl,-Bdynamic -lgfortran -lm 
gcc: error: obj/linux/taucs_cilk_test.o: No such file or directory
make: [build/linux/taucs_config_tests.h] Error 1 (ignored)
obj/linux/taucs_cilk_test build/linux/taucs_config_tests.h
make: obj/linux/taucs_cilk_test: Command not found
make: [build/linux/taucs_config_tests.h] Error 127 (ignored)
mkdir bin
mkdir bin/linux/
echo exists > bin/linux/exists.log
mkdir lib
mkdir lib/linux/
echo exists > lib/linux/exists.log
gcc -c -O3 -Wall  -std=c99    -DMACHTYPE_ -I src/ -I build/linux/ -I external/src/   \
    -DTAUCS_CORE_GENERAL \
    src/taucs_sn_llt.c \
    -oobj/linux/taucs_sn_llt.o
In file included from src/taucs_sn_llt.c:13:0:
src/taucs.h:6:32: fatal error: taucs_config_tests.h: No such file or directory
 #include <taucs_config_tests.h>
                                ^
compilation terminated.
make: *** [obj/linux/taucs_sn_llt.o] Error 1

When I look at following location, I find those files:

$cd /home/dkumar/taucs_full/external/lib/linux
$ls
blas_aux.o  CVS  libatlas.a  libcblas.a  libf77blas.a  liblapack.a  libmetis.a

How could I fix this "incompatiable libraries" issue?

4
  • Is the second machine running a 64-bit OS? the TAUCS tarball comes with a bunch of pre-built 32-bit archive libraries: there will be some extra hoops to jump through if you want to build it on a 64-bit platform (either replacing all those libs with 64-bit ones, or adding 32-bit build support to your platform and building the whole thing as a 32-bit application). Mar 30, 2015 at 11:59
  • @steeldriver somehow I missed your comment, my apologies. I added 32 bit support as described: link . Could you please let me know what changes should I make in makefile? Apr 3, 2015 at 10:13
  • Sorry - I tried a bunch of stuff but was unable to get it to build on 64-bit. I don't think the instructions linked in your last comment are sufficient (or, possibly, helpful at all): you'd need at least gcc-multilib and gfortran-multilib, and then add -m32 to the flags for both gcc and gfortran. That eliminates the 'skipping incompatible libraries' errors but other errors still prevent a successful build. Apr 3, 2015 at 12:38
  • your answer in my previous question did allow me to build it on 64 bit linux. But, that was my other computer. I can run it on other linux by just copying "libtaucs.a". Please let me know if you want this file. Apr 3, 2015 at 12:52

1 Answer 1

-1

you have to install binutils package you are missing some binaries

sudo apt-get install binutils -y

5
  • I am still getting the same error. When I tried installing binutils package, I get :the following message $ sudo apt-get install binutils -y [sudo] password for dkumar: Reading package lists... Done Building dependency tree Reading state information... Done binutils is already the newest version. You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: libg2c0:i386 : Depends: gcc-3.4-base:i386 (= 3.4.6-6ubuntu5) but it is not installable E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). Mar 30, 2015 at 9:56
  • ok you have already installed that package some thing is wrong with installation of that package or missing path on installed packages -- try this command "apt-get -f install"
    – PKumar
    Mar 30, 2015 at 10:03
  • I still get the same error. Possibly, there is something wrong about libg2c0:i386 : Depends: gcc-3.4-base:i386 (= 3.4.6-6ubuntu5) but it is not installable Mar 30, 2015 at 10:10
  • can you reomve packages and reinstall them again ?
    – PKumar
    Mar 30, 2015 at 10:12
  • It seems that I will get into larger trouble as following would be removed: The following packages would be removed: network-manager-pptp-gnome, libg2c0:i386, gcc-4.8-multilib, dkms, hardening-includes, virtualbox-guest-dkms, gcc-multilib, gfortran-4.8, pptp-linux, gcc, playonlinux, lintian, gfortran, gcc-4.8, network-manager-pptp Mar 30, 2015 at 10:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .