Summary: | graphics/mypaint fails to run: ImportError: numpy.core.multiarray failed to import | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | yedderson <yedderson> | ||||
Component: | Individual Port(s) | Assignee: | Jan Beich <jbeich> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | jbeich | ||||
Priority: | Normal | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Bug Depends on: | 193429, 193434 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Description
yedderson
2014-04-08 22:50:00 UTC
Responsible Changed From-To: freebsd-ports-bugs->amdmi3 Over to maintainer (via the GNATS Auto Assign Tool) It appears the port needs same DT_RPATH as py-numpy. Created attachment 147021 [details]
build log with both patches applied
mypaint now starts fine inside poudriere jail but there's a warning about missing icon in the default gtk theme.
$ mypaint
0
Using GTK2
builtin python 2.6 json support
DEBUG: getlocale(): (None, None)
DEBUG: localepath: /usr/local/share/locale
DEBUG: localepath_brushlib: /usr/local/share/locale
confpath = /home/foo/.mypaint/
Created /home/foo/.mypaint/
Created /home/foo/.mypaint/backgrounds
Created /home/foo/.mypaint/brushes
Created /home/foo/.mypaint/scratchpads
DEBUG: mode stack updated: <ModeStack [SwitchableFreehandMode]>
Merging upstream brush changes into your collection.
Traceback (most recent call last):
File "/usr/local/share/mypaint/gui/toolbar.py", line 755, in on_size_allocate
self._update()
File "/usr/local/share/mypaint/gui/toolbar.py", line 776, in _update
scaled_pixbuf = self._get_scaled_pixbuf(s)
File "/usr/local/share/mypaint/gui/toolbar.py", line 760, in _get_scaled_pixbuf
return theme.load_icon(gtk.STOCK_MISSING_IMAGE, size, 0)
glib.GError: Icon 'gtk-missing-image' not present in theme
Looking for GTK devices with pressure:
No pressure sensitive devices found.
I've released maintainership of mypaint, release the PR as well. move this out of triage to "open", (a.k.a. "limbo") Bugzilla conversion ate comment 0 while comment 2 failed to provide an example. Without same RPATH as py-numpy runtime linker loads old libgcc_s first which leads to: $ pkg info -l mypaint | fgrep .so | xargs readelf -d | fgrep gcc_s 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1] $ LD_PRELOAD=/lib/libgcc_s.so.1 python -c 'import numpy' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/local/lib/python2.7/site-packages/numpy/__init__.py", line 170, in <module> from . import add_newdocs File "/usr/local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module> from numpy.lib import add_newdoc File "/usr/local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 18, in <module> from .polynomial import * File "/usr/local/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 19, in <module> from numpy.linalg import eigvals, lstsq, inv File "/usr/local/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 51, in <module> from .linalg import * File "/usr/local/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 29, in <module> from numpy.linalg import lapack_lite, _umath_linalg ImportError: /usr/lib/libgcc_s.so: version GCC_4.6.0 required by /usr/local/lib/gcc49/libgfortran.so.3 not found $ LD_PRELOAD=/lib/libgcc_s.so.1 mypaint ImportError: numpy.core.multiarray failed to import We are not correctly installed or compiled! script: "/usr/local/bin/mypaint" deduced prefix: "/usr/local" lib_shared: "/usr/local/share/mypaint/" lib_compiled: "/usr/local/lib/mypaint/" Traceback (most recent call last): File "/usr/local/bin/mypaint", line 170, in <module> datapath, extradata, confpath, localepath, localepath_brushlib = get_paths() File "/usr/local/bin/mypaint", line 111, in get_paths from lib import mypaintlib File "/usr/local/share/mypaint/lib/mypaintlib.py", line 25, in <module> _mypaintlib = swig_import_helper() File "/usr/local/share/mypaint/lib/mypaintlib.py", line 17, in swig_import_helper import _mypaintlib ImportError: numpy.core.multiarray failed to import A commit references this bug: Author: jbeich Date: Wed Jan 28 13:39:42 UTC 2015 New revision: 378057 URL: https://svnweb.freebsd.org/changeset/ports/378057 Log: Build using lang/gcc* to avoid runtime issues with old -lgcc_s or Clang Absence of RPATH leads to mypaint loading old libgcc_s.so.1 from base first which later breaks |import numpy| as libgfortran wants newer version. On 10.0+ the issue is masked by Clang failing to instantiate some templates. PR: 188382 PR: 193429 Differential Revision: https://reviews.freebsd.org/D1616 Approved by: bapt (mentor) Changes: head/graphics/mypaint/Makefile |