librelist archives

« back to archive

macdeployqt fails because of read-only libraries

macdeployqt fails because of read-only libraries

From:
Anand Buddhdev
Date:
2011-12-20 @ 15:02
I've come across a corner-case with the Homebrew installation of qt 4.8.0.
If you build an app bundle on OS X, and want to deploy it to systems which
don't have qt installed, you can copy the qt libraries into the bundle, and
then change the references to those libraries in the application to point
to the copies in the bundle. There's even a handy little tool called
"macdeployqt" which does this automatically.

However, under the Homebrew installation, all the libraries are installed
read-only. When macdeployqt copies them into the bundle, and tries to
update the paths in them, it fails.

I had to fix this on my system by manually doing "chmod 644" for all qt
libraries, and then running macdeployqt again.

Is there a way to tell Homebrew to install all files with mode 644 (or 755
for executables) for certain packages such as qt?

Regards,

Anand

Re: [homebrew] macdeployqt fails because of read-only libraries

From:
Mike McQuaid
Date:
2011-12-20 @ 15:18
On 20 Dec 2011, at 15:02, Anand Buddhdev wrote:

> I've come across a corner-case with the Homebrew installation of qt 
4.8.0. If you build an app bundle on OS X, and want to deploy it to 
systems which don't have qt installed, you can copy the qt libraries into 
the bundle, and then change the references to those libraries in the 
application to point to the copies in the bundle. There's even a handy 
little tool called "macdeployqt" which does this automatically.
> 
> However, under the Homebrew installation, all the libraries are 
installed read-only. When macdeployqt copies them into the bundle, and 
tries to update the paths in them, it fails.
> 
> I had to fix this on my system by manually doing "chmod 644" for all qt 
libraries, and then running macdeployqt again.
> 
> Is there a way to tell Homebrew to install all files with mode 644 (or 
755 for executables) for certain packages such as qt?

This is the case for most of the libraries on your OSX system that 
macdeployqt may pull in.

I recommend you either just do `chmod -R +w $QTDIR` after installation. 

--
Mike McQuaid
http://mikemcquaid.com