Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Nov 2013 04:00:31 GMT
From:      Byron Young <bky@bkyoung.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/184135: numpy gcc-aux libgfortran.so.3 issue
Message-ID:  <201311210400.rAL40VLt072127@oldred.freebsd.org>
Resent-Message-ID: <201311210410.rAL4A2QV042772@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         184135
>Category:       ports
>Synopsis:       numpy gcc-aux libgfortran.so.3 issue
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 21 04:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Byron Young
>Release:        9,2-RELEASE
>Organization:
>Environment:
i386
>Description:
Run simple cd.sh script. Output is in attached out.txt. The traceback shows that somehow (magical bits?) the base distribution /lib/libgcc_s.so.1 is used when the fortran.so library RPATH clearly states the GCC_4.6 library should be used.

Traceback (most recent call last):
  File "ab.py", line 1, in <module>
    from numpy import *
  File "/usr/local/lib/python2.7/site-packages/numpy/__init__.py", line 137, in <module>
    import add_newdocs
  File "/usr/local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in <module>
    from numpy.lib import add_newdoc
  File "/usr/local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 13, in <module>
    from polynomial import *
  File "/usr/local/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 17, in <module>
    from numpy.linalg import eigvals, lstsq, inv
  File "/usr/local/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 48, in <module>
    from linalg import *
  File "/usr/local/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 23, in <module>
    from numpy.linalg import lapack_lite
ImportError: /lib/libgcc_s.so.1: version GCC_4.6.0 required by /usr/local/gcc-aux/lib/libgfortran.so.3 not found
LDD /usr/local/gcc-aux/lib/libgfortran.so.3

>How-To-Repeat:
run script cd.sh

BEGIN SCRIPT
#!/bin/sh

pkg_info -x numpy
pkg_info -x gcc-aux
pkg_info -x python27

cat<<EOF>ab.sh
#!/bin/sh

export LD_LIBRARY_PATH="/usr/local/lib"
python ab.py
exit
EOF
chmod +x ab.sh
./ab.sh

SHLIBS="\
 /usr/local/gcc-aux/lib/libgfortran.so.3 \
 /usr/local/gcc-aux/lib/libgfortran.so \
"

for f in $SHLIBS; do
    echo "LDD $f"
    ldd $f
    echo "CHRPATH $f"
    chrpath -l $f
done


echo "0000000"
objdump -p /usr/local/gcc-aux/lib/libgcc_s.so.1
echo "1111111"
objdump -p /lib/libgcc_s.so.1

END SCRIPT
>Fix:
unknown. Hopefully not just a simple configuration issue!

Patch attached with submission follows:

$ ./cd.sh
./cd.sh
Information for py27-numpy-1.7.0_1,1:

Comment:
The New Numeric Extension to Python


Description:
The fundamental package needed for scientific computing with Python is
called NumPy.  This package contains:

    * a powerful N-dimensional array object
    * sophisticated (broadcasting) functions
    * basic linear algebra functions
    * basic Fourier transforms
    * sophisticated random number capabilities
    * tools for integrating Fortran code.

NumPy derives from the old Numeric code base and can be used as a
replacement for Numeric.   It also adds the features introduced by numarray
and can also be used to replace numarray.

Note:	Development for Numeric has ceased, and users should transisition to
	NumPy as quickly as possible.

WWW: http://www.numpy.org/



Information for gcc-aux-20130411_2:

Comment:
Version of GCC 4.7 with full Ada support


Description:
The AUX compiler supports several languages: Ada, C, C++, Fortran and
Objective-C.  Since Ada support must be built by an Ada-capable compiler,
only platforms for which a bootstrap compiler is available can build the
AUX compiler.

The AUX compiler is based on release versions of the Free Software
Foundation's GNU Compiler Collection.  It carries with it the GMGPL license,
the modified version of the GPL that exempts generic instantiation from
resulting in a GPL-licensed executable.  It also carries the GCC Runtime
Library Exception, so the resulting binaries have no licensing requirements.
Binaries produced by the AUX compiler should be legally handled the same as
binaries produced by any FSF compiler.

The AUX GNAT compiler the full Ada-83, Ada-95, Ada-2005 standard and
provides a partial implementation of Ada-2012.  The Ada-2012 reference manual
was submitted to the International Organization for Standardization (ISO)
in June 2012.

