Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow packaging on macOS when ENABLE_MANTIDPLOT=OFF #29652

Conversation

martyngigg
Copy link
Member

@martyngigg martyngigg commented Sep 30, 2020

Description of work.

Ensures that if MantidPlot is disabled in cmake with -DENABLE_MANTIDPLOT then the macOS package only contains the MantidWorkbench bundle and not other stray directories.

To test:

  • First build with cmake flags -DENABLE_CPACK=ON -DENABLE_MANTIDPLOT=ON -DENABLE_WORKBENCH=ON and run the package target. The package should still contain both MantidPlot & Workbench.
  • Now try disabling MantidPlot and check the package on contains workbench.
  • A package without either is not yet supported nor is a package with only MantidPlot.

Fixes #28833
Refs #28650

This does not require release notes because it is an internal issue.


Reviewer

Please comment on the following (full description):

Code Review
  • Is the code of an acceptable quality?
  • Does the code conform to the coding standards?
  • Are the unit tests small and test the class in isolation?
  • If there is GUI work does it follow the GUI standards?
  • If there are changes in the release notes then do they describe the changes appropriately?
Functional Tests
  • Do changes function as described? Add comments below that describe the tests performed?
  • Do the changes handle unexpected situations, e.g. bad input?
  • Has the relevant (user and developer) documentation been added/updated?

Does everything look good? Mark the review as Approve. A member of @mantidproject/gatekeepers will take care of it.

Ensures that if MantidPlot is disabled then the macOS
package only contains the MantidWorkbench bundle
@martyngigg martyngigg added Maintenance Unassigned issues to be addressed in the next maintenance period. macOS Only The issues related to macOS only. ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS labels Sep 30, 2020
@martyngigg martyngigg added this to the Release 6.0 S1 milestone Sep 30, 2020
@DavidFair DavidFair self-assigned this Oct 2, 2020
@DavidFair
Copy link
Contributor

I'm running into the following with Mantid Plot off:

dyld: Library not loaded: @rpath/libcodedirectory.dylib
  Referenced from: /Library/Developer/CommandLineTools/usr/bin/install_name_tool
  Reason: image not found

CMake Error at /Users/<snip>/mantid_build/qt/applications/workbench/cmake_install.cmake:69 (message):
  Package script failed!!!

Call Stack (most recent call first):
  /Users/<snip>/mantid_build/qt/applications/cmake_install.cmake:42 (include)
  /Users/<snip>/mantid_build/qt/cmake_install.cmake:62 (include)
  /Users/<snip>/mantid_build/cmake_install.cmake:55 (include)

CPack Error: Error when generating package: mantidunstable

That being said I can't test with Mantid Plot enabled so can't tell if were referencing a library which gets left around from building Mantid Plot or a local issue

@martyngigg
Copy link
Member Author

Thanks. That's weird.

The script runs the tool install_name_tool to change the RPATHS in all of the shipped libraries. It looks like that is failing to start. Does install_name_tool -h work for you?

@DavidFair
Copy link
Contributor

Same error, so it's a local issue 🤔

@martyngigg
Copy link
Member Author

@DavidFair Did you get anywhere with fixing install_name_tool?

@DavidFair
Copy link
Contributor

I'm currently blocked by: https://bitbucket.org/jamesrhester/pycifrw/pull-requests/11

As CPack tries to pull in the upstream version and locally the compiler doesn't pull in the right headers

Copy link
Contributor

@DanielMurphy22 DanielMurphy22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test instructions work well for me. I'm not sure if the problem @DavidFair is seeing needs resolved here or not.

@DavidFair
Copy link
Contributor

No, it's a system issue I'm seeing unrelated (as master has the same). Thanks for approving in the mean time

@DavidFair DavidFair merged commit 950aed3 into mantidproject:master Oct 6, 2020
@martyngigg martyngigg deleted the 28833-macos-packaging-no-mantidplot branch October 7, 2020 06:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS macOS Only The issues related to macOS only. Maintenance Unassigned issues to be addressed in the next maintenance period.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot properly package on OSX with only ENABLE_WORKBENCH and not ENABLE_MANTIDPLOT
3 participants