octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #34157] make fails with "../liboctave/.libs/li


From: Alan Feuerbacher
Subject: [Octave-bug-tracker] [bug #34157] make fails with "../liboctave/.libs/liboctave.so: undefined reference to `xsdot_'"
Date: Sun, 28 Aug 2011 14:18:55 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.18) Gecko/20110616 Red Hat/3.6-1.el5_6 Firefox/3.6.18

URL:
  <http://savannah.gnu.org/bugs/?34157>

                 Summary: make fails with "../liboctave/.libs/liboctave.so:
undefined reference to `xsdot_'"
                 Project: GNU Octave
            Submitted by: alanf
            Submitted on: Sun 28 Aug 2011 02:18:54 PM GMT
                Category: Configuration and Build System
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: Alan Feuerbacher
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 3.4.2
        Operating System: GNU/Linux

    _______________________________________________________

Details:

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 (address@hidden) (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:


libtool: link: /home/afbacher/GCC/GCC_2_4.6.1/install/bin/gcc-4.6.1 -g -O2
-pthread -DHAVE_CONFIG_H -Wall -W -Wshadow -Wformat -Wpointer-arith
-Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wcast-align
-Wcast-qual -Wconversion -g -O2 -pthread -pthread -g -O2 -pthread -o
.libs/octave main.o  -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 ./.libs/liboctinterp.so
../liboctave/.libs/liboctave.so ../libcruft/.libs/libcruft.so
../libcruft/.libs/libranlib.a ../libgnu/.libs/libgnu.a -lz -lX11 -lreadline
-lncurses /home/afbacher/GCC/Octave/install/lib/libpcre.so -llapack -lcblas
-lf77blas -latlas -ldl
-L/home/afbacher/GCC/GCC_2_4.6.1/install/lib/gcc/x86_64-unknown-linux-gnu/4.6.1
-L/home/afbacher/GCC/GCC_2_4.6.1/install/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64
-L/home/afbacher/GCC/GCC_2_4.6.1/install/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/../../..
/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64/libgfortran.so
/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64/libquadmath.so -lm
-pthread -Wl,-rpath -Wl,/home/afbacher/GCC/Octave/install/lib/octave/3.4.2
-Wl,-rpath -Wl,/home/afbacher/GCC/Octave/install/lib -Wl,-rpath
-Wl,/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64
../liboctave/.libs/liboctave.so: undefined reference to `xsdot_'
../liboctave/.libs/liboctave.so: undefined reference to `dconv2o_'
 . . .
 . . .
../liboctave/.libs/liboctave.so: undefined reference to `zbesi_'
collect2: ld returned 1 exit status
make[3]: *** [octave] Error 1
make[3]: Leaving directory `/home/afbacher/GCC/Octave/octave-3.4.2/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/afbacher/GCC/Octave/octave-3.4.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/afbacher/GCC/Octave/octave-3.4.2'
make: *** [all] Error 2


>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:


~/GCC/Octave/octave-3.4.2/liboctave/.libs [282]> ll liboctave.so*
lrwxrwxrwx 1 afbacher pmbude        18 Aug 28 12:22 liboctave.so ->
liboctave.so.0.0.0
lrwxrwxrwx 1 afbacher pmbude        18 Aug 28 12:22 liboctave.so.0 ->
liboctave.so.0.0.0
-rwxrwxr-x 1 afbacher pmbude 142862145 Aug 28 12:22 liboctave.so.0.0.0

~/GCC/Octave/octave-3.4.2/liboctave/.libs [283]> ldd liboctave.so.0.0.0
        libcruft.so.0 =>
/home/afbacher/GCC/Octave/octave-3.4.2/libcruft/.libs/libcruft.so.0
(0x00002b8ca180c000)
        liblapack.so =>
/home/afbacher/GCC/LAPACK/ATLAS3.8.4/install/lib/liblapack.so
(0x00002b8ca1a29000)
        libcblas.so =>
/home/afbacher/GCC/LAPACK/ATLAS3.8.4/install/lib/libcblas.so
(0x00002b8ca2220000)
        libf77blas.so =>
/home/afbacher/GCC/LAPACK/ATLAS3.8.4/install/lib/libf77blas.so
(0x00002b8ca243d000)
        libatlas.so =>
/home/afbacher/GCC/LAPACK/ATLAS3.8.4/install/lib/libatlas.so
(0x00002b8ca265b000)
        libreadline.so.6 =>
/home/afbacher/GCC/Octave/install/lib/libreadline.so.6 (0x00002b8ca300e000)
        libncurses.so.5 =>
/home/afbacher/GCC/Octave/install/lib/libncurses.so.5 (0x00002b8ca324f000)
        libpcre.so.0 => /home/afbacher/GCC/Octave/install/lib/libpcre.so.0
(0x00002b8ca349f000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00002b8ca3708000)
        libgfortran.so.3 =>
/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64/libgfortran.so.3
(0x00002b8ca390c000)
        libquadmath.so.0 =>
/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64/libquadmath.so.0
(0x00002b8ca3c22000)
        libstdc++.so.6 =>
/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64/libstdc++.so.6
(0x00002b8ca3e57000)
        libm.so.6 => /lib64/libm.so.6 (0x00002b8ca415c000)
        libc.so.6 => /lib64/libc.so.6 (0x00002b8ca43e0000)
        libgcc_s.so.1 =>
/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64/libgcc_s.so.1
(0x00002b8ca4738000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b8ca494d000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ce6800000)


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:


~/GCC/LAPACK/ATLAS3.8.4/install/lib [284]> ll
total 38688
-rw-r--r-- 1 afbacher pmbude 13435840 Aug 28 11:19 libatlas.a
-rw-r--r-- 1 afbacher pmbude  8526052 Aug 28 11:45 libatlas.so
-rw-r--r-- 1 afbacher pmbude   466120 Aug 28 11:19 libcblas.a
-rw-r--r-- 1 afbacher pmbude   142669 Aug 28 11:45 libcblas.so
-rw-r--r-- 1 afbacher pmbude   560994 Aug 28 11:19 libf77blas.a
-rw-r--r-- 1 afbacher pmbude   155355 Aug 28 11:46 libf77blas.so
-rw-r--r-- 1 afbacher pmbude  9880874 Aug 28 11:19 liblapack.a
-rw-r--r-- 1 afbacher pmbude  5312462 Aug 28 11:46 liblapack.so
-rw-r--r-- 1 afbacher pmbude   466678 Aug 28 11:19 libptcblas.a
-rw-r--r-- 1 afbacher pmbude   561554 Aug 28 11:19 libptf77blas.a

~/GCC/LAPACK/ATLAS3.8.4/install/lib [285]> ldd libatlas.so
ldd: warning: you do not have execution permission for `./libatlas.so'
        libc.so.6 => /lib64/libc.so.6 (0x00002b4bb6b46000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b4bb6e9f000)
        libm.so.6 => /lib64/libm.so.6 (0x00002b4bb70ba000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ce6800000)

