Problem building Matplotlib 1.3.1 on linux (CentOS 5.9 AMD64)

Hello,

I’m having an issue building Matplotlib. In reality the build process finishes without error, but afterwards I get this error when importing pyplot:

[kpi@…4473… lib.linux-x86_64-3.3]$ python3.3

Python 3.3.2 (default, Sep 17 2013, 10:40:41)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux

Type “help”, “copyright”, “credits” or “license” for more information.

import matplotlib

import matplotlib.pyplot as plt

Traceback (most recent call last):

File “”, line 1, in

File “./matplotlib/pyplot.py”, line 24, in

import matplotlib.colorbar

File “./matplotlib/colorbar.py”, line 27, in

import matplotlib.artist as martist

File “./matplotlib/artist.py”, line 8, in

from .transforms import Bbox, IdentityTransform, TransformedBbox, \

File “./matplotlib/transforms.py”, line 35, in

from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox,

ImportError: ./matplotlib/_path.cpython-33m.so: undefined symbol: _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l

I don’t know a thing about building C extensions, but if I understood correctly some pasts posts in this list and others, this problem might be caused by a library that is compiled with an incompatible version of GCC.

My first suspect was freetype, so I downloaded and compiled v2.4.12 using gcc44 (which is the same compiler I used to build python3.3 and matplotlib).

But the problem persists… My question is: how can I know wich library is causing the issue, so I could recompile it?

Or, if I am completely missing the root cause, thank you for steering me in the correct direction :slight_smile:

More detailed info follows. Thank you for your help !

Nicolas

Here is the information asked for in the troubleshooting FAQ:

[kpi@…4473… matplotlib]$ uname -a

Linux dev-outils.admin.mt.lan 2.6.18-348.16.1.el5 #1 SMP Wed Aug 21 04:00:25 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux

[kpi@…4473… matplotlib]$ cat /etc/redhat-release

CentOS release 5.9 (Final)

But please, note that I am using a Python version built by myself (not the version that comes with CenOS 5.9) using gcc 4.4.7 (and not gcc 4.1.2)

[kpi@…4443…73… matplotlib]$ gcc44 -v

Using built-in specs.

Target: x86_64-redhat-linux6E

Configured with: …/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --disable-gnu-unique-object --with-as=/usr/libexec/binutils220/as --enable-languages=c,c++,fortran --disable-libgcj --with-mpfr=/builddir/build/BUILD/gcc-4.4.7-20120601/obj-x86_64-redhat-linux6E/mpfr-install/ --with-ppl=/builddir/build/BUILD/gcc-4.4.7-20120601/obj-x86_64-redhat-linux6E/ppl-install --with-cloog=/builddir/build/BUILD/gcc-4.4.7-20120601/obj-x86_64-redhat-linux6E/cloog-install --with-tune=generic --with-arch_32=i586 --build=x86_64-redhat-linux6E

Thread model: posix

gcc version 4.4.7 20120313 (Red Hat 4.4.7-1) (GCC)

[kpi@…4473… lib.linux-x86_64-3.3]$ python3.3

Python 3.3.2 (default, Sep 17 2013, 10:40:41)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux

matplotlib.version

‘1.3.1’

Here is what I modified in setup.cfg last time (but I also tried with an unmodified version with the same results):

[gui_support]

agg = True

cairo = False

gtk = False

gtk3agg = False

gtk3cairo = False

gtkagg = False

macosx = False

pyside = False

qt4agg = False

tkagg = False

windowing = False

wxagg = False

[rc_options]

backend = Agg

I didn’t modify any other config file. Here is the output of the build process:

···

[kpi@…4474… matplotlib-1.3.1]$ python3.3 setup.py build

============================================================================

Edit setup.cfg to change the build options

BUILDING MATPLOTLIB

matplotlib: yes [1.3.1]

python: yes [3.3.2 (default, Sep 17 2013, 10:40:41) [GCC

4.4.7 20120313 (Red Hat 4.4.7-1)]]

platform: yes [linux]

REQUIRED DEPENDENCIES AND EXTENSIONS

numpy: yes [version 1.8.0]

dateutil: yes [using dateutil version 2.2]

tornado: yes [using tornado version 3.1.1]

pyparsing: yes [using pyparsing version 2.0.1]

pycxx: yes [Official versions of PyCXX are not compatible

with Python 3.x. Using local copy]

libagg: yes [pkg-config information for ‘libagg’ could not

be found. Using local copy.]

freetype: yes [version 16.1.10]

png: yes [version 1.2.10]

OPTIONAL SUBPACKAGES

sample_data: yes [installing]

toolkits: yes [installing]

tests: yes [using nose version 1.3.0]

OPTIONAL BACKEND EXTENSIONS

macosx: no [skipping due to configuration]

qt4agg: no [skipping due to configuration]

gtk3agg: no [skipping due to configuration]

gtk3cairo: no [skipping due to configuration]

gtkagg: no [skipping due to configuration]

tkagg: no [skipping due to configuration]

wxagg: no [skipping due to configuration]

gtk: no [skipping due to configuration]

agg: yes [installing]

cairo: no [skipping due to configuration]

windowing: no [skipping due to configuration]

OPTIONAL LATEX DEPENDENCIES

dvipng: no

ghostscript: yes [version 8.70]

latex: no

pdftops: no

running build

running build_py

creating build