[Trilinos-Users] Packaging trilinos

Guillaume Rousse Guillaume.Rousse at inria.fr
Mon Mar 13 10:13:18 MST 2006


Mike Heroux wrote:
> Guillaume,
> 
> Thank you for taking the time to provide us with this feedback.  These are
> all good comments.  We have a development team meeting next week.  I will
> bring these issues up and try to address them as best we can.
> 
> Thanks again.
You're welcome :)

I'll need your help for going further. The following patch enable
libtool support, to build dynamic libraries in a portable way.
Curiously, I had to add AC_LANG_PUSH(C++)/AC_LANG_POP(C++) around header
checks, otherwise the compiler used for testing their presence was the C
compiler, instead of the C++ one, making test fails. This seems to be a
side effect of the AC_PROG_LIBTOOL macro.

teuchos build fine, but I got linking errors with epetra:
i586-mandriva-linux-gnu-g++ -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fomit-frame-pointer -march=i586 -mtune=pentiumpro
-fasynchronous-unwind-tables -o .libs/power_method_example
power_method_example-cxx_main.o  ../../src/.libs/libepetra.so -lblas
-L/usr/lib/gcc/i586-mandriva-linux-gnu/4.0.3
-L/usr/lib/gcc/i586-mandriva-linux-gnu/4.0.3/../../.. -lgfortranbegin
-lgfortran -lm -lgcc_s
../../src/.libs/libepetra.so: undefined reference to `dhseqr_'
../../src/.libs/libepetra.so: undefined reference to `dggsvd_'
../../src/.libs/libepetra.so: undefined reference to `sspev_'
../../src/.libs/libepetra.so: undefined reference to `sgetrf_'
../../src/.libs/libepetra.so: undefined reference to `dgecon_'
../../src/.libs/libepetra.so: undefined reference to `strexc_'
../../src/.libs/libepetra.so: undefined reference to `sposvx_'
../../src/.libs/libepetra.so: undefined reference to `spotrf_'
../../src/.libs/libepetra.so: undefined reference to `dgglse_'
../../src/.libs/libepetra.so: undefined reference to `dgetrs_'
../../src/.libs/libepetra.so: undefined reference to `dposv_'
../../src/.libs/libepetra.so: undefined reference to `strevc_'
../../src/.libs/libepetra.so: undefined reference to `ssygv_'
../../src/.libs/libepetra.so: undefined reference to `dpocon_'
../../src/.libs/libepetra.so: undefined reference to `spocon_'
../../src/.libs/libepetra.so: undefined reference to `dorghr_'
../../src/.libs/libepetra.so: undefined reference to `dgesvd_'
../../src/.libs/libepetra.so: undefined reference to `shseqr_'
../../src/.libs/libepetra.so: undefined reference to `sgglse_'
../../src/.libs/libepetra.so: undefined reference to `dgehrd_'
../../src/.libs/libepetra.so: undefined reference to `sgeequ_'
../../src/.libs/libepetra.so: undefined reference to `dsyev_'
../../src/.libs/libepetra.so: undefined reference to `dormhr_'
../../src/.libs/libepetra.so: undefined reference to `dsygv_'
../../src/.libs/libepetra.so: undefined reference to `dgesv_'
../../src/.libs/libepetra.so: undefined reference to `dgels_'
../../src/.libs/libepetra.so: undefined reference to `sgesv_'
../../src/.libs/libepetra.so: undefined reference to `dgeevx_'
../../src/.libs/libepetra.so: undefined reference to `sormhr_'
../../src/.libs/libepetra.so: undefined reference to `sggsvd_'
../../src/.libs/libepetra.so: undefined reference to `dposvx_'
../../src/.libs/libepetra.so: undefined reference to `ssyevx_'
../../src/.libs/libepetra.so: undefined reference to `sgeevx_'
../../src/.libs/libepetra.so: undefined reference to `ssyevd_'
../../src/.libs/libepetra.so: undefined reference to `slamch_'
../../src/.libs/libepetra.so: undefined reference to `sgesvx_'
../../src/.libs/libepetra.so: undefined reference to `sgecon_'
../../src/.libs/libepetra.so: undefined reference to `dsyevd_'
../../src/.libs/libepetra.so: undefined reference to `dgetri_'
../../src/.libs/libepetra.so: undefined reference to `sgehrd_'
../../src/.libs/libepetra.so: undefined reference to `dpotrf_'
../../src/.libs/libepetra.so: undefined reference to `sspgv_'
../../src/.libs/libepetra.so: undefined reference to `sgerfs_'
../../src/.libs/libepetra.so: undefined reference to `dspev_'
../../src/.libs/libepetra.so: undefined reference to `dspgv_'
../../src/.libs/libepetra.so: undefined reference to `sposv_'
../../src/.libs/libepetra.so: undefined reference to `dgetrf_'
../../src/.libs/libepetra.so: undefined reference to `dpotrs_'
../../src/.libs/libepetra.so: undefined reference to `ssyev_'
../../src/.libs/libepetra.so: undefined reference to `dtrevc_'
../../src/.libs/libepetra.so: undefined reference to `dpotri_'
../../src/.libs/libepetra.so: undefined reference to `dgesvx_'
../../src/.libs/libepetra.so: undefined reference to `sgetri_'
../../src/.libs/libepetra.so: undefined reference to `spotrs_'
../../src/.libs/libepetra.so: undefined reference to `dgeequ_'
../../src/.libs/libepetra.so: undefined reference to `dlamch_'
../../src/.libs/libepetra.so: undefined reference to `sgeev_'
../../src/.libs/libepetra.so: undefined reference to `dtrexc_'
../../src/.libs/libepetra.so: undefined reference to `spotri_'
../../src/.libs/libepetra.so: undefined reference to `dgeev_'
../../src/.libs/libepetra.so: undefined reference to `dsyevx_'
../../src/.libs/libepetra.so: undefined reference to `spoequ_'
../../src/.libs/libepetra.so: undefined reference to `sorghr_'
../../src/.libs/libepetra.so: undefined reference to `dgerfs_'
../../src/.libs/libepetra.so: undefined reference to `sporfs_'
../../src/.libs/libepetra.so: undefined reference to `dpoequ_'
../../src/.libs/libepetra.so: undefined reference to `sgesvd_'
../../src/.libs/libepetra.so: undefined reference to `dporfs_'
../../src/.libs/libepetra.so: undefined reference to `sgetrs_

It seems I just need an additional -l flags, but I was unable to find
where are those symbols defined, apart some reference in
Epetra_LAPACK_wrappers.h, which seems to be some kind of fortran routine
indirection.

It may be caused by my blas library lacking C wrapper (cblas), but I
don't see why statically linked epetra library linking would have
succeded then.

Any help welcome, as my fortran knowledge average absolute zero :)



More information about the Trilinos-Users mailing list