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

Create Mac Studio app package #28

Closed
6 of 7 tasks
w-m opened this issue Aug 21, 2019 · 9 comments
Closed
6 of 7 tasks

Create Mac Studio app package #28

w-m opened this issue Aug 21, 2019 · 9 comments

Comments

@w-m
Copy link
Member

w-m commented Aug 21, 2019

  • adapt make_dmg_functions.sh to work with MacPorts binaries (rpath?)
  • adapt make_dmg_functions.sh to work with HomeBrew binaries (rpath?)
  • disable codesign (stitchEm is not eligible for to get the membership fees of the Apple Developer Program waived)
  • create library license page
  • create menu / help entry linking to license page
  • create release on GitHub, upload .dmg
  • automatically push .dmg to GitHub from Travis?
@w-m w-m self-assigned this Aug 21, 2019
@w-m
Copy link
Member Author

w-m commented Aug 27, 2019

We may be able to use https://github.com/auriamg/macdylibbundler to do all the install_name_tool grunt work

@w-m
Copy link
Member Author

w-m commented Aug 27, 2019

Oh actually the current packaging code works fine in doing all necessary steps, no matter where the binaries come from, tried with MacPorts. I thought it required them to be already rpath'ed, but it doesn't.

@w-m
Copy link
Member Author

w-m commented Aug 27, 2019

Note to self: don't forget "-DBUILD_MACOSX_BUNDLE=ON" when configuring. Also make sure to set Qt version in the file qt.version to the same version as used in the CMAKE config.

I've got a working package locally. Issues:

  • doesn't launch, gives a CUDA error on a Nvidia-only machine. required me to re-link libvs to libvs_cuda, then it launches
  • additional libvs.dylibs in Contents/MacOS (should only be in Contents/Frameworks)
  • no app icon
  • non-sensical .webloc in the installer
  • doesn't have a proper version

There's > 120 libs now in Contents/Frameworks, compared to ~40 in VideoStitch Studio 2.3. Probably due to lots of features in ffmpeg/OpenCV/Eigen that are built in the MacPorts version that we disabled for VS deps.

@w-m
Copy link
Member Author

w-m commented Nov 10, 2019

doesn't launch, gives a CUDA error on a Nvidia-only machine. required me to re-link libvs to libvs_cuda, then it launches

make_dmg_functions.sh throws ERROR: Cannot resolve rpath "CUDA.framework/Versions/A/CUDA".

For some reason, /usr/local/cuda/lib/libcuda.dylib links to @rpath/CUDA.framework/Versions/A/CUDA. Why is this @rpath, and not just /Library/Frameworks/..., where the CUDA framework actually sits?

https://stackoverflow.com/questions/44714830/osx-sierra-tensorflow-build-error-ld-file-not-found-rpath-cuda-framework-ver suggests to manually change that link with install_name_tool. For some reason this is not enough, and the error message in make_studio_dmg persists. libvideostitch_cuda.dylib still has the rpath enty, where does this come from?

A dmg and package produced with this will still launch when the binary is directly called from the command line. It will not launch (showing "Your CUDA driver appears to be outdated"?!) when the app package is opened. Difference when looking at opened files: the command-line version opens /usr/local/cuda/lib/libcuda.dylib, the app package one does not.

(Once launched from the command line, the symlink is changed to _cuda, and then the app package launches as well).

@w-m
Copy link
Member Author

w-m commented Nov 10, 2019

@w-m
Copy link
Member Author

w-m commented Nov 10, 2019

Hm, libvideostitch.dylib in VideoStitch Studio 2.2.1 also linked to @rpath/CUDA.framework/Versions/A/CUDA, this does not seem to be the source of the issue.

@w-m
Copy link
Member Author

w-m commented Nov 11, 2019

doesn't have a proper version

fixed an issue in the regex that slashes aren't supported in branch names

@w-m
Copy link
Member Author

w-m commented May 3, 2020

Dual-backend-builds are assumed broken, and won't be fixed. We will just release single-backend builds. The UI/warning implications for that are in #37.

The las open point, the automatic builds are in discussed in #71.

@w-m w-m closed this as completed May 3, 2020
@jeremad
Copy link

jeremad commented May 3, 2020

If you provide me the command to build the installed I can implement that!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants