LibCxxOnOlderSystems - and more software that is pushing for gcc

Ken Cunningham ken.cunningham.webuse at gmail.com
Sat Sep 24 19:12:45 PDT 2016


I realize I asked this a bit ago about qemu, and received a very reasonable big caution regarding any attempt to combine gcc of any version on a system set up with LibCxxOnOlderSystems...

but I just thought I'd mention that a few more fairly common ports appear to be failing to install without access to gcc, so this might turn out to be a problem.

gimp
octave
... more I don't know about yet?

$ sudo port install gimp2 +quartz
--->  Computing dependencies for gimp2
--->  Dependencies to be installed: babl gegl libopenraw libspiro lua w3m gimp-help-en gsed pngcrush libwmf py27-pygtk py27-numpy gcc6 libgcc webkit-gtk py27-simplejson

in gimp's case, it pulls in py27-numpy that seems to want to pull in gcc6 no matter what variants I try.


$ port info py27-numpy
py27-numpy @1.11.1 (python, math)
Variants:             atlas, clang37, gcc49, gcc5, gcc6, gcc7, [+]gfortran, llvm, openblas, universal

Description:          The core utilities for the scientific library scipy for Python
Homepage:             https://github.com/numpy/numpy

Build Dependencies:   gcc6, clang-3.7


octave has what seems to be a hard build dep for gcc6 directly, even if I select the +clang37 variant...

and letting gcc6 start building, it certainly links against libstdc++ (in the freshly built libgcc), which will blow everything up.

So this could turn out to be a hard choice for systems set up like this, I guess, unless Jeremy has a fancy trick up his sleeve.

At the moment, it appears you can either get c++11 ports, OR any ports which require gcc, but not both. But then I see "-std=gnu++11" in this long line, which puzzles me a bit...


Ken


a typical link example below:

libtool: compile:  /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/build/./gcc/xgcc -shared-libgcc -B/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/build/./gcc -nostdinc++ -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/build/x86_64-apple-darwin10/libstdc++-v3/src -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/build/x86_64-apple-darwin10/libstdc++-v3/src/.libs -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/build/x86_64-apple-darwin10/libstdc++-v3/libsupc++/.libs -B/opt/local/x86_64-apple-darwin10/bin/ -B/opt/local/x86_64-apple-darwin10/lib/ -isystem /opt/local/x86_64-apple-darwin10/include -isystem /opt/local/x86_64-apple-darwin10/sys-include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/gcc-6.1.0/libstdc++-v3/../libgcc -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/build/x86_64-apple-darwin10/libstdc++-v3/include/x86_64-apple-darwin10 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/build/x86_64-apple-darwin10/libstdc++-v3/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/gcc-6.1.0/libstdc++-v3/libsupc++ -D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -frandom-seed=atexit_thread.lo -g -O2 -pipe -Os -std=gnu++11 -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc6/libgcc/work/gcc-6.1.0/libstdc++-v3/libsupc++/atexit_thread.cc  -fno-common -DPIC -D_GLIBCXX_SHARED -o atexit_thread.o



More information about the macports-users mailing list