apache / mxnet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
https://mxnet.apache.org
Apache License 2.0
20.77k stars 6.79k forks source link

"Check if MXNet is installed": Python import error: symbol not found: ___addtf3 #5487

Open PeterFelixNguyen opened 7 years ago

PeterFelixNguyen commented 7 years ago

Environment info

Operating System: MacOS El Capitan Version 10.11.6

Compiler: Clang 800.0.42.1 (Apple LLVM version 8.0.0)

Package used (Python/R/Scala/Julia): Python 2.7.13

MXNet version: 0.9.3

Or if installed from source: https://github.com/dmlc/mxnet (git clone)

MXNet commit hash (git rev-parse HEAD):

If you are using python package, please provide

Python version and distribution: Python 2.7.13

Error Message:

MacBook-Air:python user$ python Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.

import mxnet as mx Traceback (most recent call last): File "", line 1, in File "mxnet/init.py", line 7, in from .base import MXNetError File "mxnet/base.py", line 46, in _LIB = _load_lib() File "mxnet/base.py", line 38, in _load_lib lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_GLOBAL) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/init.py", line 362, in init self._handle = _dlopen(self._name, mode) OSError: dlopen(/Users/prabhdeepkaurbhullar/mxnet/python/mxnet/../../lib/libmxnet.so, 10): Symbol not found: ___addtf3 Referenced from: /usr/local/opt/gcc/lib/gcc/6/libquadmath.0.dylib Expected in: /usr/lib/libSystem.B.dylib in /usr/local/opt/gcc/lib/gcc/6/libquadmath.0.dylib a = mx.nd.ones((2, 3), mx.cpu()) Traceback (most recent call last): File "", line 1, in NameError: name 'mx' is not defined

Minimum reproducible example

Followed all of the MacOS steps for standard installation (no GPU) http://mxnet.io/get_started/osx_setup.html

We also tried quick installation but the libraries were not found.

Steps to reproduce

python
>>> import mxnet as mx1.

What have you tried to solve it?

(1) Google Search (could not find exact problem we had) (2) re-building libmxnet.so (as per the instructions)

yajiedesign commented 6 years ago

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!

pratapram commented 6 years ago

I see the same issue. I am following instructions here https://mxnet.incubator.apache.org/get_started/install.html

szha commented 6 years ago

@pratapram Do you have the same environment?

pratapram commented 6 years ago

I think so. I tried compiling, later tried installing using brew from here: https://mxnet.incubator.apache.org/get_started/install.html

Operating System: MacOS El Capitan Version 10.11.6

Python 2.7.13

import mxnet Traceback (most recent call last): File "", line 1, in File "/Users/xxx/anaconda2/lib/python2.7/site-packages/mxnet-0.11.0-py2.7.egg/mxnet/init.py", line 25, in from .base import MXNetError File "/Users/xxx/anaconda2/lib/python2.7/site-packages/mxnet-0.11.0-py2.7.egg/mxnet/base.py", line 96, in _LIB = _load_lib() File "/Users/xxx/anaconda2/lib/python2.7/site-packages/mxnet-0.11.0-py2.7.egg/mxnet/base.py", line 88, in _load_lib lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL) File "/Users/xxx/anaconda2/lib/python2.7/ctypes/init.py", line 362, in init self._handle = _dlopen(self._name, mode) OSError: dlopen(/Users/xxx/anaconda2/lib/python2.7/site-packages/mxnet-0.11.0-py2.7.egg/mxnet/libmxnet.so, 6): Symbol not found: ___addtf3 Referenced from: /usr/local/opt/gcc/lib/gcc/7/libquadmath.0.dylib Expected in: /usr/lib/libSystem.B.dylib in /usr/local/opt/gcc/lib/gcc/7/libquadmath.0.dylib

szha commented 6 years ago

