Summary: | sci-mathematics/octave-3.6.2-r1 - .../work/octave-3.6.2/src/.libs/octave: error while loading shared libraries: libblas.s o.0: cannot open shared object file: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Anton Kochkov <anton.kochkov> |
Component: | Current packages | Assignee: | Gentoo Science Mathematics related packages <sci-mathematics> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | octave-3.6.2-r1_build.log.gz |
I had also been hit by that error and fixed it, but could not really track it down: octave correctly uses -lrefblas if blas-reference is installed. However, during an intermediate compilation stage, it was still using "-lblas" for me, in addition to "-lrefblas". I could not track down the packet causing it with "revdep-rebuild -L /usr/lib64/libblas.so", and the new portage-2.2 preserve-libraries feature only told me octave is still using /usr/lib64/libblas.so. After I deleted that file manually, I could not compile octave anymore. I examined the linker-commandline in the build-log and found "-lblas" in addition to "-lrefblas". Around that statement, libraries coming from the following packages were included: =sci-libs/cholmod-1.6.0-r1 =sci-libs/umfpack-5.2.0 =sci-libs/amd-2.2.0 After recompiling these three, I could compile octave just fine again and it did not try to link against "-lblas" anymore. Hope that helps, and maybe somebody can track it down! Something else you might try: Run lafilefixer --justfixit and try to recompile octave, maybe this is sufficient. At least, I think you should not be able to compile octave anymore, and furthermore, switching from any blas to blas-reference or vice-versa should necessitate recompilation if I understand correctly... Another package that has caused this for me to appear on a different machine: sci-libs/qrupdate Although portage's preserved-libs-feature did not tell me anything about it, it was still linked against libblas: libqrupdate.so: libblas.so.0 => not found I think a revdep-rebuild should have helped (did not try that, though). A much faster and - in this case - probably sufficient way to find the libs in question is the line: for A in /usr/lib/*.so; do echo -n $A":"; ldd $A | grep libblas.so; echo ""; done | grep blas.so So I think that in this case, you cannot trust preserved-libs yet, can you try whether revdep-rebuilt works for you? should be gone by now with newer octave and blas. |
Created attachment 324640 [details] octave-3.6.2-r1_build.log.gz It give that error, even with blas-reference is installed (from science overlay) mv preface.texi-t preface.texi restore=: && backupdir=".am$$" && \ am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \ rm -rf $backupdir && mkdir $backupdir && \ if (/bin/sh /var/tmp/portage/sci-mathematics/octave-3.6.2-r1/work/octave-3.6.2/build-aux/missing --run makeinfo --version) >/dev/null 2>&1; then \ for f in octave.info octave.info-[0-9] octave.info-[0-9][0-9] octave.i[0-9] octave.i[0-9][0-9]; do \ if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$am__cwd"; \ if /bin/sh /var/tmp/portage/sci-mathematics/octave-3.6.2-r1/work/octave-3.6.2/build-aux/missing --run makeinfo -I . \ -o octave.info octave.texi; \ then \ rc=0; \ CDPATH="${ZSH_VERSION+.}:" && cd .; \ else \ rc=$?; \ CDPATH="${ZSH_VERSION+.}:" && cd . && \ $restore $backupdir/* `echo "./octave.info" | sed 's|[^/]*$||'`; \ fi; \ rm -rf $backupdir; exit $rc ../../run-octave -f -q -H ./mk_doc_cache.m doc-cache ../../scripts/DOCSTRINGS ../../src/DOCSTRINGS || { rm -f doc-cache; exit 1; } /var/tmp/portage/sci-mathematics/octave-3.6.2-r1/work/octave-3.6.2/src/.libs/octave: error while loading shared libraries: libblas.so.0: cannot open shared object file: No such file or directory make[3]: *** [doc-cache] Error 1 make[3]: Leaving directory `/var/tmp/portage/sci-mathematics/octave-3.6.2-r1/work/octave-3.6.2/doc/interpreter' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/sci-mathematics/octave-3.6.2-r1/work/octave-3.6.2/doc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sci-mathematics/octave-3.6.2-r1/work/octave-3.6.2' make: *** [all] Error 2