WWW: http://www.dragonlace.net/



Information for python27-2.7.5_1:

Comment:
Interpreted object-oriented programming language


Required by:
git-1.8.3.4
glib-2.36.3
gdk-pixbuf2-2.28.2
gobject-introspection-1.36.0_1
gstreamer-0.10.36
gstreamer-plugins-0.10.36_3,3
polkit-0.105_1
shared-mime-info-1.1
dconf-0.14.1
dbus-glib-0.100.2
cairo-1.10.2_5,2
harfbuzz-0.9.19
pango-1.34.1_1
pangox-compat-0.0.2
libIDL-0.8.14_1
ORBit2-2.14.19
atk-2.8.0
gtk-update-icon-cache-2.24.19
gtk-2.24.19_1
gconf2-2.32.0_3
wxgtk2-common-2.8.12_2
wxgtk2-2.8.12_2
py27-gdata-2.0.18
py27-sqlite3-2.7.5_3
py27-xdg-0.19
py27-openssl-0.13
py27-pycrypto-2.6_1
tdb-1.2.12,1
talloc-2.0.8
tevent-0.9.18
samba36-libsmbclient-3.6.17
py27-libxml2-2.8.0
rarian-0.8.1
gnome-doc-utils-0.20.10
gnome-user-docs-2.32.0
libxklavier-5.0_1,1
libgee-0.6.8
vala-0.20.1
vala-vapigen-0.20.1
loudmouth-1.4.3_7
glibmm-2.36.2,1
libxml++-2.34.2
enchant-1.6.0_1
libgsf-1.14.27
libcroco-0.6.8
gmime-24-2.4.33
gsettings-desktop-schemas-3.6.1_1
glib-networking-2.36.2
libsoup-2.40.3_2
libnotify-0.7.5
desktop-file-utils-0.21
cairomm-1.10.0_1
py27-cairo-1.8.10_1
pangomm-2.28.4
poppler-0.22.2
poppler-glib-0.22.2
libspectre-0.2.6_1
libgtop-2.28.4
gamin-0.1.10_6
gnome-menus-2.30.5
libgnomecups-0.2.3_5,1
libgnomeprint-2.18.8_1
json-glib-0.14.2
gstreamer-plugins-gio-0.10.36,3
libnice-0.1.3
gstreamer-plugins-pango-0.10.36_1,3
gstreamer-plugins-good-0.10.31,3
gstreamer-plugins-soup-0.10.31,3
gstreamer-plugins-libpng-0.10.31,3
gstreamer-plugins-bad-0.10.23,3
gstreamer-plugins-dts-0.10.23,3
gstreamer-plugins-xvid-0.10.23,3
gstreamer-plugins-ugly-0.10.19,3
gstreamer-plugins-mpeg2dec-0.10.19,3
gstreamer-plugins-dvd-0.10.19,3
gstreamer-ffmpeg-0.10.13
py27-gobject-2.28.6_3
py27-gstreamer-0.10.22_1
colord-1.0.1
system-tools-backends-2.10.1_1
upower-0.9.7_1
telepathy-glib-0.20.2
telepathy-gabble-0.16.6
folks-0.4.3_1
libtelepathy-0.3.3_1
telepathy-mission-control-5.12.0
telepathy-logger-0.4.0
telepathy-idle-0.1.11
py27-dbus-1.1.1
py27-telepathy-python-0.15.19_1
avahi-app-0.6.31
ap22-mod_dnssd-0.6_8
policykit-0.9_6
consolekit-0.4.3
hal-0.5.14_20
hal-info-20091130
gstreamer-plugins-hal-0.10.31,3
liboobs-2.32.0
webcamd-3.10.0.7
gstreamer-plugins-v4l2-0.10.31,3
PackageKit-0.6.11_3
libbonobo-2.32.0
py27-orbit-2.24.0
gstreamer-plugins-theora-0.10.36,3
gstreamer-plugins-ogg-0.10.36,3
gstreamer-plugins-vorbis-0.10.36,3
gstreamer-plugins-mad-0.10.19,3
gstreamer-plugins-mp3-0.10.0_1
gstreamer-plugins-a52dec-0.10.19,3
gstreamer-plugins-core-0.10_13
farsight2-0.0.31
telepathy-farsight-0.0.19
py27-papyon-0.5.4_1
py27-telepathy-butterfly-0.5.15_2
gstreamer-plugins-flac-0.10.31_1,3
gstreamer-plugins-cdparanoia-0.10.36,3
gnome-speech-0.4.25
clutter-1.4.0_1
atkmm-2.22.6
swfdec-0.8.4_4
gtkglext-1.2.0_11
vte-0.26.2_4
gtkmm-2.24.2_1
polkit-gnome-0.102
gtkimageview-1.6.4_3
clutter-gtk-0.10.8_3
webkit-gtk2-1.8.3_2
seed-2.31.91_3
unique-1.1.6_5
gtk-engines2-2.20.2_1
librsvg2-2.36.4
libglade2-2.6.4_5
avahi-gtk-0.6.31_1
py27-gtk-2.24.0_1
gtk-vnc-0.3.10_9
libgnomecanvas-2.30.3_1
swfdec-gnome-2.30.1_1
gnome-nettool-2.32.0_1,1
gucharmap-2.32.1_1
gtksourceview2-2.10.5_1
py27-gtksourceview-2.10.1_1
gedit-2.30.4_2
libgnomekbd-2.32.0_1
gcalctool-5.32.2_1,2
ekiga3-3.2.6_10
yelp-2.30.2_7
gnome-desktop-2.32.1_3
libcanberra-0.28_3
gnome-packagekit-2.32.0_3
gstreamer-plugins-gconf-0.10.31,3
libgnome-keyring-2.32.0_5
libsoup-gnome-2.40.3_3
libchamplain-0.8.1_3
totem-pl-parser-2.32.3_2
libgdata-0.6.6_1
gnome-keyring-2.32.1_3
seahorse-2.32.0_9
xscreensaver-gnome-hacks-5.12_1
gnome-screensaver-2.30.2_3
policykit-gnome-0.9.2_6
gnome-mount-0.8_11
gvfs-1.12.3_1
nautilus-2.32.2.1_4
gnome-user-share-2.30.1_2
gnome-system-tools-2.32.0_2
file-roller-2.32.1_1,1
brasero-2.32.1_5
pulseaudio-0.9.23_2
gnome-settings-daemon-2.32.1_4
totem-2.32.0_2
gnome-session-2.32.1_2
gnome-media-2.32.0_4
sound-juicer-2.32.0_3
gnome-vfs-2.24.4_1
libgnome-2.32.0_1
gnome-terminal-2.32.1_2
libbonoboui-2.24.4_1
libwnck-2.30.6_1
zenity-2.32.1_2
metacity-2.30.3_1
gnome-themes-2.32.1_1
epiphany-2.30.6_3
gnome-icon-theme-2.31.0_3
gnome-system-monitor-2.28.2_2
gtkhtml3-3.32.1_2
eog-2.32.1_4
evince-2.32.0_11
libgnomeui-2.24.4_2
gconf-editor-2.32.0_1,1
gnome-spell-1.0.8_7
py27-gnome-2.28.1_3
libgnomeprintui-2.18.6_1
gtksourceview-1.8.5_8
libgweather-2.30.3_2
evolution-data-server-2.32.1_4
gnome-control-center-2.32.1_1
evolution-webcal-2.32.0_3
evolution-2.32.1_5
evolution-exchange-2.32.1_3
nautilus-sendto-2.32.0_2
empathy-2.34.0_4
cheese-2.32.0_3
gnome-panel-2.32.1_3
vino-2.32.2_4
vinagre-2.30.3_3
seahorse-plugins-2.30.1_8
mousetweaks-2.32.1_1
gnome-utils-2.32.0_2,1
gnome-power-manager-2.32.0_2
gnome-netstatus-2.28.2_1
gdm-2.30.7_2
bug-buddy-2.32.0_3
py27-gnome-desktop-2.32.0_2
hamster-applet-2.32.1_4
gnome-games-2.32.1_4
gnome-applets-2.32.1.1_4
deskbar-applet-2.32.0_3
alacarte-0.13.2_2
at-spi2-core-2.8.0
at-spi2-atk-2.8.0
gtk-3.8.2_1
libcanberra-gtk3-0.28_3
notification-daemon-0.7.2_1
at-spi-1.32.0_2
gok-2.30.1_1,1
gnome-mag-0.16.3_1
orca-2.32.1_2
dasher-4.10.1_6,2
gnome2-2.32.1_4
tigervnc-1.2.0_3
libxfce4util-4.10.1
garcon-0.2.1
xfce4-tumbler-0.1.29_1
icons-tango-0.8.90_2
icons-tango-extras-0.1.0_5
gtk-xfce-engine-3.0.1
mousepad-0.3.0
xfce4-conf-4.10.0_4
libxfce4menu-4.10.0_4
xfce4-wm-4.10.1
xfce4-terminal-0.6.2
xfce4-session-4.10.1_1
xfce4-appfinder-4.10.1
libexo-0.10.2_2
xfce4-settings-4.10.1
thunar-vfs-1.2.0_5
xfce4-panel-4.10.1
orage-4.8.4_1
Thunar-1.6.3
xfce4-desktop-4.10.2_2
squeeze-0.2.3_7
nauticalmanac-1.5_1
graphviz-2.32.0
cython-0.19.1
scons-2.3.0
py27-distribute-0.6.35
py27-nose-1.3.0
py27-numpy-1.7.0_1,1


