[MacPorts] #56932: at-spi2-core @2.28.0 fails to build on PPC Tiger, Mac OS X 10.4.11, because of issue with -rpath

MacPorts noreply at macports.org
Sun Aug 19 17:48:50 UTC 2018


#56932: at-spi2-core @2.28.0 fails to build on PPC Tiger, Mac OS X 10.4.11, because
of issue with -rpath
---------------------------+--------------------
  Reporter:  ballapete     |      Owner:  (none)
      Type:  defect        |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.5.3
Resolution:                |   Keywords:  tiger
      Port:  at-spi2-core  |
---------------------------+--------------------

Comment (by kencu):

 I believe the issue here is really with `meson`, which uses `rpath` by
 default on `macOS` now. I have edited the `meson` files manually as below,
 commenting out the noted lines that add `rpath` commands, and so far it
 seems to be working on `Tiger`. It's a hack at present, no doubt about it,
 but I think it's possible that we might come up with something elegant
 enough to have a patch for, even if it is unlikely to ever be accepted
 upstream given the age and penetration of `Tiger`.

 Notice there are a couple of control variables in `meson`, `build_rpath`
 and `install_rpath` that might possibly be manipulated to allow `Tiger` to
 work without these hacks.

 Somehow, these ports still find their link libraries when installed -- I
 think the final stage of the meson install on macOS puts in normal, real
 link names to the libraries.

 Another approach might be to modify `ld64` to ignore the `rpath` commands
 on `Tiger` rather than erroring out when they are found -- might work -- I
 don't know yet what downsides we might discover if we did that.

 {{{
 $ port -v installed meson
 The following ports are currently installed:
   meson @0.47.1_0 (active) platform='darwin 8' archs='noarch'
 date='2018-08-19T08:00:42-0700'

 $ pwd
 /opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7
 /site-packages/mesonbuild

 $ ag KEN .
 compilers/compilers.py

 995:        #KEN abs_rpaths = [os.path.join(build_dir, p) for p in
 rpath_paths]
 996:        #KEN if build_rpath != '':
 997:        #KEN    abs_rpaths.append(build_rpath)
 1000:        #KEN args += ['-Wl,-rpath,' + rp for rp in abs_rpaths]
 1036:        #KEN in the runtime path will be undefined and any
 binariesargs.append('-Wl,-rpath,' + paths)

 modules/gnome.py
 305:                #KEN if include_rpath:
 306:                #KEN    link_command.append('-Wl,-rpath,' + d)
 307:            #KEN if include_rpath:
 308:            #KEN    link_command.append('-Wl,-rpath,' + libdir)
 358:#KEN                        if include_rpath:
 359:#KEN                            external_ldflags.update(['-Wl,-rpath
 {}'.format(lib_dir)])
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/56932#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list