You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm attempting to compile a statically linked Python interpreter which includes matplotlib. In general this works fine, except that I get errors during the linking phase:
multiple definition of `MPL_ARRAY_API'
.../matplotlib/_delaunay.a(_delaunay.o):.../build/matplotlib-1.2.1/lib/matplotlib/delaunay/_delaunay.cpp:313: first defined here
.../matplotlib/backends/_backend_agg.a(backend_agg.o): In function `__exchange_and_add_dispatch':
multiple definition of `MPL_ARRAY_API'
.../matplotlib/_delaunay.a(_delaunay.o):.../build/matplotlib-1.2.1/lib/matplotlib/delaunay/_delaunay.cpp:313: first defined here
.../matplotlib/_png.a(_png.o): In function `__exchange_and_add_dispatch':
multiple definition of `MPL_ARRAY_API'
.../matplotlib/_delaunay.a(_delaunay.o):.../build/matplotlib-1.2.1/lib/matplotlib/delaunay/_delaunay.cpp:313: first defined here
.../matplotlib/_tri.a(_tri.o): In function `__exchange_and_add_dispatch':
multiple definition of `MPL_ARRAY_API'
.../matplotlib/_delaunay.a(_delaunay.o):.../build/matplotlib-1.2.1/lib/matplotlib/delaunay/_delaunay.cpp:313: first defined here
.../matplotlib/ft2font.a(ft2font.o): In function `__exchange_and_add_dispatch':
multiple definition of `MPL_ARRAY_API'
.../matplotlib/_delaunay.a(_delaunay.o):.../build/matplotlib-1.2.1/lib/matplotlib/delaunay/_delaunay.cpp:313: first defined here
.../matplotlib/_path.a(path.o): In function `__exchange_and_add_dispatch':
multiple definition of `MPL_ARRAY_API'
.../matplotlib/_delaunay.a(_delaunay.o):.../build/matplotlib-1.2.1/lib/matplotlib/delaunay/_delaunay.cpp:313: first defined here
These errors are ignorable, using -Wl,-z,muldefs or similar, but if possible I'd like to clean them up.
Would there by any objection to using a differently named PY_ARRAY_UNIQUE_SYMBOL per extension module? This would be best-practice anyway.
I was thinking the name could be something like MPL_matplotlib__png_ARRAY_API which could be constructed like:
The change would be minimally intrusive in the master branch (only a few lines of code changed in the Numpy class in setupext.py). It would require more extensive changes in the 1.2.x branch so I would recommend not backporting the change.
I'm happy to provide a pull request if you think it would be accepted.
The text was updated successfully, but these errors were encountered:
I'm attempting to compile a statically linked Python interpreter which includes matplotlib. In general this works fine, except that I get errors during the linking phase:
These errors are ignorable, using
-Wl,-z,muldefs
or similar, but if possible I'd like to clean them up.Would there by any objection to using a differently named
PY_ARRAY_UNIQUE_SYMBOL
per extension module? This would be best-practice anyway.I was thinking the name could be something like
MPL_matplotlib__png_ARRAY_API
which could be constructed like:The change would be minimally intrusive in the master branch (only a few lines of code changed in the
Numpy
class insetupext.py
). It would require more extensive changes in the 1.2.x branch so I would recommend not backporting the change.I'm happy to provide a pull request if you think it would be accepted.
The text was updated successfully, but these errors were encountered: