Opened 6 years ago
Closed 6 years ago
#57168 closed defect (fixed)
nspr does not build on Mojave 10.14
Reported by: | breiter (Brian Reiter) | Owned by: | jmroot (Joshua Root) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | nspr |
Description
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 \
Change History (2)
comment:1 Changed 6 years ago by jmroot (Joshua Root)
Port: | nspr added |
---|
comment:2 Changed 6 years ago by jmroot (Joshua Root)
Owner: | set to jmroot |
---|---|
Resolution: | → fixed |
Status: | new → closed |
In a19d0eec8c3e9f2e5ca5f70befab418460e9bd6e/macports-ports (master):