[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] mxe-octave native build: arpack, cholmod and umfpac
From: |
John D |
Subject: |
[Octave-bug-tracker] mxe-octave native build: arpack, cholmod and umfpack were not correctly built |
Date: |
Sat, 19 Jul 2014 07:18:44 -0400 |
------------------------------
Message: 2
Date: Sat, 19 Jul 2014 05:46:56 +0000
From: Tatsuro MATSUOKA <address@hidden>
To: Tatsuro MATSUOKA <address@hidden>,
address@hidden
Subject: [Octave-bug-tracker] [bug #42810] mxe-octave native build
problem: arpack, cholmod and umfpack were not correctly
built
Message-ID: <address@hidden>
Content-Type: text/plain;charset=UTF-8
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-R
e-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-in
stall';
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-insta
ll/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/SuiteS
parse/SuiteSparse_config/libsuitesparseconfig.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/SuiteSparse_config/xerbla/libcerbla.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/AMD/Lib/libamd.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/CAMD/Lib/libcamd.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/COLAMD/Lib/libcolamd.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/CCOLAMD/Lib/libccolamd.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/CSparse/Lib/libcsparse.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/CXSparse/Lib/libcxsparse.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/CHOLMOD/Lib/libcholmod.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/SPQR/Lib/libspqr.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/BTF/Lib/libbtf.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/LDL/Lib/libldl.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/KLU/Lib/libklu.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/RBio/Lib/librbio.a
/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse/SuiteS
parse/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-insta
ll/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/usr/lib'
--bindir
'/e/usr/Tatsu/mingw32work/octave/mxe-octave/mxe-octave/tmp-suitesparse-insta
ll/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.
----
Applying this patch fixes that for me - I had doe similar change to a few
other packages, but had missed this one.
nativearpack.patch
Description: Binary data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Octave-bug-tracker] mxe-octave native build: arpack, cholmod and umfpack were not correctly built,
John D <=