Unrelated to this issue: @sandeep-krishnamurthy @bhavinthaker the script has hardcoded 0.10.0. Does either of you intend to maintain the script? https://github.com/apache/incubator-mxnet/blob/master/setup-utils/install-mxnet-osx-python.sh#L36

Also the script hard-code the usage of openblas instead of apple accelerate. https://github.com/apache/incubator-mxnet/blob/master/setup-utils/install-mxnet-osx-python.sh#L394

szha commented 6 years ago

@pratapram what's the output of otool -L /Users/xxx/anaconda2/lib/python2.7/site-packages/mxnet-0.11.0-py2.7.egg/mxnet/libmxnet.so

szha commented 6 years ago

@pratapram looks like this symbol is in libgcc. Did you use openblas instead of apple's accelerate framework?

pratapram commented 6 years ago

Yes. I used openblas

Here is the output of otool:

$ otool -L /Users/xxx/anaconda2/lib/python2.7/site-packages/mxnet-0.11.0-py2.7.egg/mxnet/libmxnet.so

/Users/xxx/anaconda2/lib/python2.7/site-packages/mxnet-0.11.0-py2.7.egg/mxnet/libmxnet.so:

lib/libmxnet.so (compatibility version 0.0.0, current version 0.0.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)

/usr/local/opt/openblas/lib/libopenblasp-r0.2.20.dylib (compatibility version 0.0.0, current version 0.0.0)

/usr/local/opt/opencv/lib/libopencv_stitching.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_superres.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_videostab.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_photo.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_aruco.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_bgsegm.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_bioinspired.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_ccalib.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_dpm.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_face.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_fuzzy.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_img_hash.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_line_descriptor.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_optflow.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_reg.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_rgbd.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_saliency.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_stereo.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_structured_light.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_phase_unwrapping.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_surface_matching.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_tracking.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_datasets.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_text.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_dnn.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_plot.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_ml.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_xfeatures2d.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_shape.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_video.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_ximgproc.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_calib3d.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_features2d.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_highgui.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_videoio.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_flann.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_xobjdetect.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_imgcodecs.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_objdetect.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_xphoto.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_imgproc.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/local/opt/opencv/lib/libopencv_core.3.3.dylib (compatibility version 3.3.0, current version 3.3.0)

/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)

thanks Pratap

On Mon, Oct 16, 2017 at 10:54 AM, Sheng Zha notifications@github.com wrote:

@pratapram https://github.com/pratapram looks like this symbol is in libgcc. Did you use openblas instead of apple's accelerate framework?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/apache/incubator-mxnet/issues/5487#issuecomment-336970127, or mute the thread https://github.com/notifications/unsubscribe-auth/AP_OKwIcrIv6xccTn8-aEFQGjsFXSHOLks5ss5hYgaJpZM4Mh5cT .

szha commented 6 years ago

Consider changing to USE_BLAS=apple. Otherwise you will need to deal with getting the right libgfortran.

pratapram commented 6 years ago

Can you explain a bit more? Is this an enviroment variable or a config file?

On Mon, Oct 16, 2017 at 1:20 PM, Sheng Zha notifications@github.com wrote:

Consider changing to USE_BLAS=apple. Otherwise you will need to deal with getting the right libgfortran.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/apache/incubator-mxnet/issues/5487#issuecomment-337026234, or mute the thread https://github.com/notifications/unsubscribe-auth/AP_OKw69u6unsz71CB93AdepLWHr8Grgks5ss7qLgaJpZM4Mh5cT .

szha commented 6 years ago

It can be either an entry of the config file or can be passed in as environment variable.

You may consider installing the package from pip as it's easier. pip install mxnet

szha commented 6 years ago

@apache/mxnet-committers: This issue has been inactive for the past 90 days. It has no label and needs triage.

For general "how-to" questions, our user forum (and Chinese version) is a good place to get help.

lanking520 commented 5 years ago

@PeterFelixNguyen Are you still facing this problems?