Opened 17 months ago
Closed 17 months ago
#67384 closed defect (fixed)
gcc10-bootstrap @10.4.0 again broken on Rosetta due to attempting to build ppc64
Reported by: | barracuda156 | Owned by: | catap (Kirill A. Korinsky) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | powerpc, snowleopard, rosetta | Cc: | |
Port: | gcc10-bootstrap |
Description
/usr/bin/ranlib: file: libgcc_eh.a(darwin-fallback.o) has no symbols ranlib libgcc_eh.a ranlib: file: libgcc_eh.a(darwin-fallback.o) has no symbols # Early copyback; see "all" above for the rationale. The # early copy is necessary so that the gcc -B options find # the right startup files when linking shared libgcc. /bin/sh /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/gcc-10.4.0/libgcc/../mkinstalldirs ../../.././gcc/ppc64 parts="crt3.o libd10-uwfef.a crttms.o crttme.o libemutls_w.a crt2.o crt3_2.o libef_ppc.a dw_ppc.o"; \ for file in $parts; do \ rm -f ../../.././gcc/ppc64/$file; \ /usr/bin/install -c -m 644 $file ../../.././gcc/ppc64/; \ case $file in \ *.a) \ ranlib ../../.././gcc/ppc64/$file ;; \ esac; \ done /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/build/./gcc/xgcc -B/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/build/./gcc/ -B/opt/local/libexec/gcc10-bootstrap/powerpc-apple-darwin10.8.0/bin/ -B/opt/local/libexec/gcc10-bootstrap/powerpc-apple-darwin10.8.0/lib/ -isystem /opt/local/libexec/gcc10-bootstrap/powerpc-apple-darwin10.8.0/include -isystem /opt/local/libexec/gcc10-bootstrap/powerpc-apple-darwin10.8.0/sys-include -fno-checking -g -O2 -pipe -arch ppc -m64 -O2 -g -O2 -pipe -arch ppc -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -mmacosx-version-min=10.4 -Wa,-force_cpusubtype_ALL -fno-common -mlong-double-128 -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -mmacosx-version-min=10.4 -Wa,-force_cpusubtype_ALL -fno-common -mlong-double-128 -I. -I. -I../../.././gcc -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/gcc-10.4.0/libgcc -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/gcc-10.4.0/libgcc/. -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/gcc-10.4.0/libgcc/../gcc -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/gcc-10.4.0/libgcc/../include -o darwin-tramp.o -MT darwin-tramp.o -MD -MP -MF darwin-tramp.dep -c -xassembler-with-cpp -include darwin-tramp.vis /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/gcc-10.4.0/libgcc/config/rs6000/darwin-tramp.S xgcc: warning: m64 conflicts with ppc (arch flags ignored) mkdir -p ppc64 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/build/./gcc/xgcc -B/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/build/./gcc/ -B/opt/local/libexec/gcc10-bootstrap/powerpc-apple-darwin10.8.0/bin/ -B/opt/local/libexec/gcc10-bootstrap/powerpc-apple-darwin10.8.0/lib/ -isystem /opt/local/libexec/gcc10-bootstrap/powerpc-apple-darwin10.8.0/include -isystem /opt/local/libexec/gcc10-bootstrap/powerpc-apple-darwin10.8.0/sys-include -fno-checking -O2 -g -O2 -pipe -arch ppc -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -mmacosx-version-min=10.4 -Wa,-force_cpusubtype_ALL -fno-common -mlong-double-128 -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -m64 -dynamiclib -nodefaultlibs \ -install_name /opt/local/libexec/gcc10-bootstrap/lib/libgcc_ehs.1.1.dylib \ -o ppc64/libgcc_ehs.dylib -compatibility_version 1 -current_version 1.1 \ unwind-dw2_s.o unwind-dw2-fde-darwin_s.o unwind-c_s.o darwin-world_s.o darwin-fallback.o -lSystem xgcc: warning: m64 conflicts with ppc (arch flags ignored) ld: warning: in /usr/lib/dylib1.o, missing required architecture ppc64 in file ld: warning: in /usr/lib/libSystem.dylib, missing required architecture ppc64 in file Undefined symbols: "_getsectdatafromheader_64", referenced from: __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o "__keymgr_unlock_processwide_ptr", referenced from: __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o "__keymgr_set_and_unlock_processwide_ptr", referenced from: _live_image_destructor in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o "_malloc", referenced from: _search_object in unwind-dw2-fde-darwin_s.o _search_object in unwind-dw2-fde-darwin_s.o ___register_frame in unwind-dw2-fde-darwin_s.o ___register_frame_table in unwind-dw2-fde-darwin_s.o "__keymgr_get_and_lock_processwide_ptr", referenced from: _live_image_destructor in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o "_calloc", referenced from: __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o "_free", referenced from: _search_object in unwind-dw2-fde-darwin_s.o ___deregister_frame_info_bases in unwind-dw2-fde-darwin_s.o _live_image_destructor in unwind-dw2-fde-darwin_s.o _live_image_destructor in unwind-dw2-fde-darwin_s.o ___deregister_frame in unwind-dw2-fde-darwin_s.o "_pthread_once", referenced from: _uw_init_context_1 in unwind-dw2_s.o "_abort", referenced from: _uw_install_context_1 in unwind-dw2_s.o _read_encoded_value in unwind-dw2_s.o _execute_stack_op in unwind-dw2_s.o _uw_update_context_1 in unwind-dw2_s.o _execute_cfa_program in unwind-dw2_s.o _uw_frame_state_for in unwind-dw2_s.o _uw_init_context_1 in unwind-dw2_s.o __Unwind_RaiseException_Phase2 in unwind-dw2_s.o __Unwind_ForcedUnwind_Phase2 in unwind-dw2_s.o __Unwind_GetGR in unwind-dw2_s.o __Unwind_SetGR in unwind-dw2_s.o __Unwind_RaiseException in unwind-dw2_s.o __Unwind_Resume in unwind-dw2_s.o __Unwind_Resume_or_Rethrow in unwind-dw2_s.o __Unwind_Backtrace in unwind-dw2_s.o _read_encoded_value_with_base in unwind-dw2-fde-darwin_s.o _fde_single_encoding_compare in unwind-dw2-fde-darwin_s.o _fde_mixed_encoding_compare in unwind-dw2-fde-darwin_s.o _fde_mixed_encoding_compare in unwind-dw2-fde-darwin_s.o _classify_object_over_fdes in unwind-dw2-fde-darwin_s.o _classify_object_over_fdes in unwind-dw2-fde-darwin_s.o _add_fdes in unwind-dw2-fde-darwin_s.o _add_fdes in unwind-dw2-fde-darwin_s.o _linear_search_fdes in unwind-dw2-fde-darwin_s.o _linear_search_fdes in unwind-dw2-fde-darwin_s.o _search_object in unwind-dw2-fde-darwin_s.o _search_object in unwind-dw2-fde-darwin_s.o ___deregister_frame_info_bases in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o __Unwind_Find_FDE in unwind-dw2-fde-darwin_s.o _base_of_encoded_value in unwind-c_s.o _read_encoded_value_with_base in unwind-c_s.o ___gcc_personality_v0 in unwind-c_s.o "_memset", referenced from: _uw_frame_state_for in unwind-dw2_s.o _uw_init_context_1 in unwind-dw2_s.o ___frame_state_for in unwind-dw2_s.o "_strlen", referenced from: _uw_frame_state_for in unwind-dw2_s.o _get_cie_encoding in unwind-dw2-fde-darwin_s.o "_memcpy", referenced from: _uw_install_context_1 in unwind-dw2_s.o _uw_update_context_1 in unwind-dw2_s.o _execute_cfa_program in unwind-dw2_s.o _execute_cfa_program in unwind-dw2_s.o __Unwind_RaiseException in unwind-dw2_s.o __Unwind_RaiseException in unwind-dw2_s.o __Unwind_ForcedUnwind in unwind-dw2_s.o __Unwind_Resume in unwind-dw2_s.o __Unwind_Resume_or_Rethrow in unwind-dw2_s.o ld: symbol(s) not found collect2: error: ld returned 1 exit status make[5]: *** [libgcc_ehs.dylib] Error 1
We only need universal for PPC on 10.5. Not on 10.6 (whether native or Rosetta).
Attachments (1)
Change History (11)
comment:1 Changed 17 months ago by barracuda156
Keywords: | powerpc snowleopard rosetta added |
---|---|
Port: | gcc10-bootstrap added; powerpc snowleopard rosetta removed |
Changed 17 months ago by barracuda156
Attachment: | gcc10-bootstrap_10.4.0_log.txt added |
---|
comment:2 follow-up: 3 Changed 17 months ago by catap (Kirill A. Korinsky)
comment:3 follow-up: 4 Changed 17 months ago by barracuda156
Replying to catap:
Provided log file contains:
:debug:configure system: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/build" && /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc10-bootstrap/gcc10-bootstrap/work/gcc-10.4.0/configure --prefix=/opt/local/libexec/gcc10-bootstrap --enable-languages=c,c++,objc,obj-c++ --enable-bootstrap --with-system-zlib --without-zstd --disable-nls --disable-tls --enable-multilib --enable-multiarch --with-bugurl=https://trac.macports.org/newticket --enable-targets=powerpc-apple-darwin10,i386-apple-darwin10,x86_64-apple-darwin10which means that the condition from a Portfile
if {${universal_possible} && [variant_isset universal]} {is
true
here.I assume that if you disable the
universal
variant by adding-universal
, it will work.
I think it should be set to non-universal on darwin10 when build is for ppc, since ppc64 is not supported in any version of 10.6. That is, in the portfile, to unbreak it for everyone. Perhaps on Tiger also.
comment:4 Changed 17 months ago by catap (Kirill A. Korinsky)
Replying to barracuda156:
I think it should be set to non-universal on darwin10 when build is for ppc, since ppc64 is not supported in any version of 10.6. That is, in the portfile, to unbreak it for everyone. Perhaps on Tiger also.
Perhaps.
Anyway, it works fine on BuildBot: https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/153158
comment:5 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)
Yes, but the Intel buildbot workers build for Intel whereas Sergey configures his Intel Snow Leopard system to build for PowerPC, hence the problem. (I believe this configuration is what he means when he uses the term "Rosetta".) Theoretically MacPorts supports the notion of cross-compilation but in practice many ports are not prepared to deal with that.
comment:6 follow-up: 7 Changed 17 months ago by catap (Kirill A. Korinsky)
I've added into macports.conf
the block to the end:
universal_archs build_arch ppc cxx_stdlib libstdc++ buildfromsource always
and it literally switched off universal build, which disabled multilib
and multiarch
and allows to build it.
Also, at build log I see that it uses build
folder, not build-ppc
that means that it doesn't build universal build but configure string contains --enable-targets=powerpc-apple-darwin10,i386-apple-darwin10,x86_64-apple-darwin10
which is added by lines:
set universal_targets "" foreach arch ${universal_archs_supported} { set universal_targets "${universal_targets},$merger_host(${arch})" } ui_debug "Selected targets: ${universal_targets}" if { [string length ${universal_targets}] > 0 } { configure.args-append \ --enable-targets=[string replace ${universal_targets} 0 0] }
inside that if
. That shuldn't be possible. Thus, I haven't see inside log a line Selected targets
.
All of this puzzling me.
comment:7 follow-up: 8 Changed 17 months ago by barracuda156
Replying to catap:
I've added into
macports.conf
the block to the end:universal_archs build_arch ppc cxx_stdlib libstdc++ buildfromsource alwaysand it literally switched off universal build, which disabled
multilib
andmultiarch
and allows to build it.Also, at build log I see that it uses
build
folder, notbuild-ppc
that means that it doesn't build universal build but configure string contains--enable-targets=powerpc-apple-darwin10,i386-apple-darwin10,x86_64-apple-darwin10
which is added by lines:set universal_targets "" foreach arch ${universal_archs_supported} { set universal_targets "${universal_targets},$merger_host(${arch})" } ui_debug "Selected targets: ${universal_targets}" if { [string length ${universal_targets}] > 0 } { configure.args-append \ --enable-targets=[string replace ${universal_targets} 0 0] }inside that
if
. That shuldn't be possible. Thus, I haven't see inside log a lineSelected targets
.All of this puzzling me.
I have checked now, I have this is macports.conf on 10.6.8:
build_arch ppc universal_archs ppc i386 x86_64
comment:8 Changed 17 months ago by catap (Kirill A. Korinsky)
Replying to barracuda156:
I have checked now, I have this is macports.conf on 10.6.8:
build_arch ppc universal_archs ppc i386 x86_64Why it is there is because
darwinbuild
is set to require universal build that includes Intel, and I hoped to fix it (the port is broken, as of now).
When port build gcc10-bootstrap 'configure.universal_archs=ppc i386 x86_64'
should repeat your build. Am I right?
I've run that command and it uses build-ppc
folder to build it => munuiversal PG works. This is the second hm
from your log, because I haven't found any trace of that folder in it.
Let see how it goes on my end. I assume that it should fail relatively soon.
comment:9 Changed 17 months ago by catap (Kirill A. Korinsky)
May I ask you to try https://github.com/macports/macports-ports/pull/18569 ?
comment:10 Changed 17 months ago by catap (Kirill A. Korinsky)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Provided log file contains:
which means that the condition from a Portfile
is
true
here.I assume that if you disable the
universal
variant by adding-universal
, it will work.