Need help with a local install of matplotlib under Linux

Hi,

I would like to make a local install of matplotlib under Linux, but I’ve got 2 problems :

  1. I didn’t find how to setup the build to use the PGI C compiler.
    I tried python setup buil --help-compiler but there seems to be no preconfigured options for this compiler, and the default doesn’t work (see log2, below)
    How should I configure this ?

  2. I have a problem with the configuration of gtk dependencies.
    Theses dependencies are also locally installed and the setup.py script didn’t find them (see log1 below)
    But, the strange thing is that, if I modify the setup.py script and add “import gtk” on the top of it, the configuration seems to run nicely (see log2).
    Indded, it seems that “import gtk” works in setup.py but doesn’t in setupext.py, which is very weird to me

Have you got any ideas on how to solve this ?

[ log1 ]

···

python setup.py build
============================================================================
BUILDING MATPLOTLIB
matplotlib: 0.98.0
python: 2.5.2 |EPD Py25 4.1.30101| (r252:60911, Dec 19 2008,

                    17:15:55)  [GCC 4.1.2 20071124 (Red Hat 4.1.2-42)]
          platform: linux2

REQUIRED DEPENDENCIES
numpy: 1.1.1
freetype2: 9.10.3

OPTIONAL BACKEND DEPENDENCIES

            libpng: 1.2.10
           Tkinter: no
                    * Using default library and include directories for
                    * Tcl and Tk because a Tk window failed to open.
                    * You may need to define DISPLAY for Tk to work so

                    * that setup can determine where your libraries are
                    * located. Tkinter present, but header files are not
                    * found. You may need to install development

                    * packages.
          wxPython: 2.8.7.1
                    * WxAgg extension not required for wxPython >= 2.8
              Gtk+: no
                    * Building for Gtk+ requires pygtk; you must be able

                    * to "import gtk" in your build/install environment
                Qt: no
               Qt4: no
             Cairo: no

OPTIONAL DATE/TIMEZONE DEPENDENCIES

          datetime: present, version unknown
          dateutil: 1.4
              pytz: 2008c

OPTIONAL USETEX DEPENDENCIES
dvipng: 1.5
ghostscript: 8.15.2
latex: 3.141592

EXPERIMENTAL CONFIG PACKAGE DEPENDENCIES
configobj: 4.5.3
enthought.traits: 3.0.3

[Edit setup.cfg to suppress the above messages]

[/log1]

[log2]

python setup.py build
============================================================================
BUILDING MATPLOTLIB
matplotlib: 0.98.0

            python: 2.5.2 |EPD Py25 4.1.30101| (r252:60911, Dec 19 2008,

                    17:15:55)  [GCC 4.1.2 20071124 (Red Hat 4.1.2-42)]
          platform: linux2

REQUIRED DEPENDENCIES
numpy: 1.1.1
freetype2: 9.10.3

OPTIONAL BACKEND DEPENDENCIES

            libpng: 1.2.10
           Tkinter: no
                    * Using default library and include directories for
                    * Tcl and Tk because a Tk window failed to open.
                    * You may need to define DISPLAY for Tk to work so

                    * that setup can determine where your libraries are
                    * located. Tkinter present, but header files are not
                    * found. You may need to install development

                    * packages.
          wxPython: 2.8.7.1
                    * WxAgg extension not required for wxPython >= 2.8
              Gtk+: gtk+: 2.10.14, glib: 2.22.4, pygtk: 2.10.6,

                    pygobject: 2.12.3
                Qt: no
               Qt4: no
             Cairo: 1.4.0

OPTIONAL DATE/TIMEZONE DEPENDENCIES
datetime: present, version unknown

          dateutil: 1.4
              pytz: 2008c

OPTIONAL USETEX DEPENDENCIES
dvipng: 1.5
ghostscript: 8.15.2
latex: 3.141592

EXPERIMENTAL CONFIG PACKAGE DEPENDENCIES

         configobj: 4.5.3
  enthought.traits: 3.0.3

[Edit setup.cfg to suppress the above messages]

running build
running build_py

copying lib/matplotlib/mpl-data/matplotlibrc -> build/lib.linux-x86_64-2.5/matplotlib/mpl-data
copying lib/matplotlib/mpl-data/matplotlib.conf -> build/lib.linux-x86_64-2.5/matplotlib/mpl-data
running build_ext

building ‘matplotlib.ft2font’ extension
pgcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/freetype2 -I/usr/local/include -I/usr/include -I. -I/OutilsGroupe/EPD/include/python2.5 -c src/ft2font.cpp -o build/temp.linux-x86_64-2.5/src/ft2font.o

pgcc-Error-Unknown switch: -fno-strict-aliasing
pgcc-Error-Unknown switch: -fwrapv
pgcc-Error-Unknown switch: -Wall
pgcc-Error-Unknown switch: -Wstrict-prototypes
error: command ‘pgcc’ failed with exit status 1

[/log2]

LB wrote:

Hi,

I would like to make a local install of matplotlib under Linux, but I've got 2 problems :

1) I didn't find how to setup the build to use the PGI C compiler.
I tried python setup buil --help-compiler but there seems to be no preconfigured options for this compiler, and the default doesn't work (see log2, below)
How should I configure this ?

