#1115220 graphite2: Missing g++-14 build dependency on ppc64el

#1115220#5
Date:
2025-09-14 10:35:45 UTC
From:
To:
https://buildd.debian.org/status/fetch.php?pkg=graphite2&arch=ppc64el&ver=1.3.14-6&stamp=1757801918&raw=0

...
CMake Error at CMakeLists.txt:5 (project):
  The CMAKE_CXX_COMPILER:

    g++-14

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

#1115220#10
Date:
2025-09-14 10:40:41 UTC
From:
To:
Hi,

Am 14.09.25 um 12:35 schrieb Adrian Bunk:

already fixed in -7. Which was already uploaded, but, well, dak (or better: lintian)...


Regards,


Rene

#1115220#15
Date:
2025-09-29 12:32:00 UTC
From:
To:
environment
full path
better: lintian)...

recent uploads fixed build issues in Debian, but autopkgtests are still
failing. This is due to using gcc-15 when compiling the test files. in
Ubuntu, I'm proposing:

# debian/tests/test: 5:14
export CTEST_OUTPUT_ON_FAILURE=True

case $(uname -m) in
    aarch64 | ppc64le | loongarch64)
export CXX=g++-14
export CC=gcc-14
;;
*)
;;
esac

This adds test failure information, which can be helpful. It resolves the
issue on arm64. However, the issue on ppcel64 remains. You can see an
example autopkgtest failure in Ubuntu with the patch in place here:

https://autopkgtest.ubuntu.com/results/autopkgtest-questing-jchittum-graphite2-lp2124952/questing/ppc64el/g/graphite2/20250926_112302_5a2ef@/log.gz

Further, if LTO gets enabled for builds, this will fail as it needs the
CC:= flag set as well. current proposed patch for Ubuntu is. just adds the
CC:=gcc-14 flag as needed. Needed for Ubuntu, since we enable LTO by
default.

#debian/rules: 6:20
# https://github.com/silnrsi/graphite/issues/96
ifeq "$(DEB_HOST_ARCH)" "arm64"
export CXX := g++-14
export CC := gcc-14
endif

ifeq "$(DEB_HOST_ARCH)" "ppc64el"
export CXX := g++-14
export CC := gcc-14
endif

ifeq "$(DEB_HOST_ARCH)" "loong64"
export CXX := g++-14
export CC := gcc-14
endif

#1115220#20
Date:
2025-09-29 15:15:43 UTC
From:
To:
Hi,

Am 29.09.25 um 14:32 schrieb John Chittum:
yes, noticed that too.

Didn't deem it too important to warrant an immediate upload :)

(And it would need to be kept in sync with rules...)
Ah, that's interesting.

But it's probably better directly do ctest --verbose instead of make test (but that would need a cmake dependency...). So this and make test VERBOSE=true is as best as we can get in autopkgtest...

Can't we just use dpkg-architecture here? We are in a autopkgtest here and can assume dpkg tooling (and be it via a dependency.

And if I understand it right @buildddeps@ installs build-essential which installs dpkg-dev anyway.

ACK

See below
Interesting.

Hmm, OK. Something for later then.


Added export CTEST_OUTPUT_ON_FAILURE=True and the case with dpkg-architecture in git. But next time please send a proper diff -u... (or directly do a MR on salsa).


Regards,


Rene

#1115220#25
Date:
2025-09-29 16:34:08 UTC
From:
To:
+1 dpkg-architecture. I think I've just been fighting too many
uutils/coreutils issues in Ubuntu. sorry bout that.
Sorry, was still debugging and fighting with ppc. Was hoping to toss up an
MR on salsa once I got it actually working. which, maybe I have...
On ppc64le, in Ubuntu we compile with -O3 by default. We did a big session
fighting through this, and when I built with `cmake
-DCMAKE_BUILD_TYPE=RelWithDebInfo` using the upstream files, everything
magically started working. So we tossed in

export DEB_CFLAGS_MAINT_APPEND = -O2
export DEB_CXXFLAGS_MAINT_APPEND = -O2

to the ppc lines, and it all worked. I'm going to now try with a PPA build
and test moving ppc back to -O2, and then go the other way and try amd64 w/
O3 and see what happens.

#1115220#30
Date:
2025-09-29 16:41:58 UTC
From:
To:
Hi,

Am 29.09.25 um 18:34 schrieb John Chittum:

With gcc 14 or 15? Since https://buildd.debian.org/status/fetch.php?pkg=graphite2&arch=ppc64el&ver=1.3.14-5&stamp=1757604785&raw=0 is -O2 since we do

         find . -type f ! -name "rules" ! -name "changelog" \
                 -exec sed -i -e 's/\-O3//g' {} \;

(yes, that should be updated to do

probably with _STRIP'ing -O3.


Regards,


Rene