Ticket #10369 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Bundle matplotlib with Mantid

Reported by: Martyn Gigg Owned by: Martyn Gigg
Priority: major Milestone: Release 3.3
Component: Python Keywords:
Cc: Blocked By:
Blocking: Tester: Owen Arnold

Description

We already bundle matplotlib on Windows (as a holdover from IPython) but it was agreed by the TSC to bundle matplotlib on OS X and add dependencies to the Linux packages.

Change History

comment:1 Changed 6 years ago by Martyn Gigg

  • Status changed from new to assigned

comment:2 Changed 6 years ago by Martyn Gigg

The Linux packages already seem to have the required dependencies

comment:3 Changed 6 years ago by Martyn Gigg

  • Status changed from assigned to inprogress

comment:4 Changed 6 years ago by Martyn Gigg

This commit was to the 3rdpartylibs-mac repository:

Add matplotlib and dependencies for OS X 10.8

Refs #10369

comment:5 Changed 6 years ago by Martyn Gigg

  • Status changed from inprogress to verify
  • Resolution set to fixed

comment:6 Changed 6 years ago by Martyn Gigg

The 3rdpartylibs repositories don't have branches so the code is actually already merged.

For testing it requires OS X so please take the latest successful build from http://builds.mantidproject.org/job/develop_clean/label=osx-10.8-build/ and test that the package now includes matplotlib. For testing please be mindful of the warnings here: http://www.mantidproject.org/MantidPlot:External_Python_Plotting_Package.

Last edited 6 years ago by Martyn Gigg (previous) (diff)

comment:7 Changed 6 years ago by Owen Arnold

Unfortunately this didn't work.

ImportError: matplotlib requires pyparsing
  at line 1 in 'New script'
  caused by line 125 in '/Applications/MantidPlot.app/Contents/MacOS/matplotlib/__init__.py'

I tried with the clean build from Monday 27th October 2014.

comment:8 Changed 6 years ago by Owen Arnold

  • Status changed from verify to verifying
  • Tester set to Owen Arnold

comment:9 Changed 6 years ago by Owen Arnold

  • Status changed from verifying to reopened
  • Resolution fixed deleted

comment:10 Changed 6 years ago by Martyn Gigg

  • Status changed from reopened to inprogress

comment:11 Changed 6 years ago by Martyn Gigg

It looks like the cmake bundle didn't copy over pyparsing.py. I'll have another look.

comment:12 Changed 6 years ago by Martyn Gigg

Add a rule for installing files for bundled OS X Python packages.

Refs #10369

Changeset: df4a5aa22d7beced6daf22eccc7231a96c58088a

comment:13 Changed 6 years ago by Martyn Gigg

  • Status changed from inprogress to verify
  • Resolution set to fixed

That should do it. This time there is a branch to merge in the main code repository.

comment:14 Changed 6 years ago by Owen Arnold

  • Status changed from verify to verifying

comment:15 Changed 6 years ago by Owen Arnold

Different error obtained now.

ImportError: dlopen(/Applications/MantidPlot.app/Contents/MacOS/matplotlib/backends/_backend_agg.so, 2): Library not loaded: /usr/local/lib/libfreetype.6.dylib
  Referenced from: /Applications/MantidPlot.app/Contents/MacOS/matplotlib/backends/_backend_agg.so
  Reason: image not found
  at line 1 in 'New script'
  caused by line 98 in '/Applications/MantidPlot.app/Contents/MacOS/matplotlib/pyplot.py'
  caused by line 28 in '/Applications/MantidPlot.app/Contents/MacOS/matplotlib/backends/__init__.py'
  caused by line 12 in '/Applications/MantidPlot.app/Contents/MacOS/matplotlib/backends/backend_qt4agg.py'
  caused by line 38 in '/Applications/MantidPlot.app/Contents/MacOS/matplotlib/backends/backend_agg.py'

comment:16 Changed 6 years ago by Martyn Gigg

I have fixed the problem with the library reference in the 3rdpartylibs-mac repository in this commit.

The next develop_clean build should contain the fix.

comment:17 Changed 6 years ago by Owen Arnold

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/10369_bundle_matplotlib'

Full changeset: d308bf515e1376177daf221627363f3211636b83

comment:18 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11211

Note: See TracTickets for help on using tickets.