Opened 9 years ago

Closed 8 years ago

#12349 closed defect (duplicate)

linbox fails to builds in sage-5.0_beta1

Reported by: fbissey Owned by: cpernet
Priority: critical Milestone: sage-duplicate/invalid/wontfix
Component: linbox Keywords:
Cc: Merged in:
Authors: Reviewers: François Bissey
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

linbox couldn't find blas and bailed out at the configure script. I am guessing that for some reason it cannot find the location where cblas is installed.

/home/work/fbissey/sandbox/sage-5.0.beta1/spkg/pipestatus "sage-spkg ${SAGE_SPKG_OPTS} linbox-1.1.6.p6 2>&1" "tee -a /home/work/fbissey/sandbox/sage-5.0.beta1/spkg/logs/linbox-1.1.6.p6.log"
linbox-1.1.6.p6
Machine:
Linux QCD-nzi3 3.0.6-gentoo #6 SMP Thu Nov 10 07:12:36 NZDT 2011 x86_64 Intel(R) Core(TM) i7 CPU 970 @ 3.20GHz GenuineIntel GNU/Linux
Deleting directories from past builds of previous/current versions of linbox-1.1.6.p6
Extracting package /home/work/fbissey/sandbox/sage-5.0.beta1/spkg/standard/linbox-1.1.6.p6.spkg ...
-rw-r--r-- 1 fbissey fbissey 1577160 Dec 12 11:12 /home/work/fbissey/sandbox/sage-5.0.beta1/spkg/standard/linbox-1.1.6.p6.spkg
Finished extraction
****************************************************
Host system
uname -a:
Linux QCD-nzi3 3.0.6-gentoo #6 SMP Thu Nov 10 07:12:36 NZDT 2011 x86_64 Intel(R) Core(TM) i7 CPU 970 @ 3.20GHz GenuineIntel GNU/Linux
****************************************************
****************************************************
CC Version
gcc -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /scratch/portage/sys-devel/gcc-4.5.3-r2/work/gcc-4.5.3/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check --with-cloog-include=/usr/include/cloog-ppl --disable-lto --enable-nls --without-included-gettext --with-system-zlib --disable-werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/python --enable-checking=release --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.5.3-r2 p1.0, pie-0.4.6'
Thread model: posix
gcc version 4.5.3 (Gentoo 4.5.3-r2 p1.0, pie-0.4.6) 
****************************************************
Copying commentator patch
Patching modular-float.h
Linux cblas
*************************************************
 Using LINBOX_BLAS=-lcblas -latlas
*************************************************
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a sed that does not truncate output... /bin/sed
checking for ld used by gcc... ld
checking if the linker (ld) is GNU ld... yes
checking for ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking the maximum length of command line arguments... 1572864
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... ld -m elf_x86_64
checking if the linker (ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
(cached) (cached) checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gfortran option to produce PIC... -fPIC
checking if gfortran PIC flag -fPIC works... yes
checking if gfortran static flag -static works... yes
checking if gfortran supports -c -o file.o... yes
checking whether the gfortran linker (ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
(cached) (cached) checking how to hardcode library paths into programs... immediate
checking for char... yes
checking size of char... 1
checking for short... yes
checking size of short... 2
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 8
checking for long long... yes
checking size of long long... 8
checking for __int64... no
checking size of __int64... 0
checking whether byte ordering is bigendian... no
Default path = /usr /usr/local
checking whether to compile the drivers... no
checking for GMP >= 3.1.1... found
checking whether GMP is 4.0 or greater... yes
checking whether GMP was compiled with --enable-cxx... yes
checking for NTL >= 5.0... found
checking for GIVARO >= 3.2.10... found
checking whether to compile the sage interface... yes
checking for C interface to BLAS... not found
checking for others BLAS... not found

*******************************************************************************
 ERROR: BLAS not found!

 BLAS routines are required for this library to compile. Please
 make sure BLAS are installed and specify its location with the option
 --with-blas=<lib> when running configure.
*******************************************************************************
Error configuring linbox

real    0m4.843s
user    0m1.889s
sys     0m0.721s
************************************************************************
Error installing package linbox-1.1.6.p6
************************************************************************

I guess linbox wouldn't have complained if I had libcblas in a standard location but I don't.

Change History (7)

comment:1 Changed 9 years ago by fbissey

Just adding -L${SAGE_LOCAL}/lib to LINBOX_BLAS solved the problem. I am wondering why it started to happen now. I'll have to check what changes where made in #12131.

comment:2 Changed 9 years ago by fbissey

  • Priority changed from major to critical

I am getting this issue because of interference with a system install of atlas. Here is the relevant snippet of the config.log

configure:23898: g++ -o conftest  -g -fPIC -D__LINBOX_HAVE_CBLAS  -DDISABLE_COMMENTATOR  conftest.cpp  -lcblas -latlas >&5
/usr/lib/../lib64/libatlas.so: undefined reference to `pthread_mutex_trylock'
/usr/lib/../lib64/libatlas.so: undefined reference to `pthread_attr_setaffinity_np'
/usr/lib/../lib64/libatlas.so: undefined reference to `ATL_DecAtomicCount'
/usr/lib/../lib64/libatlas.so: undefined reference to `pthread_create'
/usr/lib/../lib64/libatlas.so: undefined reference to `ATL_ResetAtomicCount'
/usr/lib/../lib64/libatlas.so: undefined reference to `ATL_FreeAtomicCount'
/usr/lib/../lib64/libatlas.so: undefined reference to `ATL_SetAtomicCount'
/usr/lib/../lib64/libatlas.so: undefined reference to `pthread_join'
collect2: ld returned 1 exit status
configure:23904: $? = 1
configure: failed program was:

I have a local atlas that depends on pthread and it is found first. Altering LINBOX_BLAS to include the location of $SAGE_LOCAL/lib is enough to resolve the problem. I'll prepare an updated spkg later. In the mean time I think this is critical.

comment:3 Changed 9 years ago by leif

Just for the record: There's a new LinBox spkg at #12762 (currently needing review).

(I could add the missing -L... [and probably -I... to CPPFLAGS] there, too.)

comment:4 Changed 8 years ago by fbissey

  • Status changed from new to needs_review

comment:5 Changed 8 years ago by fbissey

  • Status changed from needs_review to positive_review

This is not happening anymore, it was solved by the linbox upgrade.

comment:6 Changed 8 years ago by jdemeyer

  • Milestone changed from sage-5.7 to sage-duplicate/invalid/wontfix
  • Reviewers set to François Bissey

comment:7 Changed 8 years ago by jdemeyer

  • Resolution set to duplicate
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.