Hi everyone,
I am trying to compile Octave-3.6.2 but the link to packages from
SuitSPARSE always give an error like this:
ld: /myhome/appl/lib/libcholmod.a(cholmod_common.o): relocation
R_X86_64_32S against `malloc' can not be used when making a shared
object; recompile with -fPIC
/myhome/appl/lib/libcholmod.a: could not read symbols: Bad value
Here /myhome/ is the path to my $HOME. As I was trying to fix it,
similar messages happen for other packages from SuiteSPARSE: colamd,
ccolamd, umfpack, etc.
The thing is, I have added the option -fPIC to CFLAGS, the config option
for each package (CHOLMOD_CONFIG, UMFPACK_CONFIG, etc.), and anywhere I
can add such an option to, in the SuiteSparse_config.mk file. I have
tried to make SuitSparse package several times from a clean start and
installed to /myhome/appl, with no error or warning. But when I tried
to make octave, the same error message happens, some times for cholmod,
or colamd, or umfpack, etc.
The operation system is CentOS5.5. I use Intel compiler for both octave
and suitesparse. Octave is configured with
./configure --prefix=/myhome/appl --with-blas="(intel blas options)"
--with-lapack="(intel lapack options" --with-umfpack="-lumfpack
-lSuiteSparse" --with-umfpack-includedir=/myhome/appl/include
--with-umfpack-libdir=/myhome/appl/lib ...(the same to add include and
lib paths for other suitesparse packages).
Any suggestions? Thanks a lot!
Jingjing Li