Description:
Python is an interpreted object-oriented programming language, and is
often compared to Tcl, Perl or Scheme.

WWW: http://www.python.org/



Traceback (most recent call last):
  File "ab.py", line 1, in <module>
    from numpy import *
  File "/usr/local/lib/python2.7/site-packages/numpy/__init__.py", line 137, in <module>
    import add_newdocs
  File "/usr/local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in <module>
    from numpy.lib import add_newdoc
  File "/usr/local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 13, in <module>
    from polynomial import *
  File "/usr/local/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 17, in <module>
    from numpy.linalg import eigvals, lstsq, inv
  File "/usr/local/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 48, in <module>
    from linalg import *
  File "/usr/local/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 23, in <module>
    from numpy.linalg import lapack_lite
ImportError: /lib/libgcc_s.so.1: version GCC_4.6.0 required by /usr/local/gcc-aux/lib/libgfortran.so.3 not found
LDD /usr/local/gcc-aux/lib/libgfortran.so.3
/usr/local/gcc-aux/lib/libgfortran.so.3:
	libquadmath.so.0 => /usr/local/gcc-aux/lib/libquadmath.so.0 (0x282ee000)
	libm.so.5 => /lib/libm.so.5 (0x28364000)
	libgcc_s.so.1 => /usr/local/gcc-aux/lib/libgcc_s.so.1 (0x28387000)
	libc.so.7 => /lib/libc.so.7 (0x28073000)
