When I try to run octave, I get the following: octave: error while loading shared libraries: libblas.so.0: cannot open shared object file: No such file or directory I have sci-libs/blas-atlas-3.7.24 installed. I ran revdep-rebuild twice with no effect. Here's my emerge --info: Portage 2.1.2_rc4-r5 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gentoo-r2 i686) ================================================================= System uname: 2.6.19-gentoo-r2 i686 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.12.8 Last Sync: Thu, 04 Jan 2007 12:00:04 +0000 ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.3.6, 2.4.4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.19 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="de_DE.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--sort-common" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acpi alsa apache2 asf avi berkdb bitmap-fonts bzip2 cairo cdr cli cracklib crypt dbus dlloader dri dts dvd dvdr dvi eds emboss encode esd exif fam firefox fortran gdbm gif gnome gpm gstreamer gtk gtk2 hal iconv isdnlog java jpeg jpeg2k kdehiddenvisibility libg++ libnotify lm_sensors logrotate mad mikmod mmap mmx mmxext mono mozbranding moznocompose moznoirc mozsvg mp3 mpeg mysql nautilus ncurses nls nptl nptlonly ogg openal opengl oss pam pcre pdf perl png ppds pppd python qt3 qt4 quicktime rar readline real reflection sdl session spell spl sse sse2 ssl svg tcpd threads tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales v4l v4l2 vcd vorbis win32codecs wma wmf x86 xine xml xorg xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="nvidia nv v4l vesa" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY Thanks a lot!
Could you please post the output of - ldd /usr/bin/octave - eselect blas list - eselect blas show Thanks, Markus
(In reply to comment #1) > Could you please post the output of > - ldd /usr/bin/octave > - eselect blas list > - eselect blas show > > Thanks, > Markus Here you are: $> ldd /usr/bin/octave linux-gate.so.1 => (0xb7f4f000) libz.so.1 => /lib/libz.so.1 (0x49336000) liboctinterp.so => /usr/lib/octave-2.1.73/liboctinterp.so (0xb77e4000) liboctave.so => /usr/lib/octave-2.1.73/liboctave.so (0xb720a000) libcruft.so => /usr/lib/octave-2.1.73/libcruft.so (0xb70d5000) libblas.so.0 => not found libfftw3.so.3 => /usr/lib/libfftw3.so.3 (0x48a3c000) libreadline.so.5 => /lib/libreadline.so.5 (0x48bc8000) libncurses.so.5 => /lib/libncurses.so.5 (0x4a644000) libdl.so.2 => /lib/libdl.so.2 (0x49324000) libgfortran.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libgfortran.so.1 (0xb7060000) libm.so.6 => /lib/libm.so.6 (0x49516000) libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6 (0x498d4000) libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libgcc_s.so.1 (0x498c8000) libc.so.6 => /lib/libc.so.6 (0x493ee000) libblas.so.0 => not found libblas.so.0 => not found libpthread.so.0 => /lib/libpthread.so.0 (0x4953d000) /lib/ld-linux.so.2 (0x48a1e000) $> eselect blas list Installed BLAS for library directory lib [1] atlas * $> eselect blas show lib: atlas
Thanks, that looks fine AFAIK! Now, what does ls -la /usr/lib/libblas.so give. If it doesn't exist try doing a eselect blas set atlas If it does exist octave should find it, but you could try running ldconfig just to be sure. Thanks, Markus
Everything seems to be fine... $> ls -la /usr/lib/libblas.so lrwxrwxrwx 1 root root 21 21. Sep 00:17 /usr/lib/libblas.so -> blas/atlas/libblas.so $> ldconfig ...but I still get: $> octave octave: error while loading shared libraries: libblas.so.0: cannot open shared object file: No such file or directory :(
Well, since /usr/lib/libblas.so is present and since /usr/lib is in the default search path of the dynamic linker octave should find it, just like it does for libfftw. Have you tried re-compiling it? Markus
Yes, I re-compiled octave and blas - with no effect :( I needed the old gcc 3 a few days ago and emerged it. Can it be that this broke some libraries?
I don't think emerging of gcc3 could be the culprit. Do you have any other packages on your system that depend on blas, and if so, do they work? If not, could you please try #USE="blas cblas lapack fftw" ebuild /usr/portage/sci-libs/itpp-3.10.7.ebuild test and check that all tests pass as they should. Thanks, Markus
I have a similar problem. I emerged octave-2.1.73-r2 because Octave links to lapack-atlas anyway (without depending on it in previous ebuilds), and it was designated as a dependency in this version. However, this version fails during make check, complaining about liblapack.so.0 missing. It's not missing of course, as Octave has just been built and linked to it.
The root of the problem was in eselect - the symlinks to /usr/lib has not been created. I solved it by installing two implementations of lapack, and reconfiguring eselect lapack for lapack-atlas. Maybe it's an eselect problem with libblas too.
I am glad it works now! I've had Michael check if the symlink exists (see comment #4) and it seems to be there; unless, of course, the file it points to does not exists. @Michael: Have you managed to solve your problem yet? If not, could you do the eselect thingy and make sure that both the symlink to libblas as well as the files pointed to exist! Thanks, Markus
Changed severity to normal. Still waiting for response from OP. Markus
Since no one has responded to my query from 03/22/2007 I assume things are fine now. Please re-open should there still be issues. Thanks, Markus