[MacPorts] #42014: gjs build failure
MacPorts
noreply at macports.org
Sat Jan 4 14:20:58 PST 2014
#42014: gjs build failure
-------------------------+------------------------
Reporter: jwhowse4@… | Owner: juanrgar@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.2.1
Resolution: | Keywords:
Port: gjs |
-------------------------+------------------------
Comment (by jwhowse4@…):
Replying to [comment:3 juanrgar@…]:
> I think I managed to reproduce the issue. Please find attach my failed
build log.
>
> If I'm right the install_name of libmozjs-17.0.dylib points to a wrong
location. In your case it's apparently set to
../../../../../../../../../lib/libmozjs-17.0.dylib (in my case it's
@executable_path/libmozjs-17.0.dylib). The mozjs17 Portfile has a post-
patch phase that sets the install_name that's going to be used when
generating the dylib. From your build log I'd say that when you build
mozjs17, ${prefix} pointed to ../../../../../../../../../
>
> I'm not sure of this, and I don't know why ${prefix} could possibly
point to that location. Maybe the fact that your macports tree is under
/Volumes/ (possibly on an external unit) has something to do with this.
Anyways, could you please paste here the output of otool -D
PATH_TO_LIBMOZJS17/libmozjs-17.0.dylib? Could you please also comment on
where is your macports tree located, and where is your system
installation?
>
> To check if I'm right and this is an install_name issue, you could
change the install_name of your installed libmozjs-17.0.dylib manually,
using install_name_tool -id PATH_TO_LIBMOZJS17/libmozjs-17.0.dylib
PATH_TO_LIBMOZJS17/libmozjs-17.0.dylib
The result of your requested otool command.
{{{
otool -D /Volumes/User_Disk/opt/macports/lib/libmozjs-17.0.dylib
/Volumes/User_Disk/opt/macports/lib/libmozjs-17.0.dylib:
../../../../../../../../../lib/libmozjs-17.0.dylib
}}}
My system is installed on an internal drive mounted as /.
My macports is installed on a different internal drive mounted as
/Volumes/User_Disk. The full path to my macports installation is
/Volumes/User_Disk/opt/macports. This path is defined as 'prefix' in the
file macports.conf.
I checked several other random dynamic libraries in
/Volumes/User_Disk/opt/macports/lib using the command otool -D and all of
them point to the correct directory. So whatever is going wrong seems to
be unique to libmozjs.
Strangely there is a file called libmozjs185.1.0.dylib in the macports
library directory.
{{{
otool -D /Volumes/User_Disk/opt/macports/lib/libmozjs185.1.0.dylib
/Volumes/User_Disk/opt/macports/lib/libmozjs185.1.0.dylib:
/Volumes/User_Disk/opt/macports/lib/libmozjs185.1.0.dylib
}}}
I am not sure whether this is a previous copy of libmozjs which was for
some reason not removed when the package was upgraded or a library for
another package.
After running the install_name_tool command
{{{
install_name_tool -id
/Volumes/User_Disk/opt/macports/lib/libmozjs-17.0.dylib
/Volumes/User_Disk/opt/macports/lib/libmozjs-17.0.dylib
otool -D /Volumes/User_Disk/opt/macports/lib/libmozjs-17.0.dylib
/Volumes/User_Disk/opt/macports/lib/libmozjs-17.0.dylib:
/Volumes/User_Disk/opt/macports/lib/libmozjs-17.0.dylib
}}}
the package gjs builds properly.
If you need anything else, please let me know.
--
Ticket URL: <https://trac.macports.org/ticket/42014#comment:5>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list