Sun 28 Aug 2011 02:18:54 PM UTC, original submission:
I don't know whether what I'm reporting here is because I'm missing something or it's actually a bug. Any help is appreciated.
I'm compiling Octave-3.4.2 on one of my company's servers which runs Redhat 5. It's a Dell 2-core Xeon machine.
Doing cat /proc/version yields:
Linux version 2.6.18-194.11.1.el5 (mockbuild@hs20-bc2-3.build.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Tue Jul 27 05:45:06 EDT 2010
I'm using gcc-4.6.1 for the gcc, g++ and gfortran compilers. I know that a number of gcc related libraries (like glibc) are whatever comes with Redhat 5, but I don't know if these rather old libraries are compatible with gcc-4.6.1 .
To get Octave to configure, I had to install ncurses-5.9, readline-6.2, pcre-8.12, lapack-3.3.1 and the BLAS libraries with atlas3.8.4 . The lapack and BLAS that is available in rpm's from Redhat seem to be incompatible with octave-3.4.2 because they have libgfortran.so.1 whereas this latest Octave seems to want libgfortran.so.3 , and that's what gcc-4.6.1 produces.
I'm not the system administrator, so I'm installing everything in my own directory structure. Since I'm relatively new to compiling GNU stuff, all this is not terribly well organized, so please bear with me. I've done a lot of experimenting to get to the point where configure runs all the way through.
Configure script:
./configure --prefix=/home/afbacher/GCC/Octave/install --with-pic --enable-readline --enable-shared --enable-dl --enable-extra-warning-flags --enable-strict-warning-flags --without-opengl --without-glpk --with-blas="-lcblas -lf77blas -latlas" --with-lapack="-llapack" CXX=/home/afbacher/GCC/GCC_2_4.6.1/install/bin/c++-4.6.1 CC=/home/afbacher/GCC/GCC_2_4.6.1/install/bin/gcc-4.6.1 CPP=/home/afbacher/GCC/GCC_2_4.6.1/install/bin/cpp-4.6.1 CPPFLAGS="-I/home/afbacher/GCC/PCRE/install/include -I/home/afbacher/GCC/Octave/install/include" F77=/home/afbacher/GCC/GCC_2_4.6.1/install/bin/gfortran-4.6.1 LDFLAGS="-L/home/afbacher/GCC/GCC_2_4.6.1/install/lib64 -L/home/afbacher/GCC/GCC_2_4.6.1/install/lib -L/home/afbacher/GCC/LAPACK/ATLAS3.8.4/install/lib -L/home/afbacher/GCC/Octave/install/lib"
Relevant environmental variables (for brevity I cut out ones that I'm certain have nothing to do with this compilation):
PATH=/bin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/home/afbacher/bin:/home/afbacher/GCC/GCC_2_4.6.1/install/bin:/home/afbacher/GCC/Octave/install/bin:/usr/contrib/bin:/usr/local/bin:/usr/bin/X11
LD_LIBRARY_PATH=/home/afbacher/GCC/GCC_2_4.6.1/install/lib64:/home/afbacher/GCC/GCC_2_4.6.1/install/lib:/home/afbacher/GCC/LAPACK/ATLAS3.8.4/install/lib:/home/afbacher/GCC/Octave/install/lib:/lib
Here's the error message I get after make:
From this it appears that liboctave.so is getting built ok, but something is wrong. The following
listings show that liboctave.so.0.0.0 seems to contain references to properly built libraries:
The libraries liblapack.so, libcblas.so, libf77blas.so and libatlas.so were a problem for me at one point, because for
various reasons the lapack and atlas libraries had build problems (which are now fixed, I think).
These libraries really do exist:
I don't see any problems with these libraries. I've looked online for anything to do
with "../liboctave/.libs/liboctave.so: undefined reference to `xsdot_'" and the like,
without finding anything useful.
Am I missing something? Or is there really a problem with compilation?
Alan Feuerbacher
|