Python's distutils doesn't include support for the PGI compiler. Does PGI offer a gcc commandline compatibility mode (like icc does?). If not, you may need to look into providing a custom compiler class for PGI -- the distutils mailing list may be able to help you more than this one.

2) I have a problem with the configuration of gtk dependencies.
Theses dependencies are also locally installed and the setup.py script didn't find them (see log1 below)
But, the strange thing is that, if I modify the setup.py script and add "import gtk" on the top of it, the configuration seems to run nicely (see log2).
Indded, it seems that "import gtk" works in setup.py but doesn't in setupext.py, which is very weird to me

Have you got any ideas on how to solve this ?

That indeed is strange. Are you doing anything special with your PYTHONPATH environment variable, using virtualenv (or similar) that might have an impact on your Python environment during compilation?

Mike

···

[ log1 ]
> python setup.py build

BUILDING MATPLOTLIB
            matplotlib: 0.98.0
                python: 2.5.2 |EPD Py25 4.1.30101| (r252:60911, Dec 19 2008,
                        17:15:55) [GCC 4.1.2 20071124 (Red Hat 4.1.2-42)]
              platform: linux2

REQUIRED DEPENDENCIES
                 numpy: 1.1.1
             freetype2: 9.10.3

OPTIONAL BACKEND DEPENDENCIES
                libpng: 1.2.10
               Tkinter: no
                        * Using default library and include directories for
                        * Tcl and Tk because a Tk window failed to open.
                        * You may need to define DISPLAY for Tk to work so
                        * that setup can determine where your libraries are
                        * located. Tkinter present, but header files are not
                        * found. You may need to install development
                        * packages.
              wxPython: 2.8.7.1
                        * WxAgg extension not required for wxPython >= 2.8
                  Gtk+: no
                        * Building for Gtk+ requires pygtk; you must be able
                        * to "import gtk" in your build/install environment
                    Qt: no
                   Qt4: no
                 Cairo: no

OPTIONAL DATE/TIMEZONE DEPENDENCIES
              datetime: present, version unknown
              dateutil: 1.4
                  pytz: 2008c

OPTIONAL USETEX DEPENDENCIES
                dvipng: 1.5
           ghostscript: 8.15.2
                 latex: 3.141592

EXPERIMENTAL CONFIG PACKAGE DEPENDENCIES
             configobj: 4.5.3
      enthought.traits: 3.0.3

[Edit setup.cfg to suppress the above messages]

[/log1]

[log2]
> python setup.py build

BUILDING MATPLOTLIB
            matplotlib: 0.98.0
                python: 2.5.2 |EPD Py25 4.1.30101| (r252:60911, Dec 19 2008,
                        17:15:55) [GCC 4.1.2 20071124 (Red Hat 4.1.2-42)]
              platform: linux2

REQUIRED DEPENDENCIES
                 numpy: 1.1.1
             freetype2: 9.10.3

OPTIONAL BACKEND DEPENDENCIES
                libpng: 1.2.10
               Tkinter: no
                        * Using default library and include directories for
                        * Tcl and Tk because a Tk window failed to open.
                        * You may need to define DISPLAY for Tk to work so
                        * that setup can determine where your libraries are
                        * located. Tkinter present, but header files are not
                        * found. You may need to install development
                        * packages.
              wxPython: 2.8.7.1
                        * WxAgg extension not required for wxPython >= 2.8
                  Gtk+: gtk+: 2.10.14, glib: 2.22.4, pygtk: 2.10.6,
                        pygobject: 2.12.3
                    Qt: no
                   Qt4: no
                 Cairo: 1.4.0

OPTIONAL DATE/TIMEZONE DEPENDENCIES
              datetime: present, version unknown
              dateutil: 1.4
                  pytz: 2008c

OPTIONAL USETEX DEPENDENCIES
                dvipng: 1.5
           ghostscript: 8.15.2
                 latex: 3.141592

EXPERIMENTAL CONFIG PACKAGE DEPENDENCIES
             configobj: 4.5.3
      enthought.traits: 3.0.3

[Edit setup.cfg to suppress the above messages]

running build
running build_py
copying lib/matplotlib/mpl-data/matplotlibrc -> build/lib.linux-x86_64-2.5/matplotlib/mpl-data
copying lib/matplotlib/mpl-data/matplotlib.conf -> build/lib.linux-x86_64-2.5/matplotlib/mpl-data
running build_ext
building 'matplotlib.ft2font' extension
pgcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/freetype2 -I/usr/local/include -I/usr/include -I. -I/OutilsGroupe/EPD/include/python2.5 -c src/ft2font.cpp -o build/temp.linux-x86_64-2.5/src/ft2font.o
pgcc-Error-Unknown switch: -fno-strict-aliasing
pgcc-Error-Unknown switch: -fwrapv
pgcc-Error-Unknown switch: -Wall
pgcc-Error-Unknown switch: -Wstrict-prototypes
error: command 'pgcc' failed with exit status 1
[/log2]
------------------------------------------------------------------------

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
------------------------------------------------------------------------

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
  
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA