Opened 8 years ago
Closed 6 years ago
#54065 closed defect (duplicate)
nss @3.29.5_0 won't build on PPC Tiger, Mac OS X 10.4.11 because assembler fails due to useless GCC argument -arch ${build_arch}
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.4.1 |
Keywords: | powerpc | Cc: | ryandesign (Ryan Carsten Schmidt) |
Port: | nss |
Description
:info:build /opt/local/bin/clang-mp-3.3 -arch ppc -o Output.OBJD/Darwin_SINGLE_SHLIB/ecl_gf.o -c -Os -fPIC -Dppc -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -DNSS_NO_GCC48 -DXP_UNIX -DSHLIB_SUFFIX=\"dylib\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -DMP_API_COMPATIBLE -I/opt/local/include/nspr -I../../../dist/Output.OBJD/include -I../../../dist/public/nss -I../../../dist/private/nss -Impi -Iecl ecl/ecl_gf.c :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_net_nss/nss/work/.tmp/ecl_gf-Exzmnl.s:831:Parameter error: r0 not allowed for parameter %lu (code as 0 not r0) (parameter 2) :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_net_nss/nss/work/.tmp/ecl_gf-Exzmnl.s:885:Parameter error: r0 not allowed for parameter %lu (code as 0 not r0) (parameter 2) :info:build clang: error: assembler (via gcc) command failed with exit code 1 (use -v to see invocation) :info:build make[3]: *** [Output.OBJD/Darwin_SINGLE_SHLIB/ecl_gf.o] Error 1 :info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_net_nss/nss/work/nss-3.29.5/nss/lib/freebl' :info:build make[2]: *** [libs] Error 2
Attachments (3)
Change History (9)
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | Portfile.diff added |
---|
diff of Portfile
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | main.2.log added |
---|
Another main.log from PPC Tiger when compiling without -arch ppc
comment:1 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
The build succeeds with configure.compiler=macports-gcc-6
.
comment:2 follow-up: 3 Changed 8 years ago by kencu (Ken)
Yeah - nothing will reliably build and run on PPC with clang-3.3 or clang-3.4. There are too many assembler errors that never were, and by all reports never will be, fixed.
Anyone using Tiger on PPC (or Leopard on PPC) needs to be well aware of this fact.
I take it you're OK with closing this ticket then? Nobody is going to build this logic into the portfile, I suspect -- PPC users just have to know that clang is a lost cause on PPC, and deal with it when it happens.
comment:3 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
comment:4 follow-up: 5 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
I don't understand why you suggest removing -arch
flags. We very deliberately want all ports that build architecture-specific software to use -arch
flags to specify what that architecture should be.
comment:5 follow-up: 6 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ryandesign:
I don't understand why you suggest removing
-arch
flags.
With earlier versions of this package the builds, with and without -arch ppc
, I seem to remember, went farther without that flag. I blamed it on the bad PowerPC support of Clang. This is for nss @3.29.5
not the case (any more). So it's useless and wrong to call for their removal.
We very deliberately want all ports that build architecture-specific software to use
-arch
flags to specify what that architecture should be.
I don't see so much use in using this flag. The compilers used are native, they build for their native platform. They should know what they are doing. It looks superfluous. I'd actually would prefer (individual) optimisation for the hardware used on the Mac where the packages are built…
comment:6 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign added |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
I believe this bug only arose because you were building with clang on PowerPC, which does not work, so let's call this a duplicate of #55473.
Replying to ballapete:
Replying to ryandesign:
We very deliberately want all ports that build architecture-specific software to use
-arch
flags to specify what that architecture should be.I don't see so much use in using this flag.
MacPorts offers users the choice to configure for what architecture(s) they want to build. This feature only works if the port ensures that -arch
flags are supplied to the build where needed. MacPorts has offered this feature since Intel Macs became a thing in 2006. We have no plans to remove this feature.
main.log on PowerPC Tiger