tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: math/suitesparse breakage



Am Wed, 18 Jun 2025 16:06:21 +0000 (UTC)
schrieb Kevin Bloom <ktnb%netbsd.org@localhost>:

> Debian:
> 2025-03-18 00:39:00 +0000 UTC
> https://releng.netbsd.org/bulktracker/pkg/48765336

> Linux 6.1.0
> 2025-03-20 00:28:00 +0000 UTC
> https://releng.netbsd.org/bulktracker/pkg/48884577

Seem both to be the same, Debian 12? They show

-- The Fortran compiler identification is GNU 12.4.0
-- The C compiler identification is GNU 12.2.0

Incidentally … see below.

> 
> This one builds:
> 
> Rocky Linux
> 2025-01-11 10:44:00 +0000 UTC
> https://releng.netbsd.org/bulktracker/pkg/46771270

Again, would be nice to see the successful logs, too … but Rocky Linux
8 is also gcc 8, most probably.

I looked at the version difference between Fortran and C compilers
above and realized that this also occurs on my Debian 12 build, due to
a simple fact: I don't have gfortran in the base OS! There is gcc 12.2
from Debian. Pkgsrc sees the fortran requirement and, lacking a Fortran
compiler in the base OS, figures to install gcc-12.4 including gfortran.

I get a mix of /usr/bin/gcc and /pkg-prefix/bin/gfortran. Even if it is
the same series, this might cause trouble by itself.

$ ls -l work/pkgsrc/2025Q1/bw/math/blas/work/.{gcc,gfortran}/bin/
work/pkgsrc/2025Q1/bw/math/blas/work/.gcc/bin/:
total 3
lrwxrwxrwx 1 sw sw  3 Jun 18 08:38 c++ -> g++
lrwxrwxrwx 1 sw sw  3 Jun 18 08:38 cc -> gcc
lrwxrwxrwx 1 sw sw 12 Jun 18 08:38 cpp -> /usr/bin/cpp
lrwxrwxrwx 1 sw sw 12 Jun 18 08:38 g++ -> /usr/bin/g++
lrwxrwxrwx 1 sw sw 12 Jun 18 08:38 gcc -> /usr/bin/gcc

work/pkgsrc/2025Q1/bw/math/blas/work/.gfortran/bin/:
total 2
lrwxrwxrwx 1 sw sw 40 Jun 18 08:38 f77 -> /tmp/sw/pkgsrc/2025Q1/gcc12/bin/gfortran
lrwxrwxrwx 1 sw sw 40 Jun 18 08:38 g77 -> /tmp/sw/pkgsrc/2025Q1/gcc12/bin/gfortran
lrwxrwxrwx 1 sw sw 40 Jun 18 08:38 g95 -> /tmp/sw/pkgsrc/2025Q1/gcc12/bin/gfortran
lrwxrwxrwx 1 sw sw 40 Jun 18 08:38 gfortran -> /tmp/sw/pkgsrc/2025Q1/gcc12/bin/gfortran

I started out telling pkgsrc on bootstrap which C compiler to use, and
it kept that. But when moving to its own gcc12 package, it probably
should also use the matchin gcc.

My current guess is that it's differences in how the toolchains are
built that cause the relocation failure. Again: How does the log from
successful builds look? For my full external toolchain, it's

-- The Fortran compiler identification is GNU 13.3.0
-- The C compiler identification is GNU 13.3.0

For the successful build on Ubuntu, it's

-- The Fortran compiler identification is GNU 11.4.0
-- The C compiler identification is GNU 11.4.0

I must admit, that for my use case, I'd rather have the build error out
early on missing gfortran than install its own gcc. I understand that
this is different for NetBSD with a bare/outdated toolchain.

Now, could it be that simple? That you get build errors when mixing gcc
and gfortran builds?


Alrighty then,

Thomas

-- 
Dr. Thomas Orgis
HPC @ Universität Hamburg

-- 
Dr. Thomas Orgis
HPC @ Universität Hamburg


Home | Main Index | Thread Index | Old Index