help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: compile error in octave 3.2.4


From: Luke M
Subject: RE: compile error in octave 3.2.4
Date: Mon, 14 Mar 2011 11:03:39 -0700 (PDT)

Li, Ji (2) wrote:
> 
>> I am trying to install Octave-3.2.4 on SUSE Linux version 10, 64 bit,
>> and I have Mkl 11.1.0.073 installed. When I compile, I got the
>> following error. Do I need to install other libraries? Thanks
>> 
>> g++ -g -O2 -o gendoc gendoc.cc -L/app/local/pkgs/gcc/4.3.3/lib
>> -L/app/local/pkgs/mkl/11.1.0.073/lib/em64t
>> -L/app/local/pkgs/readline/5.2/Linux/x86_64/lib
>> /usr/bin/ld: skipping incompatible
>> /app/local/pkgs/gcc/4.3.3/lib/libstdc++.so when searching for -lstdc++
>> /usr/bin/ld: skipping incompatible
>> /app/local/pkgs/gcc/4.3.3/lib/libstdc++.a when searching for -lstdc++
>> /usr/bin/ld: skipping incompatible
>> /app/local/pkgs/gcc/4.3.3/lib/libgcc_s.so when searching for -lgcc_s
>> /usr/bin/ld: skipping incompatible
>> /app/local/pkgs/gcc/4.3.3/lib/libgcc_s.so when searching for -lgcc_s
>> making DOCSTRINGS
>> ./gendoc: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
>> (required by ./gendoc)
>> make[2]: *** [DOCSTRINGS] Error 1
> 
> By the way, I tried to use --disable-docs, but no use either. Here is my
> config arguments. Thanks a lot!
> 
> ./configure --with-blas="-Wl,--start-group -lmkl_intel_lp64
> -lmkl_sequential -lmkl_core -Wl,--end-group -liomp5 -lpthread"
> --with-lapack="-Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential
> -lmkl_core -Wl,--end-group -liomp5 -lpthread" LDFLAGS="
> -L/app/local/pkgs/gcc/4.3.3/lib
> -L/app/local/pkgs/mkl/11.1.0.073/lib/em64t
> -L/app/local/pkgs/readline/5.2/Linux/x86_64/lib"
> --prefix=/app/local/pkgs/octave/3.2.4 --disable-docs
> 

When you build gcc, I believe by default it installs 32-bit versions
alongside your 64-bit versions.  There might be a directory called something
like /app/local/pkgs/gcc/4.3.3/lib64 where it keeps the 64-bit libraries. 
Dig around and figure out where those 64-bit shared libraries are, because I
have a feeling that /app/local/pkgs/gcc/4.3.3/lib/libstdc++.so is 32-bit.

Also, if you installed a newer gcc without removing the old one, then
libtool is your new worst enemy.  It will happily ignore your
LD_LIBRARY_PATH settings because the libtool developers feel that using it
is not secure and not as cross-platform-friendly.  If the first step doesn't
work, then, "fix" libtool by disabling the option to hard-code library
paths.  Open up libtool (it's just a shell script) and change the
"hardcode_libdir_flag_spec" line to this:

hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "

I spent a week or so trying to get libtool to do what I want to finish my
build of Octave, so I'm not entirely sure that's the only change needed, or
exactly when to do it.  Probably the best time is after the configure step. 
If it's still trying to use /usr/lib64/libstdc++.so then come back and I may
have some other hacks to try.

--
View this message in context: 
http://octave.1599824.n4.nabble.com/compile-error-in-octave-3-2-4-tp3347192p3354556.html
Sent from the Octave - General mailing list archive at Nabble.com.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]