CHRPATH /usr/local/gcc-aux/lib/libgfortran.so.3
/usr/local/gcc-aux/lib/libgfortran.so.3: RPATH=/usr/local/gcc-aux/lib
LDD /usr/local/gcc-aux/lib/libgfortran.so
/usr/local/gcc-aux/lib/libgfortran.so:
	libquadmath.so.0 => /usr/local/gcc-aux/lib/libquadmath.so.0 (0x282ee000)
	libm.so.5 => /lib/libm.so.5 (0x28364000)
	libgcc_s.so.1 => /usr/local/gcc-aux/lib/libgcc_s.so.1 (0x28387000)
	libc.so.7 => /lib/libc.so.7 (0x28073000)
CHRPATH /usr/local/gcc-aux/lib/libgfortran.so
/usr/local/gcc-aux/lib/libgfortran.so: RPATH=/usr/local/gcc-aux/lib
0000000

/usr/local/gcc-aux/lib/libgcc_s.so.1:     file format elf32-i386-freebsd

Program Header:
    LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12
         filesz 0x0001b928 memsz 0x0001b928 flags r-x
    LOAD off    0x0001b928 vaddr 0x0001c928 paddr 0x0001c928 align 2**12
         filesz 0x00000200 memsz 0x00000384 flags rw-
 DYNAMIC off    0x0001b93c vaddr 0x0001c93c paddr 0x0001c93c align 2**2
         filesz 0x000000e8 memsz 0x000000e8 flags rw-
EH_FRAME off    0x000194e0 vaddr 0x000194e0 paddr 0x000194e0 align 2**2
         filesz 0x0000051c memsz 0x0000051c flags r--
   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
         filesz 0x00000000 memsz 0x00000000 flags rw-

