[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