Created attachment 300305 [details] output of emerge --info Trying to compile sci-libs/hypre, linking of the lib fails with the output shown below. During compilation, the preprocessor definition -DHAVE_SUPERLU is set. After emerging sci-libs/superlu (stable version is fine) this linking error does not appear. So the easiest way to fix the problem would be to add superlu to the dependency list of hypre, the more complex way would be adding a use-flag to en/disable the dependency. Emerge output during merge of sci-libs/hypre without sci-libs/superlu installed: [...] Making lib ... make[1]: Entering directory `/var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/lib' Building libHYPRE.so ... mpiCC -shared -Wl,-O1 -Wl,--as-needed -o libHYPRE-2.8.0b.so /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/FEI_mv/fei-hypre/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/FEI_mv/femli/lib/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/IJ_mv/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/distributed_ls/Euclid/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/distributed_ls/ParaSails/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/distributed_ls/pilut/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/distributed_matrix/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/krylov/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/matrix_matrix/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/multivector/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/parcsr_ls/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/parcsr_mv/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/parcsr_block_mv/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/seq_mv/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/sstruct_ls/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/sstruct_mv/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/struct_ls/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/struct_mv/*.o /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/utilities/*.o -llapack -lblas -lpthread -lcblas -latlas -lstdc++ -lm -lsuperlu -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../.. -lgfortran -lm -lgcc_s -Wl,-soname,libHYPRE-2.8.0b.so -Wl,-z,defs /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lsuperlu collect2: ld gab 1 als Ende-Status zurück make[1]: *** [libHYPRE.so] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/sci-libs/hypre-2.8.0b-r1/work/hypre-2.8.0b/src/lib' >>> Source compiled. >>> Test phase [not enabled]: sci-libs/hypre-2.8.0b-r1 >>> Install hypre-2.8.0b-r1 into /var/tmp/portage/sci-libs/hypre-2.8.0b-r1/image/ category sci-libs !!! dolib: hypre/lib/lib* does not exist
The ebuild uses the configure option --without-superlu. Configure help states: --with-superlu Use internal SuperLU routines. Perhaps there is some kind of inverse logic, that --with-superlu would bild a kind of embedded version of superlu and --without-superlu needs the external lib? But this is just a guess, I did not experiment with this flag.
Thanks for reporting + 29 Jan 2012; Justin Lecher <jlec@gentoo.org> hypre-2.8.0b-r1.ebuild, + metadata.xml: + Add missing dep on sci-libs/superlu, #401385 +