-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fails to build with GCC 15 #7
Comments
Thanks for the report. The message says "lib/PDL/PP.pm: loadable library and perl binaries are mismatched (got first handshake key 0xf200080, needed 0xeb80080)" - what is PDL and/or PDL::IO::HDF5 supposed to do about this? It looks like the build environment is broken. |
The GCC change likely affects PDL::PP, because the build succeeds with GCC 14. After upgrading GCC to 15 the build fails with no changes in Perl or PDL. |
I will copy-paste the same part of the log again: "lib/PDL/PP.pm: loadable library and perl binaries are mismatched (got first handshake key 0xf200080, needed 0xeb80080)". Can you confirm the |
Perl and PDL were not built with GCC 15 obviously:
Is the conclusion then that perl, pdl, and libpdl-io-hdf5-perl all need to be built with the same GCC version? |
It's my surmise that's the case, yes. If so, that will mean GCC 14 -> 15 will have ABI break implications for transitioning. |
Niko Tyni in the Debian bugreport:
|
That makes sense. Are you content to make a patch just removing that bit of the |
Confirmed fixed with this patch: Description: Don't set -Dbool=int to fix FTFBS with GCC 15.
Author: Bas Couwenberg <[email protected]>
Bug: https://github.com/PDLPorters/pdl-io-hdf5/issues/7
Bug-Debian: https://bugs.debian.org/1097248
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -94,15 +94,6 @@ if( -e "$hdf5_include_path/H5config.h"){
}
}
-# The following code was originally in the PDL::netCDF Makefile.PL
-# (Not sure if it is really needed here)
-# Check if compiled under gcc/Linux. In which case, define bool for the compiler
-my $define_bool = '';
-if ($Config{'osname'} =~ /linux/) {
- $define_bool = '-Dbool=int';
- print "Defining bool=int (linux seems to need this)\n";
-}
-
#If in win32, add the required defined for the HDF5 libs to work:
my $define_win32HDF = '';
if ($Config{'osname'} =~ /win32/i) {
@@ -176,7 +167,7 @@ my $preop = '$(PERL) -I$(INST_ARCHLIB) -
WriteMakefile(
'NAME' => 'PDL::IO::HDF5',
- 'CCFLAGS' => "$Config{ccflags} $define_bool $define_win32HDF -DH5_USE_16_API -g",
+ 'CCFLAGS' => "$Config{ccflags} $define_win32HDF -DH5_USE_16_API -g",
'CONFIGURE_REQUIRES' => { PDL => '2.004' },
'BUILD_REQUIRES' => { PDL => '2.004' },
# 'TEST_REQUIRES' => { PDL => '2.004' }, |
Done similar here. Could you try it as a patch and if it works, close this? |
As reported in Debian Bug #1097248:
The text was updated successfully, but these errors were encountered: