I am trying to install "TAUCS" (http://www.tau.ac.il/~stoledo/taucs/) library. However, I am getting following error:
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
/usr/bin/ld: cannot find -lmetis
/usr/bin/ld: cannot find -lg2c
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)
cc -c -O3 -Wall -Werror -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>
^
more errors follow.
I think that this error arises as I already use gcc which uses gfortran instead of g77.
1) I could get the old file by doing this:
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/libg2c0_3.4.6-6ubuntu5_i386.deb
sudo dpkg -i --force-all libg2c0_3.4.6-6ubuntu5_i386.deb
This created following files in /usr/lib/
libg2c.so.0
libg2c.so.0.0.0
2) After that, I found online link which suggests to create soft link, like this:
cd /usr/lib
ln -s libg2c.so.0 libg2c.so
I guess that I have include this along with
CILKC=$(CC)
So, I commented out this line and added soft link.
But, I get the following error:
build/linux/makefile:11: *** commands commence before first target. Stop.
Some guidance would be appreciated?
Update based on @steeldriver answer: After I did as suggested by aforementioned user, everything complied fine. But, I am getting some warnings which I am VERY concerned about.
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/libcblas.a when searching for -lcblas
....
/usr/bin/ld: skipping incompatible external/lib/linux/libatlas.a when searching for -latlas
....
/usr/bin/ld: skipping incompatible external/lib/linux/libmetis.a when searching for -lmetis
I think that issue could be that these library may be 64 bits vs 32 bits. Is it possible to have both versions of libraries? I could put less frequent in /usr/local/lib. How could I ensure that a particular versions of libraries are linked in makefile?
ld
would complain and wouldn't build the executables) you should be OK. OTOH the reason I usedtaucs_full
is I couldn't identify the correctmetis
library: if you havelibmetis
on your system, I suggest trying again using the version without the external libs but otherwise following the same steps. – steeldriver Jan 22 '15 at 13:18