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

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

[Octave-bug-tracker] [bug #42810] mxe-octave native build problem: arpac


From: Tatsuro MATSUOKA
Subject: [Octave-bug-tracker] [bug #42810] mxe-octave native build problem: arpack, cholmod and umfpack were not correctly built
Date: Sat, 19 Jul 2014 05:46:56 +0000
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36

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

                 Summary: mxe-octave native build problem: arpack, cholmod and
umfpack  were not correctly built 
                 Project: GNU Octave
            Submitted by: tmacchant
            Submitted on: 2014年07月19日 05時46分55秒
                Category: Configuration and Build System
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 3.8.1
        Operating System: Microsoft Windows

    _______________________________________________________

Details:

With great help by John Donoghue, I could build negatively octave-stable
branch using mxe-octave. 

References:
http://octave.1599824.n4.nabble.com/Re-Windows-Octave-compilation-td4665267.html

http://octave.1599824.n4.nabble.com/How-can-I-make-patch-for-mxe-build-was-Re-Windows-Octave-compilation-td4665542.html

However, the configure reported that some dependencies were not recognized. 

Full log is attached.


configure: WARNING: UNEXPECTED: found nth_element working in g++ 4.8.2.  Has
it been patched on your system?
configure: WARNING: CHOLMOD library not found.  This will result in some lack
of functionality for sparse matrices.
configure: WARNING: UMFPACK not found.  This will result in some lack of
functionality for sparse matrices.
configure: WARNING: ARPACK not found.  The eigs function will be disabled.
configure: WARNING: JAVA_HOME environment variable not initialized. 
Auto-detection will proceed but is unreliable.
configure: WARNING: No javac compiler or jar executable found.  Octave will
not be able to call Java methods.


I have not used --enable-java so that java-related warning can be ignored. 

I check the mxe-octave/usr/bin and mxe-octave/usr/lib
libarpack, libcholmod, and libumfpack dll and library files do not exist.

For arpack


if [ no = yes ]; then make -C
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-arpack/arpack-ng-3.1.5/.build'
-j '1' install
DESTDIR='/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-arpack-install';
fi
if [ yes = yes ]; then
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tools/make-shared-from-static
--windowsdll --ar 'ar' --ld 'gfortran'
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-arpack/arpack-ng-3.1.5/.build/.libs/libarpack.a'
--install 'install' --libdir
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-arpack-install/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/usr/lib'
--bindir
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-arpack-install/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/usr/bin'
-llapack -lblas; fi
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -llapack
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -lblas
collect2.exe: error: ld returned 1 exit status



if [ yes = yes ]; then
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tools/make-shared-from-static
--windowsdll --ar 'ar' --ld 'gfortran'
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-arpack/arpack-ng-3.1.5/.build/.libs/libarpack.a'
--install 'install' --libdir
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-arpack-install/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/usr/lib'
--bindir
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-arpack-install/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/usr/bin'
-llapack -lblas; fi


LDFLAGS is missing so that link is failed.

For cholmod and umfpack


install -d
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse-install/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/usr/lib'
for f in
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/SuiteSparse_config/libsuitesparseconfig.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/SuiteSparse_config/xerbla/libcerbla.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/AMD/Lib/libamd.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/CAMD/Lib/libcamd.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/COLAMD/Lib/libcolamd.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/CCOLAMD/Lib/libccolamd.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/CSparse/Lib/libcsparse.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/CXSparse/Lib/libcxsparse.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/CHOLMOD/Lib/libcholmod.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/SPQR/Lib/libspqr.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/BTF/Lib/libbtf.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/LDL/Lib/libldl.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/KLU/Lib/libklu.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/RBio/Lib/librbio.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteSparse/UMFPACK/Lib/libumfpack.a;
do if [ yes = yes ]; then lib=`basename $f .a`; dir=`dirname $f`; echo
"building and installing shared libraries for $lib"; deplibs=""; case $lib in
libcholmod) deplibs="-lamd -lcamd -lcolamd -lccolamd -lsuitesparseconfig
-llapack -lblas"; ;; libklu) deplibs="-lbtf -lamd -lcolamd
-lsuitesparseconfig"; ;; librbio) deplibs="-lsuitesparseconfig"; ;; libspqr)
deplibs="-lcholmod -lsuitesparseconfig -llapack -lblas"; ;; libumfpack)
deplibs="-lcholmod -lamd -lsuitesparseconfig -lblas"; ;; esac; if [ -n
"eplibs" ]; then echo "  deplibs = $deplibs"; fi;
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tools/make-shared-from-static
--windowsdll --ar 'ar' --ld 'g++' $f --install 'install' --libdir
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse-install/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/usr/lib'
--bindir
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse-install/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/usr/bin'
$deplibs; fi; done
building and installing shared libraries for libsuitesparseconfig
  deplibs = 
building and installing shared libraries for libcerbla
  deplibs = 
building and installing shared libraries for libamd
  deplibs = 
building and installing shared libraries for libcamd
  deplibs = 
building and installing shared libraries for libcolamd
  deplibs = 
building and installing shared libraries for libccolamd
  deplibs = 
building and installing shared libraries for libcsparse
  deplibs = 
building and installing shared libraries for libcxsparse
  deplibs = 
building and installing shared libraries for libcholmod
  deplibs = -lamd -lcamd -lcolamd -lccolamd -lsuitesparseconfig -llapack
-lblas
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -llapack
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -lblas
collect2.exe: error: ld returned 1 exit status
building and installing shared libraries for libspqr
  deplibs = -lcholmod -lsuitesparseconfig -llapack -lblas
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -lcholmod
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -llapack
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -lblas
collect2.exe: error: ld returned 1 exit status
building and installing shared libraries for libbtf
  deplibs = 
building and installing shared libraries for libldl
  deplibs = 
building and installing shared libraries for libklu
  deplibs = -lbtf -lamd -lcolamd -lsuitesparseconfig
building and installing shared libraries for librbio
  deplibs = -lsuitesparseconfig
building and installing shared libraries for libumfpack
  deplibs = -lcholmod -lamd -lsuitesparseconfig -lblas
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -lcholmod
c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe:
cannot find -lblas
collect2.exe: error: ld returned 1 exit status


In this case building dll failed due to lack of LDFLAGS.

The script make-shared-from-static is better to be modified to include
LDFLAGS.
But I do not enough knowledge how it would be modified.



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: 2014年07月19日 05時46分55秒  Name: stable-octave.7z  Size: 207kB  
By: tmacchant

<http://savannah.gnu.org/bugs/download.php?file_id=31744>
-------------------------------------------------------
Date: 2014年07月19日 05時46分55秒  Name: arpack.7z  Size: 6kB   By:
tmacchant

<http://savannah.gnu.org/bugs/download.php?file_id=31745>
-------------------------------------------------------
Date: 2014年07月19日 05時46分55秒  Name: suitesparse.7z  Size: 29kB  
By: tmacchant

<http://savannah.gnu.org/bugs/download.php?file_id=31746>

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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