Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Jan 2016 21:31:50 +0000
From:      Olivier Duchateau <duchateau.olivier@gmail.com>
To:        "Mikhail T." <mi+thun@aldan.algebra.com>
Cc:        python@FreeBSD.org
Subject:   Re: numpy would not load: libgcc_s vs. libgfortran
Message-ID:  <20160104213150.4e47df03583e70cef356a51d@gmail.com>
In-Reply-To: <568AC046.8040300@aldan.algebra.com>
References:  <568AA168.5090400@aldan.algebra.com> <20160104193453.2ae62e7a01ab0a0cd845e296@gmail.com> <568AC046.8040300@aldan.algebra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 04 Jan 2016 13:56:06 -0500
"Mikhail T." <mi+thun@aldan.algebra.com> wrote:

> On 04.01.2016 14:34, Olivier Duchateau wrote:
> > Can you post the complete backtrace?
> >
> Well, here goes:
> 
>     ___________________________________ ERROR at setup of
>     TestAPI.test_can_post_image ____________________________________
>     Traceback (most recent call last):
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/tests/conftest.py",
>     line 33, in test_app
>         return tools.get_app(request)
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/tests/tools.py",
>     line 132, in get_app
>         'config:' + new_paste_config)
>       File "/opt/lib/python2.7/site-packages/paste/deploy/loadwsgi.py",
>     line 247, in loadapp
>         return loadobj(APP, uri, name=name, **kw)
>       File "/opt/lib/python2.7/site-packages/paste/deploy/loadwsgi.py",
>     line 272, in loadobj
>         return context.create()
>       File "/opt/lib/python2.7/site-packages/paste/deploy/loadwsgi.py",
>     line 710, in create
>         return self.object_type.invoke(self)
>       File "/opt/lib/python2.7/site-packages/paste/deploy/loadwsgi.py",
>     line 146, in invoke
>         return fix_call(context.object, context.global_conf,
>     **context.local_conf)
>       File "/opt/lib/python2.7/site-packages/paste/deploy/util.py", line
>     55, in fix_call
>         val = callable(*args, **kw)
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/app.py",
>     line 362, in paste_app_factory
>         mgoblin_app = MediaGoblinApp(mediagoblin_config)
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/app.py",
>     line 107, in __init__
>         setup_plugins()
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/init/plugins/__init__.py",
>     line 56, in setup_plugins
>         __import__(plugin_module)
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/media_types/audio/__init__.py",
>     line 18, in <module>
>         from mediagoblin.media_types.audio.processing import
>     AudioProcessingManager, \
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/media_types/audio/processing.py",
>     line 30, in <module>
>         from mediagoblin.media_types.audio.transcoders import (
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/media_types/audio/transcoders.py",
>     line 23, in <module>
>         from mediagoblin.media_types.audio import audioprocessing
>       File
>     "/spare/usr/ports/www/py-mediagoblin/work/mediagoblin-0.8.1/mediagoblin/media_types/audio/audioprocessing.py",
>     line 26, in <module>
>         import numpy
>       File "/opt/lib/python2.7/site-packages/numpy/__init__.py", line
>     180, in <module>
>         from . import add_newdocs
>       File "/opt/lib/python2.7/site-packages/numpy/add_newdocs.py", line
>     13, in <module>
>         from numpy.lib import add_newdoc
>       File "/opt/lib/python2.7/site-packages/numpy/lib/__init__.py",
>     line 8, in <module>
>         from .type_check import *
>       File "/opt/lib/python2.7/site-packages/numpy/lib/type_check.py",
>     line 11, in <module>
>         import numpy.core.numeric as _nx
>       File "/opt/lib/python2.7/site-packages/numpy/core/__init__.py",
>     line 14, in <module>
>         from . import multiarray
>     ImportError: /lib/libgcc_s.so.1: version GCC_4.6.0 required by
>     /opt/lib/gcc48/libgfortran.so.3 not found
> 
> > I already encountered this error, and if often due to a wrong python import (cycling import).
> 
> The script is from MediaGoblin's own self-tests. I doubt, they have a
> cycling import -- supposedly, goblin-developers use them regularly...
> Thanks! Yours,
> 
>     -mi
> 

I quickly check the source (and no time today), but I often observed this problem, when modules loaded from sys.modules (see mediaglobin/init/plugins/__init__.py).

It's not easy to debug. The best way (and time consuming) is to load each modules (and submodules) up to mediagoblin/media_types/audio/transcoders.py in comparison to the output of sys.modules (it's dictionary).

For example I easily fixed circular import for a new port, called Flowblade (it's a video editor, not yet in ports tree), but I can't find solution for Pitivi (another video editor).

After all it's perhaps Numpy's problem, but nobody reported this issue.

-- 
olivier



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