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)

main.log (127.3 KB) - added by ballapete (Peter "Pete" Dyballa) 8 years ago.
main.log on PowerPC Tiger
Portfile.diff (439 bytes) - added by ballapete (Peter "Pete" Dyballa) 8 years ago.
diff of Portfile
main.2.log (126.3 KB) - added by ballapete (Peter "Pete" Dyballa) 8 years ago.
Another main.log from PPC Tiger when compiling without -arch ppc

Download all attachments as: .zip

Change History (9)

Changed 8 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

main.log on PowerPC Tiger

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 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 llvm 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.

Version 0, edited 8 years ago by kencu (Ken) (next)

comment:3 in reply to:  2 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)

Replying to kencu:

I take it you're OK with closing this ticket then?

Alright!

comment:4 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 in reply to:  4 ; 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 in reply to:  5 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign added
Resolution: duplicate
Status: newclosed

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.

Note: See TracTickets for help on using tickets.