[MacPorts] #57168: nspr does not build on Mojave 10.14
MacPorts
noreply at macports.org
Wed Sep 26 09:49:52 UTC 2018
#57168: nspr does not build on Mojave 10.14
---------------------+--------------------
Reporter: breiter | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port:
---------------------+--------------------
nspr fails to build on macOS Mojave 10.10.
{{{
:debug:build system: cd
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_nspr/nspr/work/nspr-4.20/nspr"
&& /usr/bin/make -j8 -w all
:info:build make: Entering directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_nspr/nspr/work/nspr-4.20/nspr'
:info:build /Applications/Xcode.app/Contents/Developer/usr/bin/make -C
config export
:info:build make[1]: Entering directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_nspr/nspr/work/nspr-4.20/nspr/config'
:info:build /usr/bin/clang -arch i386 now.o -L/opt/local/lib
-Wl,-headerpad_max_install_names
-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
-arch x86_64 -o now
:info:build ld: warning: The i386 architecture is deprecated for macOS
(remove from the Xcode build setting: ARCHS)
:info:build ld: warning: ignoring file
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd,
missing required architecture i386 in file
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd
:info:build Undefined symbols for architecture i386:
}}}
This happens because at build time CC gets defined in config/autoconf.mk
as `/usr/bin/clang -arch i386` and the MacOS10.14.sdk does not contain
i386 symbols. CC should not be defined to use `-arch i386`. Rather,
`./configure` should have the argument `--enable-64bit` passed and then
the build system will configure `/usr/bin/clang -arch x86_64` and the
software builds and works.
The seems to be an attempt to conditionally set this argument in the
Portfile using set merger_configure_args which I don't understand. This
does not work to set the argument on configure.args. It does work if I
explicitly set the argument in the configure.args expression, however this
would mean it would not build correctly in a 32-bit Intel system.
{{{
--- Portfile.old 2018-09-26 11:44:45.000000000 +0200
+++ Portfile 2018-09-26 11:45:12.000000000 +0200
@@ -33,10 +33,8 @@
configure.args \
--disable-debug \
--enable-optimize='${configure.optflags}' \
- --libdir=${prefix}/lib/nspr
-
-set merger_configure_args(ppc64) "--enable-64bit"
-set merger_configure_args(x86_64) "--enable-64bit"
+ --libdir=${prefix}/lib/nspr \
+ --enable-64bit"
variant debug description "build with debugging symbols" {
configure.args-delete --disable-debug \
}}}
--
Ticket URL: <https://trac.macports.org/ticket/57168>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list