Dynamic Section:
  NEEDED      libc.so.7
  SONAME      libgcc_s.so.1
  RPATH       /usr/local/gcc-aux/lib
  INIT        0x2090
  FINI        0x18cb4
  HASH        0xd4
  GNU_HASH    0x558
  STRTAB      0x13c8
  SYMTAB      0xa08
  STRSZ       0x844
  SYMENT      0x10
  PLTGOT      0x1ca3c
  PLTRELSZ    0x178
  PLTREL      0x11
  JMPREL      0x1f18
  REL         0x1ee0
  RELSZ       0x38
  RELENT      0x8
  VERDEF      0x1d44
  VERDEFNUM   0xb
  VERNEED     0x1ec0
  VERNEEDNUM  0x1
  VERSYM      0x1c0c
  RELCOUNT    0x2

Version definitions:
1 0x01 0x04bd5c11 libgcc_s.so.1
2 0x00 0x0b792650 GCC_3.0
3 0x00 0x0b792653 GCC_3.3
	GCC_3.0 
4 0x00 0x09265f61 GCC_3.3.1
	GCC_3.3 
5 0x00 0x0b792654 GCC_3.4
	GCC_3.3.1 
6 0x00 0x09265e62 GCC_3.4.2
	GCC_3.4 
7 0x00 0x09275a60 GCC_4.0.0
	GCC_3.4.2 
8 0x00 0x09276060 GCC_4.2.0
	GCC_4.0.0 
9 0x00 0x09275f60 GCC_4.3.0
	GCC_4.2.0 
10 0x00 0x09275460 GCC_4.6.0
	GCC_4.3.0 
11 0x00 0x09275360 GCC_4.7.0
	GCC_4.6.0 

Version References:
  required from libc.so.7:
    0x077a28b0 0x00 12 FBSD_1.0

1111111

/lib/libgcc_s.so.1:     file format elf32-i386-freebsd

Program Header:
    LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12
         filesz 0x0000e488 memsz 0x0000e488 flags r-x
    LOAD off    0x0000e488 vaddr 0x0000f488 paddr 0x0000f488 align 2**12
         filesz 0x000001c0 memsz 0x0000031c flags rw-
 DYNAMIC off    0x0000e49c vaddr 0x0000f49c paddr 0x0000f49c align 2**2
         filesz 0x000000e0 memsz 0x000000e0 flags rw-
EH_FRAME off    0x0000d904 vaddr 0x0000d904 paddr 0x0000d904 align 2**2
         filesz 0x00000284 memsz 0x00000284 flags r--
   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
         filesz 0x00000000 memsz 0x00000000 flags rw-

Dynamic Section:
  NEEDED      libc.so.7
  SONAME      libgcc_s.so.1
  INIT        0x1674
  FINI        0xd19c
  HASH        0xd4
  GNU_HASH    0x404
  STRTAB      0xd60
  SYMTAB      0x6d0
  STRSZ       0x5c1
  SYMENT      0x10
  PLTGOT      0xf58c
  PLTRELSZ    0x110
  PLTREL      0x11
  JMPREL      0x1564
  REL         0x1524
  RELSZ       0x40
  RELENT      0x8
  VERDEF      0x13f4
  VERDEFNUM   0x8
  VERNEED     0x1504
  VERNEEDNUM  0x1
  VERSYM      0x1322
  RELCOUNT    0x5

Version definitions:
1 0x01 0x04bd5c11 libgcc_s.so.1
2 0x00 0x0b792650 GCC_3.0
3 0x00 0x0b792653 GCC_3.3
	GCC_3.0 
4 0x00 0x09265f61 GCC_3.3.1
	GCC_3.3 
5 0x00 0x0b792654 GCC_3.4
	GCC_3.3.1 
6 0x00 0x09265e62 GCC_3.4.2
	GCC_3.4 
7 0x00 0x09275a60 GCC_4.0.0
	GCC_3.4.2 
8 0x00 0x09276060 GCC_4.2.0
	GCC_4.0.0 

Version References:
  required from libc.so.7:
    0x077a28b0 0x00 09 FBSD_1.0

$ ^D
Process shell finished

Run simple cd.sh script. Output is in attached out.txt. The traceback shows that somehow (magical bits?) the base distribution /lib/libgcc_s.so.1 is used when the fortran.so library RPATH clearly states the GCC_4.6 library should be used.


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311210400.rAL40VLt072127>