~/GCC/LAPACK/ATLAS3.8.4/install/lib [286]> ldd libcblas.so
ldd: warning: you do not have execution permission for `./libcblas.so'
        statically linked

~/GCC/LAPACK/ATLAS3.8.4/install/lib [287]> ldd libf77blas.so
ldd: warning: you do not have execution permission for `./libf77blas.so'
        libgfortran.so.3 =>
/home/afbacher/GCC/GCC_2_4.6.1/install/lib64/libgfortran.so.3
(0x00002b4aaa4a3000)
        libquadmath.so.0 =>
/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64/libquadmath.so.0
(0x00002b4aaa7b9000)
        libm.so.6 => /lib64/libm.so.6 (0x00002b4aaaa0f000)
        libc.so.6 => /lib64/libc.so.6 (0x00002b4aaac92000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ce6800000)

~/GCC/LAPACK/ATLAS3.8.4/install/lib [288]> ldd liblapack.so
ldd: warning: you do not have execution permission for `./liblapack.so'
        libgfortran.so.3 =>
/home/afbacher/GCC/GCC_2_4.6.1/install/lib64/libgfortran.so.3
(0x00002b8a6478a000)
        libquadmath.so.0 =>
/home/afbacher/GCC/GCC_2_4.6.1/install/lib/../lib64/libquadmath.so.0
(0x00002b8a64aa0000)
        libm.so.6 => /lib64/libm.so.6 (0x00002b8a64cf6000)
        libc.so.6 => /lib64/libc.so.6 (0x00002b8a64f79000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ce6800000)


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





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?34157>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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