Open dmacks opened 2 years ago
mathgl just got a new libN=8 that uses gcc11. Ancient mathgl6 is not used by anything. Can dist restrict or nuke outright.
Many of these packages are deps on libraries using gccX (mostly via fftw). I've marked packages using fftw/fftw3 so that they can be updated at the same time if possible.
mathgl just got a new libN=8 that uses gcc11. Ancient mathgl6 is not used by anything. Can dist restrict or nuke outright.
No objection to dist-restricting mathgl6, or even nuking, given it has no reverse-depends.
All my packages should be fine with gcc11. My Intel-Macbook died and I am on a M1-Macbook on macOS 12, which makes testing difficult. Ortep3 from Jack Fink should also be fine for a simple update. Should I submit a pull request or will someone of you guys act?
openblas is in #875
My Intel-Macbook died and I am on a M1-Macbook on macOS 12, which makes testing difficult
If you set the Get Info for terminal to force it to use Rosetta then Fink will work as normal Intel based Terminal and all the processes it calls should be Intel code as well. I make a copy of the App and put it in my personal Applications folder and make that copy "rosetta" compatible so that I don't change the system version.
I also added a fftw3 build in #876 .
sth0: Interesting hint. Thanks for that. Still waiting for the regular support of macOS 12. Pull request initiated.
lapack up through 380 FTBFS on gcc11 and only 350 is in use anymore. I dist-restricted 360/361/371/380 and they are all -shlibs only. They are probably fixable for gcc11, but is it worth it, especially for the unused stubs? Octave* are the only things using 350, and octave is using gcc5, so no hurry.
lapack up through 380 FTBFS on gcc11 and only 350 is in use anymore.
What are the problems with 380? I could build it just switching to Type: gcc (11)
(10.14, Xcode 11.3.1.0.1.1576735732).
lapack up through 380 FTBFS on gcc11 and only 350 is in use anymore.
What are the problems with 380? I could build it just switching to
Type: gcc (11)
(10.14, Xcode 11.3.1.0.1.1576735732).
A bunch of:
gfortran-fsf-11 -O2 -fimplicit-none -funroll-loops -fPIC -m64 -c -o sdrvls.o sdrvls.f
sdrvls.f:468:47:
361 | $ B, LDB, WQ, -1, INFO )
| 2
......
468 | $ LDB, WORK, LWORK, INFO )
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
Edit: it's not hard to fix these in many cases (and it's same/similar in older version), but just wondering if it's worth the effort.
-fallow-argument-mismatch
generally takes care of that type of failure with gcc10+
https://salsa.debian.org/debian/xfoil/-/blob/master/debian/patches/fix-compilation-with-gcc-10.diff
I tried to give root5-cernlib
a push to 10.14.5 since I only have a Mojave system to test on now, but after getting through some issue with the System OpenGL and Ruby libs, failed early in the build with
clang++ -O2 -m64 -pipe -Wshadow -W -Wall -Woverloaded-virtual -fsigned-char -fno-common -Iinclude -DR__HAVE_CONFIG -stdlib=libstdc++ -pthread -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".o\" -o build/rmkdepend/mainroot.o -c /private/var/tmp/fink.build/root5-cernlib-5.34.38-3/root/build/rmkdepend/mainroot.cxx
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead
[-Wstdlibcxx-not-found]
/private/var/tmp/fink.build/root5-cernlib-5.34.38-3/root/build/rmkdepend/mainroot.cxx:28:10: fatal error: 'string' file not found
#include <string>
Looks vaguely familiar, but I'd defer to @mommsen or others to resolve this.
Edit: seems the config tests are broken for the combination of libcxx
and cxx11
, also the Xcode SDK /usr/include
is not found, which both can be forced to do it right, but still running into failures on cmath.h
after that.
Edit: it's not hard to fix these in many cases (and it's same/similar in older version), but just wondering if it's worth the effort.
Agreed; octave382 builds with the new lapack3 (and openblas) in #881 (though I also had fewer problems with 380...).
hdf (old version, discussed in #887) updated (b75bfb39dd18cbeb34732ef44e52a78caefb2fd1) and cascaded BuildDepends/rev-up because it's a static-only lib (261bc6696ae6742999ecb1ff52f9db18e9ba05b4)
@dhomeier I pushed updates for the root-related packages to gcc12.
gcc9 is reported to have build problems on OSX 11 (see fink-beginners Unable to update gcc9)
Would a separate GitHub issue for the underlying build problems be worth it, or are those just being tracked here as well? (edit: FWIW, it looks like the underlying build problem here for gcc9 is just the usual Big Sur libtool linking bug that's been reported in #859 and various other bugs...)
Also gcc11 does not build on OSX 13.6 / Xcode 15 / X86 (intel). There are 2 problems
R-base depends on gcc11-shlibs
So is this still an issue with #1033?
Should also note that there is no build for gcc 9 or 10 at all on arm64, and I would not expect the arm64 patches to continue being backported to gcc11 indefinitely. So the better path might be to migrate to gcc12 or 13 (tested in #1080) already.
Sorry I may not have been clear, this is for Intel X86 and until R-base41 gets updated to use gcc12 (or later) I need gcc11 installed. Fortunately I installed it awhile ago but some newer fink or OS update broke the upgrade path for gcc11. I don't need the arm patches back ported. What ever caused the asan type libraries to go AWOL is architecture independent.
Maybe #1033 was not documented very clearly – that PR is addressing both the builds for arm64 and x86_64, and hopefully also the Xcode 15 problems with the malformed patch. The gcc11-arm.patch
seems to have caused some confusion, but actually it contains just changes enabling the build on arm64 that should (and for everything I have tested so far, do) still build just as well on x86_64, and hopefully will be merged upstream into gcc 13 or 14 main at some point. There is no specific patch for x86_64 (which should basically build without any patches).
Sorry I may not have been clear, this is for Intel X86 and until R-base41 gets updated to use gcc12 (or later) I need gcc11 installed. Fortunately I installed it awhile ago but some newer fink or OS update broke the upgrade path for gcc11. I don't need the arm patches back ported.
There is no need to backport anything at this point, and certainly nothing expected from anyone on the Fink team. But arm64 development in iains/gcc-darwin-arm64 is already based on gcc 14, just wanted to point out that I would not hold my breath that patch series will continue to be available for gcc 11.5, or 11.6 or some later version – in any case this is already lower priority now. So at that point we may face the choice to not update gcc11 any further, or only provide an update for x86_64, but not arm64. So for anything that is now due to be migrated from gcc9 or earlier, moving right away to gcc12 or gcc13 should be safer. But it is certainly not urgent for those packages that already depend on gcc11.
What ever caused the asan type libraries to go AWOL is architecture independent.
Yes, because support was removed in https://github.com/iains/gcc-darwin-arm64/commit/e722a1f4 for all darwin > 21, and thus #1033 and #1080 are removing it from the Dist=13.0 builds on both architectures.
Thanks to everyone who is working on this and trying to figure out what's possible and how to keep things reasonably portable and supportable. One detail I'd re-iterate is "Note 1", that it is not trivial to upgrade the gccXX version of an existing r-baseYY version. So for example r-base41 is fairly stuck at gcc11. The good news is that upstream R is now the 4.3 series, so rolling a new r-base43 is a chance to use the latest gccXX we have.
I agree that upgrading the version of gcc for r-base is not trivial. I was just indicating why I had an interest in that older gcc11-shlibs and was trying to rebuild it. It may be that gcc11 broke in the update to Xcode 15 or the update to Ventura, I am not sure. I think it was the former since I updated the system from El Capitan to Ventura back in the spring and rebuilt everything successfully then. If the address sanitizer does not work in Xcode 15 and is removed from gcc12 and 13, (or 14) can it also be removed from gcc11 without horrible knock-on effects?
Rolling a new R-base is good news, but that is a long road with all the cran-xx modules to test and update.
That makes sense, and I agree there is no particular hurry for the existing r-base, as we have a working gcc 11.4 at this point.
If the address sanitizer does not work in Xcode 15 and is removed from gcc12 and 13, (or 14) can it also be removed from gcc11 without horrible knock-on effects?
To repeat, libsanitizer is already disabled for gcc11 in #1033 and removed from the package for Ventura (gcc11-13.0.info). If it should nonetheless not build with Xcode 15, please comment in the PR.
Could we just get a simple fix for the Big Sur libtool linking bug for gcc9 before worrying about doing any sort of major migration? See e80c5d6 by @dmacks for a recent example of a patch fixing the bug in question.
Would a separate GitHub issue for the underlying build problems be worth it, or are those just being tracked here as well? (edit: FWIW, it looks like the underlying build problem here for gcc9 is just the usual Big Sur libtool linking bug that's been reported in #859 and various other bugs...)
Does it? Superficially appears like the same kind of undefined symbols for arch, but
g++ -std=gnu++98 -g -DIN_GCC -fno-strict-aliasing -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -fno-PIE -Wl,-headerpad_max_install_names -no-pie -o build/gencondmd \
build/gencondmd.o ../build-x86_64-apple-darwin21.6.0/libiberty/libiberty.a
clang: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
ld: warning: -no_pie is deprecated when targeting new OS versions
Undefined symbols for architecture x86_64:
"_cfun", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_epilogue_completed", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_flag_cf_protection", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_flag_finite_math_only", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_flag_fp_int_builtin_inexact", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_flag_peephole2", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_flag_pic", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_flag_rounding_math", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_flag_trapping_math", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_flag_unsafe_math_optimizations", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_insn", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_ix86_arch_features", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_ix86_cmodel", referenced from:
___cxx_global_var_init.99 in gencondmd.o
"_ix86_fpmath", referenced from:
___cxx_global_var_init.99 in gencondmd.o
(i.e. equivalent on Monterey to the darwin20.6.0 errors reported in fink-beginners) look a bit more fundamental that the Tcl linker failures for graphviz. In any case I have not seen any real news on macOS 11/12 support since https://github.com/fink/fink-distributions/pull/844#issuecomment-1002981610
And there is no *-apple-darwin[91]*
in gcc9 configure
; it's already *-apple-darwin[912]*
everywhere, so just that part of the patch will probably not do.
Even though it's for gcc8 and this is gcc9, MacPorts bug 64075 looks similar: https://trac.macports.org/ticket/64075
We're up to gcc11 now and gcc9 is reported to have build problems on OSX 11 (see fink-beginners Unable to update gcc9) and maybe even back to 10.15 (#844 comment on August 15)
[x] apbs
[x] arpack-ng
[ ] atlas
[x] cd-hit (@nieder)
[x] cdo [hdf5]
[x] cernlib2006 (@mommsen)
[x] clipper (@wgscott) [fftw2]
[x] ddscat
[x] eccodes [hdf5](via netcdf-c18)
[x] fasttree (@nieder)
[x] fftw
[x] fftw3
[x] floppy (@kamischi)
[x] flow (@kamischi)
[x] freehelix (@kamischi)
[x] ftidy (@kamischi)
[x] geant4.9 (@mommsen)
[x] gmic (@nieder) [fftw3]
[x] gracegtk (@akhansen) [fftw3]
[x] grib-api-fortran
[x] hdf (note 2)
[x] hdf5.10-gfortran (note 2)
[x] hdf5.10-oldapi-gfortran (note 2)
[ ] hdf5.100-gfortran.v (note 2)
[ ] hdf5.200-gfortran.v (note 2)
[x] hdf5.9-gfortran (note 2)
[x] hdf5.9-oldapi-gfortran (note 2)
[x] ifeffit (@kamischi)
[ ] lapack350-shlibs (note 3)
[ ] lapack360-shlibs (note 3)
[ ] lapack361-shlibs (note 3)
[ ] lapack371-shlibs (note 3)
[ ] lapack380-shlibs (note 3)
[x] libccp4 (@wgscott)
[x] libcfitsio8-shlibs
[x] libctl7-shlibs
[x] libharminv3-shlibs
[x] libmeep17-shlibs [fftw3]
[x] libmeep24-shlibs [fftw3]
[x] libmpb1-shlibs (Aurelien Chanudet) [fftw3]
[x] libnc-dap3 (@akhansen)
[x] mathgl6 (Jack Fink)
[x] mopac7 (Jack Fink)
[x] netcdf-fortran7 ; (#893; FTBFS with gcc11; dist restricted)
[x] netcdf-fortran8 (#893)
[x] octave-3.6.4 (still using gcc5) [fftw3] (#881)
[x] octave-3.8.2 (still using gcc5) [fftw3] (#881)
[x] openblas (@dhomeier)
[x] openmpi
[x] ortep3 (Jack Fink)
[x] patchy4 (@mommsen)
[x] pgplot
[x] phaser-mpi (@wgscott)
[x] qrupdate (@akhansen)
[ ] r-base36 (@babayoshihiko) and many *-r36 (note 1)
[x] refmac (@wgscott) [fftw2]
[x] relax (Sylvain Barbot) [fftw3]
[x] root-pythia (@mommsen)
[x] root5 (@mommsen) [fftw3]
[x] scipy-py
[x] sioseis
[x] slatec
[x] snoopy (@kamischi)
[x] sundials-shlibs
[x] tcoffee
[x] tinker (@wgscott) [fftw3]
[x] to-f90 (@kamischi)
[x] usf (@wgscott)
[x] xcrysden (@nieder) [fftw3]
[x] xfoil
[x] xraylib3-gfortran (@akhansen)
note 1: r-baseXX propagates its gcc-version into rXX module packages, so upgrading is an annoying synchronization situation. We would have to propagate a versioned BDep/Dep and rev-up the modules. Should we dist-restrict r-base36, now that we're up to r-base40/41, with 40 seen as only an incremental update from 3*?
note 2: Can we migrate away from older hdf and then dist-restrict them? @akhansen you had worked with them for a while, do you remember how compatible they are with each other?
note 3: Many older lapackXXX are unused (#497) and dist-restricted (360, 361, 371 are <=10.14.5). Actually, we should migrate 380->3 (new naming convention starting as of 3100) and then turn off 380 as well.