#59706 closed defect (fixed)
libgcc7 @7.5.0 does not build on PPC Mac OS X 10.5.8, Leopard, because of internal compiler error
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | leopard | Cc: | kencu (Ken), josephsacco |
Port: | libgcc7 |
Description
/bin/sh ./libtool --tag=CC --mode=compile /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build/./gcc/xgcc -B/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build/./gcc/ -B/opt/local/ppc-apple-darwin9/bin/ -B/opt/local/ppc-apple-darwin9/lib/ -isystem /opt/local/ppc-apple-darwin9/include -isystem /opt/local/ppc-apple-darwin9/sys-include -DHAVE_CONFIG_H -I. -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/config/bsd -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/config/darwin -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/config/posix -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/../include -Wall -Werror -Wc,-pthread -g -O2 -pipe -Os -MT target.lo -MD -MP -MF .deps/target.Tpo -c -o target.lo /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/target.c libtool: compile: /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build/./gcc/xgcc -B/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build/./gcc/ -B/opt/local/ppc-apple-darwin9/bin/ -B/opt/local/ppc-apple-darwin9/lib/ -isystem /opt/local/ppc-apple-darwin9/include -isystem /opt/local/ppc-apple-darwin9/sys-include -DHAVE_CONFIG_H -I. -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/config/bsd -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/config/darwin -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/config/posix -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/../include -Wall -pthread -Werror -g -O2 -pipe -Os -MT target.lo -MD -MP -MF .deps/target.Tpo -c /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/target.c -fno-common -DPIC -o .libs/target.o /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/target.c: In function 'gomp_map_lookup': /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/libgomp/target.c:151:1: internal compiler error: in maybe_record_trace_start, at dwarf2cfi.c:2330 } ^ libbacktrace could not find executable to open Please submit a full bug report, with preprocessed source if appropriate. See <https://trac.macports.org/newticket> for instructions. {standard input}:616:non-relocatable subtraction expression, "_register_lock" minus "L3$pb" {standard input}:616:symbol: "_register_lock" can't be undefined in a subtraction expression {standard input}:615:non-relocatable subtraction expression, "_register_lock" minus "L3$pb" {standard input}:615:symbol: "_register_lock" can't be undefined in a subtraction expression {standard input}:423:non-relocatable subtraction expression, "_register_lock" minus "L3$pb" {standard input}:423:symbol: "_register_lock" can't be undefined in a subtraction expression {standard input}:422:non-relocatable subtraction expression, "_register_lock" minus "L3$pb" {standard input}:422:symbol: "_register_lock" can't be undefined in a subtraction expression {standard input}:223:non-relocatable subtraction expression, "_devices" minus "L2$pb" {standard input}:223:symbol: "_devices" can't be undefined in a subtraction expression {standard input}:209:non-relocatable subtraction expression, "_num_devices" minus "L2$pb" {standard input}:209:symbol: "_num_devices" can't be undefined in a subtraction expression {standard input}:202:non-relocatable subtraction expression, "_devices" minus "L2$pb" {standard input}:202:symbol: "_devices" can't be undefined in a subtraction expression {standard input}:199:non-relocatable subtraction expression, "_num_devices" minus "L2$pb" {standard input}:199:symbol: "_num_devices" can't be undefined in a subtraction expression {standard input}:154:non-relocatable subtraction expression, "_devices" minus "L1$pb" {standard input}:154:symbol: "_devices" can't be undefined in a subtraction expression {standard input}:136:non-relocatable subtraction expression, "_num_devices" minus "L1$pb" {standard input}:136:symbol: "_num_devices" can't be undefined in a subtraction expression {standard input}:132:non-relocatable subtraction expression, "_num_devices_openmp" minus "L1$pb" {standard input}:132:symbol: "_num_devices_openmp" can't be undefined in a subtraction expression {standard input}:130:non-relocatable subtraction expression, "_devices" minus "L1$pb" {standard input}:130:symbol: "_devices" can't be undefined in a subtraction expression {standard input}:128:non-relocatable subtraction expression, "_num_devices_openmp" minus "L1$pb" {standard input}:128:symbol: "_num_devices_openmp" can't be undefined in a subtraction expression {standard input}:123:non-relocatable subtraction expression, "_devices" minus "L1$pb" {standard input}:123:symbol: "_devices" can't be undefined in a subtraction expression {standard input}:120:non-relocatable subtraction expression, "_num_devices" minus "L1$pb" {standard input}:120:symbol: "_num_devices" can't be undefined in a subtraction expression {standard input}:116:non-relocatable subtraction expression, "_num_devices" minus "L1$pb" {standard input}:116:symbol: "_num_devices" can't be undefined in a subtraction expression make[5]: *** [target.lo] Error 1 make[5]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build/ppc-apple-darwin9/libgomp' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build/ppc-apple-darwin9/libgomp' make[3]: *** [all] Error 2 make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build/ppc-apple-darwin9/libgomp' make[2]: *** [all-stage1-target-libgomp] Error 2 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build' make: *** [bootstrap-lean] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/build" && /usr/bin/make -w bootstrap-lean
The function is:
134 static inline splay_tree_key 135 gomp_map_lookup (splay_tree mem_map, splay_tree_key key) 136 { 137 if (key->host_start != key->host_end) 138 return splay_tree_lookup (mem_map, key); 139 140 key->host_end++; 141 splay_tree_key n = splay_tree_lookup (mem_map, key); 142 key->host_end--; 143 if (n) 144 return n; 145 key->host_start--; 146 n = splay_tree_lookup (mem_map, key); 147 key->host_start++; 148 if (n) 149 return n; 150 return splay_tree_lookup (mem_map, key); 151 }
The report about a missing executable seems faulty. dwarf2cfi.c
was compiled into dwarf2cfi.o
which was ar
chived in libbackend.a
. The source file can be found in /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_gcc7/libgcc7/work/gcc-7.5.0/gcc
, or in ../gcc-7.5.0/gcc
relative to build
directory. dwarf2cfi.c
has around line #2330:
2272 /* If LABEL is the start of a trace, then initialize the state of that 2273 trace from CUR_TRACE and CUR_ROW. */ 2274 2275 static void 2276 maybe_record_trace_start (rtx_insn *start, rtx_insn *origin) 2277 { 2278 dw_trace_info *ti; 2279 HOST_WIDE_INT args_size; 2280 2281 ti = get_trace_info (start); 2282 gcc_assert (ti != NULL); 2283 2284 if (dump_file) 2285 { 2286 fprintf (dump_file, " saw edge from trace %u to %u (via %s %d)\n", 2287 cur_trace->id, ti->id, 2288 (origin ? rtx_name[(int) GET_CODE (origin)] : "fallthru"), 2289 (origin ? INSN_UID (origin) : 0)); 2290 } 2291 2292 args_size = cur_trace->end_true_args_size; 2293 if (ti->beg_row == NULL) 2294 { 2295 /* This is the first time we've encountered this trace. Propagate 2296 state across the edge and push the trace onto the work list. */ 2297 ti->beg_row = copy_cfi_row (cur_row); 2298 ti->beg_true_args_size = args_size; 2299 2300 ti->cfa_store = cur_trace->cfa_store; 2301 ti->cfa_temp = cur_trace->cfa_temp; 2302 ti->regs_saved_in_regs = cur_trace->regs_saved_in_regs.copy (); 2303 2304 trace_work_list.safe_push (ti); 2305 2306 if (dump_file) 2307 fprintf (dump_file, "\tpush trace %u to worklist\n", ti->id); 2308 } 2309 else 2310 { 2311 2312 /* We ought to have the same state incoming to a given trace no 2313 matter how we arrive at the trace. Anything else means we've 2314 got some kind of optimization error. */ 2315 #if CHECKING_P 2316 if (!cfi_row_equal_p (cur_row, ti->beg_row)) 2317 { 2318 if (dump_file) 2319 { 2320 fprintf (dump_file, "Inconsistent CFI state!\n"); 2321 fprintf (dump_file, "SHOULD have:\n"); 2322 dump_cfi_row (dump_file, ti->beg_row); 2323 fprintf (dump_file, "DO have:\n"); 2324 dump_cfi_row (dump_file, cur_row); 2325 } 2326 2327 gcc_unreachable (); 2328 } 2329 #endif 2330 2331 /* The args_size is allowed to conflict if it isn't actually used. */ 2332 if (ti->beg_true_args_size != args_size) 2333 ti->args_size_undefined = true; 2334 } 2335 }
The function gcc_unreachable ()
is #define
'd in ../gcc-7.5.0/gcc/system.h
:
747 /* Use gcc_unreachable() to mark unreachable locations (like an 748 unreachable default case of a switch. Do not use gcc_assert(0). */ 749 #if (GCC_VERSION >= 4005) && !ENABLE_ASSERT_CHECKING 750 #define gcc_unreachable() __builtin_unreachable () 751 #else 752 #define gcc_unreachable() (fancy_abort (__FILE__, __LINE__, __FUNCTION__)) 753 #endif
Attachments (2)
Change History (57)
Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 5 years ago by kencu (Ken)
I'm working on this now, Pete. gcc7/libgcc7 does build on TigerPPC, using apple-gcc-4.2 as a bootstrap compiler, so hopefully that will be our stepping stone.
comment:2 Changed 5 years ago by kencu (Ken)
Cc: | kencu added |
---|
Changed 5 years ago by miniupnp (Thomas BERNARD)
Attachment: | libgcc7_failure-main_.log.gz added |
---|
main.log of building libgcc 7.5.0 on a Tiger PPC
comment:3 follow-up: 9 Changed 5 years ago by miniupnp (Thomas BERNARD)
libgcc7 fails to build on my PPC Tiger. Macports version 2.6.2
I have an installed version of libgcc7 and gcc7 : 7.4.0_3
comment:4 Changed 5 years ago by kencu (Ken)
I spoke with gcc's Darwin lead, and gcc7 builds for him on his Leopard PPC system without issues. Hmm.
I tried to build gcc7 separate from MacPorts, in the normal gcc way, and it failed as above. Hmmm.
On the other hand, gcc7 built for me on Tiger PPC.
Something strange is happening. TBA... I may have to get the gcc lead over here to look for us.
comment:6 Changed 5 years ago by kencu (Ken)
weirdness:
$ port -v installed | grep gcc7 gcc7 @7.5.0_0 (active) platform='darwin 8' archs='ppc' date='2019-11-20T01:30:27-0800' libgcc7 @7.5.0_0 (active) platform='darwin 8' archs='ppc' date='2019-11-19T11:37:12-0800'
but not building (yet) on Leopard PPC.
comment:7 Changed 5 years ago by josephsacco
Cc: | josephsacco added |
---|
comment:8 Changed 5 years ago by kencu (Ken)
so the suggestion from upstream was to try a non-MacPorts gcc7 build and see how that works. It's still building, but it looks like it will finish on 10.5 PPC. So it's going to be something in the MacPorts setup that is making the gcc build fail, it appears.
If you want to build gcc7 yourself and help get this sorted out, you can do this:
First, open up a clean terminal, with only the default PATH set, not including MacPorts /opt/local/bin or any other non-Apple folders.
In a writeable folder, like /tmp, make a dir. I used /tmp/gcc7build. Then obtain and decompress the following in that folder:
gcc-7.5.0 gmp-6.1.2 isl-0.21 mpc-1.1.0 mpfr-4.0.2 gcc-7.5.0.tar.xz gmp-6.1.2.tar.bz2 isl-0.21.tar.bz2 mpc-1.1.0.tar.gz mpfr-4.0.2.tar.xz
then move into the gcc-7.5.0 folder, and symlink the parts in.
cd gcc-7.5.0 ln -s ../gmp-6.1.2 gmp ln -s ../isl-0.21 isl ln -s ../mpc-1.1.0 mpc ln -s ../mpfr-4.0.2 mpfr
now make a build directory and then build inside there.
cd.. mkdir build cd build
and then build away, with a command something like this (gcc-dev recommended, but this does not match what we are doing on MacPorts exactly right now)
CC=/usr/bin/gcc-4.2 CXX=/usr/bin/g++-4.2 /tmp/gcc7build/gcc-7.5.0/configure --prefix=/opt/ken/powerpc-apple-darwin9/gcc-7-5a --target=powerpc-apple-darwin9 --host=powerpc-apple-darwin9 --build=powerpc-apple-darwin9 --disable-nls --enable-version-specific-runtime-libs --enable-languages=all,obj-c++ make -j 2
and then go for a long long long walk.
BTW, I think it's about time we made a fully cross-compiling gcc7 that can build +universal again, but that's another topic...
comment:9 follow-up: 15 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to miniupnp:
I see a few differences between your Tiger and mine:
:info:configure checking for ld... (cached) /opt/local/libexec/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/ld vs. :info:configure checking for ld... (cached) /opt/local/libexec/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.4/ld :info:build checking version of bison... 3.0.5, ok vs. :info:build checking version of bison... 3.4.2, ok
I have runtest (from dejagnu), doxygen, dot, docbook-xsl-ns, dblatex, pdflatex
. I am still waiting for the build to finish here. Or hit the same error…
Since you have
:info:build warning: gcc/cc1obj-checksum.o differs :info:build warning: gcc/cc1objplus-checksum.o differs :info:build Bootstrap comparison failure! :info:build gcc/host-darwin.o differs
it's likely that some disk space was missing. 3–4 GB
would be fine. Some amount gets abused by core files in /cores
… Or garbage bin.
comment:10 Changed 5 years ago by kencu (Ken)
So as expected, gcc 7.5.0
builds through on my 10.5 PPC system without a hiccup. Something in MacPorts appears to be messing up the build. Now the hard part comes -- what is it?
comment:11 Changed 5 years ago by kencu (Ken)
Here's something that looks promising. MacPorts adds some default optflags to a build that in some cases can mess gcc up. Removing those seems to help -- the build of gcc7 has moved past the point in libgomp
where it previously failed, and although it will take a few hours, looks like it might be on the way.
You can try for yourself by adding this bit near the bottom of the gcc7
portfile, to clear the optflags:
configure.cc_archflags + configure.optflags configure.cxx-append ${configure.cxx_archflags}
comment:12 Changed 5 years ago by kencu (Ken)
I'm not too impressed to be seeing this scattered throughout the gcc7 build, though:
-D_GLIBCXX_USE_CXX11_ABI=0
I think base could be messing us up there -- I have no idea what kind of mayhem throwing that flag into the build of gcc7/libgcc7 is going to do. I just don't think it belongs there, that's for sure.
To get around that, I cleared all the flags
configure.cflags configure.cxxflags configure.ldflags configure.optflags
just have to let this build through on 10.5, and work through what this might do to 10.6 to 10.8 before I decide how to commit it
comment:13 Changed 5 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:14 follow-up: 16 Changed 5 years ago by kencu (Ken)
to get things working on PPC, I just cleared configure.optflags
for the moment.
no revbump as this does not change any installed files.
comment:15 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
libgcc7
finally built here on my Tiger system. Now gcc7
is building (the next few days), 3.3 GB of free disk space are available.
comment:16 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
to get things working on PPC, I just cleared
configure.optflags
for the moment.
I'll have to wait until Tiger has updated all packages… (both systems are on the same disk in one PowerBook G4)
comment:17 Changed 5 years ago by kencu (Ken)
you don't need to fuss--I pushed the fix through, so that's why libgcc7 built for you on Tiger; it'll build now on Leopard too...
comment:18 Changed 5 years ago by josephsacco
Thanks, Ken. My G4 PPC-based Mac gets to live another day.
comment:19 Changed 5 years ago by kencu (Ken)
With pleasure -- gotta keep these vintage machines going! Did you write your "Morphine, ... " book on that, or a MacPlus back in the day?
comment:20 Changed 5 years ago by josephsacco
Not my book... I am not the M.D., the astronaut, or the hockey player. My academic training was in theoretical physics. A poor job market for physicists forced me to take my problem solving skills and apply them in the I.T. world.
As for the MacPlus... I certainly owned one and programmed it. I actually go back further than the Macplus. In another time, in another place I programmed on a Lisa using Pascal.
Technology stands still for no one... :-)
Be well,
-Joseph
comment:21 Changed 5 years ago by kencu (Ken)
Hmmm --- all may not be well here.
Ever since I upgraded libgcc7, cmake
is delivering memory errors "non-aligned pointer being freed".
reverting libgcc7 back to the 7.4.x version seems to fix those errors.... so ...
comment:22 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
libgcc7
and GCC7
, both version 7.5, finally built on PPC Leopard, Mac OS X 10.5.8, G4 (PowerPC 7447a). Next I'll try to build CMake
and see how it performs…
comment:23 follow-up: 24 Changed 5 years ago by kencu (Ken)
the new cmake won't build yet until I push my various fixes through. try the old version you already have installed on PPC Leopard though -- just run cmake
-- if it works fine for you with libgcc7 7.5.0, then I guess it must be something specific on my system. If yours also fails, then we have a problem. cmake on Tiger works fine with libgcc7 7.5.0 for me.
comment:24 follow-ups: 25 42 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
cmake --help cmake(31776) malloc: *** error for object 0x74c30c: Non-aligned pointer being freed *** set a breakpoint in malloc_error_break to debug
Endless loop (not summer)…
comment:25 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
clamav
is outdated. It needs GGC6
or GCC7
to build. I am not sure whether I built it before with GCC7
(@7.4). This old freshclam
still works fine…
comment:26 follow-up: 27 Changed 5 years ago by kencu (Ken)
OK. Same issue I have, then. Something is not right with libgcc7 7.5.0 on 10.5 PPC. Until that gets sorted out by somebody clever, all we can do is revert back to libgcc7 7.4.x, which is why I never remove outdated installed packages until a year or two goes by...
comment:27 follow-ups: 28 29 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
You must have a big fat Greek disk then…
Anyway, clamav @0.102.1
built, make check
succeeded, and freshclam
does its job as it should. So it must be some inerference with Legacy Support
that makes old CMake
crash…
comment:28 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
comment:29 follow-up: 30 Changed 5 years ago by kencu (Ken)
Replying to ballapete:
So it must be some inerference with
Legacy Support
that makes oldCMake
crash…
I wondered about that too -- but it's not happening on Tiger, which also uses the same legacysupport mechanism, so that wouldn't really make easy sense of it...
comment:30 follow-up: 31 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
I wondered about that too -- but it's not happening on Tiger, which also uses the same legacysupport mechanism, so that wouldn't really make easy sense of it...
Arn't the provided function sets different? Imagine a function on Leopard which gets used by CMake
that Tiger has natively – it should rather be the other way round! So on Tiger a function in Legacy Support
works OK while on Leoard this function either exists natively or is provided by libgcc7
and is faulty?
comment:31 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ballapete:
nm
outputs on Leoprad
:
/opt/local/lib/libMacportsLegacySupport.a(getline.o): U _getdelim 00000000 T _getline warning: nm: no name list /opt/local/lib/libMacportsLegacySupport.a(macports_legacy_realpath.o): 00000000 T _macports_legacy_realpath U _malloc U _realpath$DARWIN_EXTSN warning: nm: no name list
comment:32 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
I have found a programme, built with GCC7
that crashes: dvisvgm
. Invoked with '--help' it crashed, Mac OS X produced a crash report:
Process: dvisvgm [85414] Path: /opt/local/bin/dvisvgm Identifier: dvisvgm Version: ??? (???) Code Type: PPC (Native) Parent Process: tcsh [617] Interval Since Last Report: 310086 sec Crashes Since Last Report: 16 Per-App Interval Since Last Report: 0 sec Per-App Crashes Since Last Report: 1 Date/Time: 2019-12-06 16:09:22.180 +0100 OS Version: Mac OS X 10.5.8 (9L31a) Report Version: 6 Anonymous UUID: B98EE308-F5B2-4632-9B82-ECEF2D42D0B9 Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x000000000000002a Crashed Thread: 0 Thread 0 Crashed: 0 libstdc++.6.dylib 0x90120c80 bool std::has_facet<std::messages<char> >(std::locale const&) + 212 1 libstdc++.6.dylib 0x9012475c std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<long>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const + 116 2 libstdc++.6.dylib 0x90124878 std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const + 32 3 libstdc++.6.dylib 0x9012d804 std::basic_ostream<char, std::char_traits<char> >::operator<<(long) + 464 4 dvisvgm 0x00006604 CL::TypedOption<int, (CL::Option::ArgMode)2>::valueString() const + 48 5 dvisvgm 0x000078f0 CL::Option::helpline() const + 528 6 dvisvgm 0x00010024 CL::CommandLine::help(std::basic_ostream<char, std::char_traits<char> >&, int) const + 504 7 dvisvgm 0x00110868 main + 4080 8 dvisvgm 0x00005290 start + 64 Thread 0 crashed with PPC Thread State 32: srr0: 0x90120c80 srr1: 0x0000d030 dar: 0x0000002a dsisr: 0x40000000 r0: 0x00000002 r1: 0xbfffda20 r2: 0x00000026 r3: 0xbfffda6f r4: 0x00000002 r5: 0x00000026 r6: 0x00001002 r7: 0x00000000 r8: 0x01afc080 r9: 0xcccccccd r10: 0x00a25030 r11: 0xbfffda70 r12: 0x90f6a418 r13: 0xbfffddc8 r14: 0x0027fe34 r15: 0x01a01f08 r16: 0xbfffdda8 r17: 0xbfffdda4 r18: 0xbfffddac r19: 0xbfffddb0 r20: 0x00000000 r21: 0x00000012 r22: 0x01a01e08 r23: 0x00000018 r24: 0x00000020 r25: 0xa0046124 r26: 0xbfffdb00 r27: 0xbfffdc24 r28: 0x00000000 r29: 0xbfffda60 r30: 0xbfffda40 r31: 0x000076e8 cr: 0x42002444 xer: 0x00000002 lr: 0x90124760 ctr: 0x90f6a418 vrsave: 0x00000000 Binary Images: 0x1000 - 0x27ffff +dvisvgm ??? (???) <94ae0d3ada78354f9c1e9b248b33ed61> /opt/local/bin/dvisvgm 0x349000 - 0x3d4ffc +libfreetype.6.dylib ??? (???) <825b0d700ca5deb8790281382d574d3c> /opt/local/lib/libfreetype.6.dylib 0x3eb000 - 0x3f6fff +libwoff2enc.1.0.2.dylib ??? (???) <720a81c4012432cdacc2caeba0de3317> /opt/local/lib/libwoff2enc.1.0.2.dylib 0x3fb000 - 0x493fff +libbrotlienc.1.dylib ??? (???) <e5950ee1c0a927def23e2fb7e1aeaf42> /opt/local/lib/libbrotlienc.1.dylib 0x498000 - 0x622f8b +libcrypto.1.1.dylib ??? (???) <e689b0b96b10ebb25b9ffcdaa5d032f4> /opt/local/lib/libcrypto.1.1.dylib 0x69b000 - 0x6adffc +libz.1.dylib ??? (???) <df66d23576b060e5e0c66a68864cbe81> /opt/local/lib/libz.1.dylib 0x6b1000 - 0x6b7ffb +libpotrace.0.dylib ??? (???) <f514e33bf13dbe3189fab1b6bd9af8f7> /opt/local/lib/libpotrace.0.dylib 0x6ba000 - 0x6caffa +libkpathsea.6.dylib ??? (???) <c1a53e9fc9693fe2a856050320919ef8> /opt/local/lib/libkpathsea.6.dylib 0x6d1000 - 0x7ebfff +libstdc++.6.dylib ??? (???) <d604f3c7880a3b6293951df851672ac6> /opt/local/lib/libgcc/libstdc++.6.dylib 0x861000 - 0x86dffb +libgcc_s.1.dylib ??? (???) <b4f503d77eb93a13b1c842f92d9db30d> /opt/local/lib/libgcc/libgcc_s.1.dylib 0x870000 - 0x87eff3 +libbz2.1.0.dylib ??? (???) <c5f0db894edcdfc575c0b14f9fb7713c> /opt/local/lib/libbz2.1.0.dylib 0x882000 - 0x8a8fff +libpng16.16.dylib ??? (???) <dbda76b6e64af7bfbc6a30926b930d6b> /opt/local/lib/libpng16.16.dylib 0x8b0000 - 0x8b2fff +libwoff2common.1.0.2.dylib ??? (???) <3eb11829e3083cab987ef9a80abff94e> /opt/local/lib/libwoff2common.1.0.2.dylib 0x8b5000 - 0x8d4ffc +libbrotlicommon.1.dylib ??? (???) <bd514679e82b4bca7dbba20648146854> /opt/local/lib/libbrotlicommon.1.dylib 0x8d7000 - 0x918fff +libXt.6.dylib ??? (???) <0e4c8450923bc5cb4b5e22ba9badb754> /opt/local/lib/libXt.6.dylib 0x92a000 - 0x92fffc +libSM.6.dylib ??? (???) <61ffb3ab2f49e392ff241c2fe201245c> /opt/local/lib/libSM.6.dylib 0x933000 - 0x942fff +libICE.6.dylib ??? (???) <dccc30a00b4dfaacf9939148ffb09f54> /opt/local/lib/libICE.6.dylib 0x94a000 - 0x957fff +libXext.6.dylib ??? (???) <317de74a6ce6dcc2179f79824fc1b0fb> /opt/local/lib/libXext.6.dylib 0x95d000 - 0x9c1ffb +libtiff.5.dylib ??? (???) <529daa14ddef6858cbbfd6b213327573> /opt/local/lib/libtiff.5.dylib 0x9cf000 - 0x9e4fff +libjbig2dec.0.dylib ??? (???) <b37ed9684b62887579fbdd14db918204> /opt/local/lib/libjbig2dec.0.dylib 0x9e9000 - 0xa15ff9 +libjpeg.9.dylib ??? (???) <d86af374f5fac685fe5fe8d0e5692a8c> /opt/local/lib/libjpeg.9.dylib 0xa1c000 - 0xa1dfff +libpaper.1.dylib ??? (???) <5bfadf7ee8a73aaa6363f031a12722af> /opt/local/lib/libpaper.1.dylib 0xa20000 - 0xa21ffc +libXau.6.dylib ??? (???) <a118d7ccfea794eabcc92baabe2332b7> /opt/local/lib/libXau.6.dylib 0xadc000 - 0xf26ff7 +libgs.9.50.dylib ??? (???) <06ab157cc5aa5192b36935e61572614e> /opt/local/lib/libgs.9.50.dylib 0x15b8000 - 0x16b3fff +libX11.6.dylib ??? (???) <5937d1398d12a4d65a09664412be61fd> /opt/local/lib/libX11.6.dylib 0x16d1000 - 0x1710fff +liblcms2.2.dylib ??? (???) <24c4bfeedb411fe388f8fb0383207739> /opt/local/lib/liblcms2.2.dylib 0x1721000 - 0x1819fff +libiconv.2.dylib ??? (???) <15d53a8b7ea70a6c1b9fbe0b02655e5b> /opt/local/lib/libiconv.2.dylib 0x1825000 - 0x1853ffe +libidn.12.dylib ??? (???) <ba1d74f11882513148edb141af01d003> /opt/local/lib/libidn.12.dylib 0x1857000 - 0x188cfff +libfontconfig.1.dylib ??? (???) <562f58c6b5fa86690d26775f8b85a1ef> /opt/local/lib/libfontconfig.1.dylib 0x1897000 - 0x18abffe +libxcb.1.dylib ??? (???) <a398f73e4fad5d47bf0403509f45b134> /opt/local/lib/libxcb.1.dylib 0x18b9000 - 0x18bcfff +libXdmcp.6.dylib ??? (???) <123a764e210413abeb6972d40ea119dd> /opt/local/lib/libXdmcp.6.dylib 0x18bf000 - 0x1933fff +libzstd.1.dylib ??? (???) <251a69d4a129d3bf4837f18aaed10970> /opt/local/lib/libzstd.1.dylib 0x193e000 - 0x195effd +liblzma.5.dylib ??? (???) <639246e81689aa862460339cb27b2d20> /opt/local/lib/liblzma.5.dylib 0x1964000 - 0x196dfff +libintl.8.dylib ??? (???) <86cfa05c9e222e7291c13894d9e0698b> /opt/local/lib/libintl.8.dylib 0x1971000 - 0x1995fff +libexpat.1.dylib ??? (???) <0483556cda9aa234e88b2ff8f34afb1b> /opt/local/lib/libexpat.1.dylib 0x199c000 - 0x19a4ffb +libuuid.16.dylib ??? (???) <0be28af9a4ceb057e40665ac1acd5f78> /opt/local/lib/libuuid.16.dylib 0x8fe00000 - 0x8fe30c23 dyld 97.1 (???) <89a0055b0e7ea2db881b73c6e63bc774> /usr/lib/dyld 0x90102000 - 0x90169ffb libstdc++.6.dylib ??? (???) <a4e9b10268b3ffac26d0296499b24e8e> /usr/lib/libstdc++.6.dylib 0x9060b000 - 0x90636ff7 libauto.dylib ??? (???) <a64d088b2d17e013b9ee5a08d3a20d33> /usr/lib/libauto.dylib 0x906aa000 - 0x906b5ffb libgcc_s.1.dylib ??? (???) <ea47fd375407f162c76d14d64ba246cd> /usr/lib/libgcc_s.1.dylib 0x90f62000 - 0x91102fe3 libSystem.B.dylib ??? (???) <7dc28e19e1aac16b29cbd7c5d9ce9638> /usr/lib/libSystem.B.dylib 0x9442e000 - 0x94433ff6 libmathCommon.A.dylib ??? (???) /usr/lib/system/libmathCommon.A.dylib 0x95b56000 - 0x95c9eff3 libicucore.A.dylib ??? (???) <bdab570d90979c4f601131d442f84720> /usr/lib/libicucore.A.dylib 0x9620b000 - 0x96330ff3 com.apple.CoreFoundation 6.5.7 (476.19) <dee0f0024f3bf976cfa0a0816e8aa338> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x964d7000 - 0x965bafff libobjc.A.dylib ??? (???) <a1d4be2eed463c6799b6a1447fde72ba> /usr/lib/libobjc.A.dylib 0xfffec000 - 0xfffeffff libobjc.A.dylib ??? (???) /usr/lib/libobjc.A.dylib 0xffff8000 - 0xffff9703 libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib
pete 249 /\ otool -L /opt/local/bin/dvisvgm /opt/local/bin/dvisvgm: /opt/local/lib/libfreetype.6.dylib (compatibility version 24.0.0, current version 24.1.0) /opt/local/lib/libwoff2enc.1.0.2.dylib (compatibility version 1.0.2, current version 1.0.2) /opt/local/lib/libbrotlienc.1.dylib (compatibility version 1.0.0, current version 1.0.7) /opt/local/lib/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11) /opt/local/lib/libpotrace.0.dylib (compatibility version 1.0.0, current version 1.6.0) /opt/local/lib/libgs.9.50.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libkpathsea.6.dylib (compatibility version 10.0.0, current version 10.1.0) ==> /opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.24.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 830.0.0) /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
vs.
pete 250 /\ otool -L /opt/local/bin/freshclam /opt/local/bin/freshclam: /opt/local/lib/libclamav.9.dylib (compatibility version 10.0.0, current version 10.4.0) /opt/local/lib/libfreshclam.2.dylib (compatibility version 3.0.0, current version 3.0.0) /opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.1.0) /opt/local/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.8) /opt/local/lib/libxml2.2.dylib (compatibility version 12.0.0, current version 12.10.0) /opt/local/lib/libclammspack.0.dylib (compatibility version 2.0.0, current version 2.0.0) /opt/local/lib/libpcre2-8.0.dylib (compatibility version 10.0.0, current version 10.0.0) /opt/local/lib/libssl.1.1.dylib (compatibility version 1.1.0, current version 1.1.0) /opt/local/lib/libcrypto.1.1.dylib (compatibility version 1.1.0, current version 1.1.0) /opt/local/lib/libjson-c.3.dylib (compatibility version 4.0.0, current version 4.1.0) /opt/local/lib/libltdl.7.dylib (compatibility version 11.0.0, current version 11.1.0) /opt/local/lib/libcharset.1.dylib (compatibility version 2.0.0, current version 2.0.0) /usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 25.0.2) /opt/local/lib/libcurl.4.dylib (compatibility version 11.0.0, current version 11.0.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11) /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 26935.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.19.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 830.0.0) /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
Possible culprit found?
comment:33 Changed 5 years ago by kencu (Ken)
There is a known issue with locale
support and gcc on at least some MacOS versions -- that's all I can recall about it just now. Perhaps that is relevant...
Thread 0 Crashed: 0 libstdc++.6.dylib 0x90120c80 bool std::has_facet<std::messages<char> >(std::locale const&) + 212 1 libstdc++.6.dylib 0x9012475c std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<long>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const + 116 2 libstdc++.6.dylib 0x90124878 std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const + 32 3 libstdc++.6.dylib 0x9012d804 std::basic_ostream<char, std::char_traits<char> >::operator<<(long) + 464
comment:34 follow-up: 35 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
I tried to build source-highlight
with GCC7
first and the GCC6
. It encounters quite early, when trying to build .libs/libsource-highlight.4.dylib
, a libstdc++
related error. (I am going to return to version @7.4.)
comment:35 follow-up: 36 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ballapete:
(I am going to return to version @7.4.)
bsdtar
reported a problem when deactivating libgcc7 @7.5
…
comment:36 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ballapete:
I could reproduce it:
Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x000000008fe0105c Crashed Thread: 0 Dyld Error Message: Symbol not found: ___once_proxy Referenced from: /opt/local/lib/libicuuc.65.dylib Expected in: /usr/lib/libstdc++.6.dylib
comment:37 Changed 5 years ago by kencu (Ken)
This gcc7 7.5.0 upgrade is looking to be a problem. We may have to revert it, and then (hopefully not) rebuild everything that was built against libgcc7 7.5.0 until it is sorted out properly.
I try to be very careful about upgrading the core compiler parts. I run as much of the test suite as I can on all the systems that will be affected by the upgrade, and generally tend to hang back a long while before upgrading. Just because a new gcc version exists doesn't mean that we should upgrade to it, as recent events show.
comment:38 Changed 5 years ago by kencu (Ken)
This issue is a classic c++ standard lib mixup, exactly what we have always feared and tried our best to avoid on MacPorts.
Objects are being created using /usr/lib/libstdc++.dylib
and then (in this case) attempt to be deleted by /opt/local/lib/libstdc++.dylib
and they are not matching up, so errors are happening.
We've discussed this exact situation for years, but until now, it has not happened.
Solutions are tricky. Upstream is trying to see if they can tweak libgcc7 7.5.0 to not error out, like libgcc7 7.4.x did not error out. Maybe that might work. Dunno.
We can set the DYLD_LIBRARY_PATH to point to /opt/local/lib/libgcc/
and so software will look there first. That should work -- haven't tried it yet though.
You can set up a chroot
environment, and run your software there -- good luck -- if you know how to do that, you're probably not trying to run libgcc7 on a 15 year old PowerMac.
Or -- get ready for it -- we can update the libgcc in /usr/lib
to a current one, like the one from libgcc7
with some kind of installer that we supply (and maintain, and and and). I can hear the groans now.
We could, perhaps, get libc++ working on PowerMac, and use that -- it would, naturally, have no such interaction with /usr/lib/libstdc++.dylib
and therefore problem solved.
So -- working on it. For now, libgcc7 7.4.x is magically immune, it appears, at least so far as we know, for now.
comment:39 Changed 5 years ago by kencu (Ken)
Summary: | libgcc7 @7.5.0 does not bild on PPC Mac OS X 10.5.8, Leopard, because of internal compiler error → libgcc7 @7.5.0 does not build on PPC Mac OS X 10.5.8, Leopard, because of internal compiler error |
---|
comment:40 Changed 5 years ago by kencu (Ken)
setting DYLD_LIBRARY_PATH to point to /opt/local/lib/libgcc/ does fix this error, so far. However, other issues are likely to crop up. We would need a 4-arch version of libgcc, for one...
comment:41 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
A resolution is now needed: port
installed a new version of isl
and so gcc7 @7.4.0_3
and libgcc7 @7.4.0_3
are now unusable…
comment:42 follow-up: 47 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
CMake @3.16.3 just built with gcc7 @7.5.0_1
using
/opt/local/bin/cmake: /opt/local/lib/libMacportsLegacySupport.dylib (compatibility version 1.0.0, current version 1.0.0) /opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.11.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11) /opt/local/lib/libarchive.13.dylib (compatibility version 18.0.0, current version 18.1.0) /opt/local/lib/libcurl.4.dylib (compatibility version 11.0.0, current version 11.0.0) /opt/local/lib/libuv.1.dylib (compatibility version 2.0.0, current version 2.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.19.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0) /opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.24.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 830.0.0) /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
responds with
Usage cmake [options] <path-to-source> cmake [options] <path-to-existing-build> cmake [options] -S <path-to-source> -B <path-to-build> Specify a source directory to (re-)generate a build system for it in the current working directory. Specify an existing build directory to re-generate its build system. Options -S <path-to-source> = Explicitly specify a source directory. -B <path-to-build> = Explicitly specify a build directory. -C <initial-cache> = Pre-load a script to populate the cache. -D <var>[:<type>]=<value> = Create or update a cmake cache entry. -U <globbing_expr> = Remove matching entries from CMake cache. -G <generator-name> = Specify a build system generator. -T <toolset-name> = Specify toolset name if supported by generator. -A <platform-name> = Specify platform name if supported by generator. -Wdev = Enable developer warnings. -Wno-dev = Suppress developer warnings. -Werror=dev = Make developer warnings errors. -Wno-error=dev = Make developer warnings not errors. -Wdeprecated = Enable deprecation warnings. -Wno-deprecated = Suppress deprecation warnings. -Werror=deprecated = Make deprecated macro and function warnings errors. -Wno-error=deprecated = Make deprecated macro and function warnings not errors. -E = CMake command mode. -L[A][H] = List non-advanced cached variables. --build <dir> = Build a CMake-generated project binary tree. --install <dir> = Install a CMake-generated project binary tree. --open <dir> = Open generated project in the associated application. -N = View mode only. -P <file> = Process script mode. --find-package = Run in pkg-config like mode. --graphviz=[file] = Generate graphviz of dependencies, see CMakeGraphVizOptions.cmake for more. --system-information [file] = Dump information about this system. --log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE> = Set the verbosity of messages from CMake files. --loglevel is also accepted for backward compatibility reasons. --debug-trycompile = Do not delete the try_compile build tree. Only useful on one try_compile at a time. --debug-output = Put cmake in a debug mode. --trace = Put cmake in trace mode. --trace-expand = Put cmake in trace mode with variable expansion. --trace-source=<file> = Trace only this CMake file/module. Multiple options allowed. --trace-redirect=<file> = Redirect trace output to a file instead of stderr. --warn-uninitialized = Warn about uninitialized values. --warn-unused-vars = Warn about unused variables. --no-warn-unused-cli = Don't warn about command line options. --check-system-vars = Find problems with variable usage in system files. --help,-help,-usage,-h,-H,/? = Print usage information and exit. --version,-version,/V [<f>] = Print version number and exit. --help-full [<f>] = Print all help manuals and exit. --help-manual <man> [<f>] = Print one help manual and exit. --help-manual-list [<f>] = List help manuals available and exit. --help-command <cmd> [<f>] = Print help for one command and exit. --help-command-list [<f>] = List commands with help available and exit. --help-commands [<f>] = Print cmake-commands manual and exit. --help-module <mod> [<f>] = Print help for one module and exit. --help-module-list [<f>] = List modules with help available and exit. --help-modules [<f>] = Print cmake-modules manual and exit. --help-policy <cmp> [<f>] = Print help for one policy and exit. --help-policy-list [<f>] = List policies with help available and exit. --help-policies [<f>] = Print cmake-policies manual and exit. --help-property <prop> [<f>] = Print help for one property and exit. --help-property-list [<f>] = List properties with help available and exit. --help-properties [<f>] = Print cmake-properties manual and exit. --help-variable var [<f>] = Print help for one variable and exit. --help-variable-list [<f>] = List variables with help available and exit. --help-variables [<f>] = Print cmake-variables manual and exit. Generators The following generators are available on this platform (* marks default): * Unix Makefiles = Generates standard UNIX makefiles. Ninja = Generates build.ninja files. Xcode = Generate Xcode project files. CodeBlocks - Ninja = Generates CodeBlocks project files. CodeBlocks - Unix Makefiles = Generates CodeBlocks project files. CodeLite - Ninja = Generates CodeLite project files. CodeLite - Unix Makefiles = Generates CodeLite project files. Sublime Text 2 - Ninja = Generates Sublime Text 2 project files. Sublime Text 2 - Unix Makefiles = Generates Sublime Text 2 project files. Kate - Ninja = Generates Kate project files. Kate - Unix Makefiles = Generates Kate project files. Eclipse CDT4 - Ninja = Generates Eclipse CDT 4.0 project files. Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
when asked for a bit of help. So gcc7 @7.5.0_1
might now be working fine…
comment:43 follow-up: 44 Changed 5 years ago by kencu (Ken)
Hah! Wouldn't it be nice if this problem just "went away"? (At least for now!). Let me see if that happened for me as well...
comment:44 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
Hah! Wouldn't it be nice if this problem just "went away"? (At least for now!). Let me see if that happened for me as well...
Well, it is already version _1
of the port. (Yeah, would be nice if it now just works. Could isl
make the difference? Right now GCC 4.7
is being rebuilt, could be next week I can check a few more ports.)
comment:45 Changed 5 years ago by kencu (Ken)
For background, Iain Sandoe has been specifically working on this problem -- it has to do with the c++abi in libgcc7 not playing nicely with the one in /usr/lib/libgcc*.
Apparently, it is not simple to fix this -- libc++abi is too integrated into libgcc, I believe he said -- but he has hopes to do so.
If it is working now, it is just random good luck.
Iain's suggestion for a long-term fix is to consider having MacPorts supply an update to /usr/lib/libgcc* that interested users would install to update the system roots.
I have not tried to sell that to the MacPorts group, as I don't (at present) want to take that war on.
comment:46 Changed 5 years ago by kencu (Ken)
Perhaps I should re-open and rename this ticket (or open another ticket) with the issue we are currently following here (ABI compat issues with libgcc7) as the original ticket is in fact fixed.
comment:47 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Could be the reason why GCC 7.5
works is that libgcc7
is not yet upgraded…
comment:48 follow-up: 49 Changed 5 years ago by kencu (Ken)
on my system, it's still broken. I see libgcc7 was not revbumped. Perhaps it needs to be -- perhaps not? Have to check.
comment:49 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
My story is: 7.5.0_1 was built and installed. I did not realise at once that _1
and re-activated 7.4. Then some programmes failed because isl
was upgraded. So I tried to reactivate 7.5. But port
did not want to proceed with libgcc7
… (OK, my fault might have been that I asked port
to upgrade libgcc7
while I should have re- activated it. Next time.)
And in this situation, with libgcc7
still outdated, my Leopard seems to work fine. (Right now the PowerBook G4 is upgrading in Tiger.)
comment:50 follow-up: 51 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
First build on PPC Tiger
led to a failure: comparison error. After some cleaning I tried to reorganise the ports, migrate to Python 3 based variants. This to led to upgrading GCC 6
first. So, in some days, I'll be able to retry with GCC 7
…
comment:51 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
On PPC Tiger
, Mac OS X 10.4.11, the GCC 7
upgrade is fine, no problems with upgraded versions of clamav
or CMake
.
comment:52 Changed 5 years ago by kencu (Ken)
I thought I would see if libgcc8 might save the day here, and upgraded my MacPorts installation to use that instead of libgcc7 as the main libgcc version on 10.5 PPC -- and it all builds fine, but no happiness as it does not solve the problem, and has the exact same error as libgcc7 7.5.0 has. So that's not a solution at present.
Sticking with libgcc7 7.4.x until who knows when. And, just for clarity, I haven't actually rebuilt libgcc7 7.4.x to make sure it rebuilds properly without this error.
It looks like 10.5 PPC is well and truly hosed for now, after the gcc7 7.5.0 update. Luckily I still had a libgcc 7.4.x to reactivate.
And you're right, this issue is not showing up on 10.4 PPC, for whatever reason.
comment:53 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
I got brave, quite motivated from the upgrade of macOS High Sierra – it still promises to last 41 more minutes (44 after recalculation). So I activated libgcc7 @7.5.0_0
. Again CMake
failed to work and I reactivated libgcc7 @7.4.0_3
at once. During both changes I was informed that bsdtar
had failed:
Dyld Error Message: Symbol not found: ___once_proxy Referenced from: /opt/local/lib/libicuuc.65.dylib Expected in: /usr/lib/libstdc++.6.dylib
Is this correct? Shouldn't it be using /opt/local/lib/libgcc/libstdc++.6.dylib
? And when bsdtar
(of libarchive
) fails, couldn't this, an incomplete installation, be the cause for the libgcc7 @7.5.0_0
failure?
comment:54 follow-up: 55 Changed 5 years ago by kencu (Ken)
on my 10.5 PPC system, libicuuc
is properly linked against /opt/local/lib/libgcc/libstdc++.6.dylib
, as it must be, given it requires c++11.
$ otool -L /opt/local/lib/libicuuc.65.dylib /opt/local/lib/libicuuc.65.dylib: /opt/local/lib/libicuuc.65.dylib (compatibility version 65.0.0, current version 65.1.0) /opt/local/lib/libicudata.65.dylib (compatibility version 65.0.0, current version 65.1.0) /opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.24.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 315.0.0) /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
that is not the cause for the libgcc7 @7.5.0_0
failure, I"m afraid.
comment:55 Changed 5 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu: I get *almost* the same:
pete 234 /\ otool -L /opt/local/lib/libicuuc.65.dylib /opt/local/lib/libicuuc.65.dylib: /opt/local/lib/libicuuc.65.dylib (compatibility version 65.0.0, current version 65.1.0) /opt/local/lib/libicudata.65.dylib (compatibility version 65.0.0, current version 65.1.0) /opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.24.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 830.0.0) <=== /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.7)
and these bsdtar
errors. Is the MacPorts
environment incorrectly set up?
Main.log from PPC Leopard