[MacPorts] #56932: at-spi2-core @2.28.0 fails to build on Mac OS X 10.4.11 due to issues with -rpath in meson

MacPorts noreply at macports.org
Fri Dec 28 20:10:34 UTC 2018


#56932: at-spi2-core @2.28.0 fails to build on Mac OS X 10.4.11 due to issues with
-rpath in meson
---------------------------+--------------------
  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 ballapete):

 The recent version of `meson` (@0.49.0_0) is a bit different then the
 files Ken found in summer. Since I can understand Python a bit but are not
 able to write it, I chose a very simple and working and just working
 patch:

 {{{
 diff -u
 /opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7
 /site-packages/mesonbuild/compilers/compilers.py-orig
 /opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7
 /site-packages/mesonbuild/compilers/compilers.py
 ---
 /opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7
 /site-packages/mesonbuild/compilers/compilers.py-orig      2018-12-09
 15:27:23.000000000 +0100
 +++
 /opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7
 /site-packages/mesonbuild/compilers/compilers.py   2018-12-28
 20:48:06.000000000 +0100
 @@ -1194,22 +1194,6 @@
              # linked against local libraries will fail to resolve them.
              args.append('-Wl,-z,origin')

 -        if mesonlib.is_osx():
 -            # macOS does not support colon-separated strings in LC_RPATH,
 -            # hence we have to pass each path component individually
 -            args += ['-Wl,-rpath,' + rp for rp in all_paths]
 -        else:
 -            # In order to avoid relinking for RPATH removal, the binary
 needs to contain just
 -            # enough space in the ELF header to hold the final
 installation RPATH.
 -            paths = ':'.join(all_paths)
 -            if len(paths) < len(install_rpath):
 -                padding = 'X' * (len(install_rpath) - len(paths))
 -                if not paths:
 -                    paths = padding
 -                else:
 -                    paths = paths + ':' + padding
 -            args.append('-Wl,-rpath,' + paths)
 -
          if get_compiler_is_linuxlike(self):
              # Rpaths to use while linking must be absolute. These are not
              # written to the binary. Needed only with GNU ld:
 }}}

 `-rpath` is not needed in my version of `osx`.  And here is no alternative
 OS running. So I can do both: remove the osx case and not care of the else
 clause.

 Using this patched version of `meson` allowed to build `at-spi2-core
 @2.28.0_0`. When `ImageMagick` will be built I'll try to figure out a
 patch. Or way to patch.

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


More information about the macports-tickets mailing list