#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