#67321 closed defect (fixed)
p5.34-io-socket-ssl @2.81.0 does not build on PPC Leopard, Mac OS X 20.5.8, because "API-different OpenSSL versions compiled in (0x30000050) vs linked (0x30100000) at Makefile.PL line 68."
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | neverpanic (Clemens Lang) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | leopard ppc | Cc: | larryv (Lawrence Velázquez), neverpanic (Clemens Lang) |
Port: | p5.34-io-socket-ssl |
Description
Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_perl_p5-io-socket-ssl/p5.34-io-socket-ssl/work/IO-Socket-SSL-2.081" && /opt/local/bin/perl5.34 Makefile.PL INSTALLDIRS=vendor CC="/usr/bin/gcc-4.2" LD="/usr/bin/gcc-4.2" DEBUG: system: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_perl_p5-io-socket-ssl/p5.34-io-socket-ssl/work/IO-Socket-SSL-2.081" && /opt/local/bin/perl5.34 Makefile.PL INSTALLDIRS=vendor CC="/usr/bin/gcc-4.2" LD="/usr/bin/gcc-4.2" API-different OpenSSL versions compiled in (0x30000050) vs linked (0x30100000) at Makefile.PL line 68. Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_perl_p5-io-socket-ssl/p5.34-io-socket-ssl/work/IO-Socket-SSL-2.081" && /opt/local/bin/perl5.34 Makefile.PL INSTALLDIRS=vendor CC="/usr/bin/gcc-4.2" LD="/usr/bin/gcc-4.2" Exit code: 255 Error: Failed to configure p5.34-io-socket-ssl: configure failure: command execution failed
Makefile.PL
contains:
57 if (my $compiled = eval { 58 require Net::SSLeay; 59 Net::SSLeay::OPENSSL_VERSION_NUMBER() 60 }) { 61 # don't support too old OpenSSL versions anymore, only causes trouble 62 die sprintf( 63 "minimal required version for OpenSSL is 0.9.8, but your Net::SSLeay reports 0x%08x", 64 $compiled) if $compiled < 0x00908000; 65 66 my $linked = Net::SSLeay::SSLeay(); 67 if (($compiled ^ $linked) >= 0x00001000) { 68 die sprintf("API-different OpenSSL versions compiled in (0x%08x) vs linked (0x%08x)", 69 $compiled,$linked); 70 } 71 72 # OpenSSL 1.1.1e introduced behavior changes breaking various code 73 # will likely be reverted in 1.1.1f - enforce to not use this version 74 if ($linked == 0x1010105f) { 75 die "detected OpenSSL 1.1.1e - please use a different version\n"; 76 } 77 }
Attachments (1)
Change History (6)
Changed 19 months ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | larryv neverpanic added |
---|
I guess the revision of p5-net-ssleay should be increased anytime the API version of openssl changes, and that didn't happen when openssl3 was updated to 3.1.0? Or p5-io-socket-ssl's makefile should be patched so it isn't so picky?
comment:2 Changed 19 months ago by neverpanic (Clemens Lang)
Yeah, somebody apparently at some point in time came up with these checks, and they've been copied into many programs, and now we have to revbump them every time the OpenSSL minor version increases even if the ABI only introduces new symbols (which isn't an ABI break).
There's a list at the top of the OpenSSL Portfile with such ports. I'll add p5-net-ssleay there, but ideally we would convince the upstream of this software that the check is doing more harm than it is helping and remove it.
We do not add similar checks for any other library and rely on the loader, library versioning, and symbol versioning (at least on platforms that support it) to detect such issues. There should not be a runtime check.
comment:3 Changed 19 months ago by neverpanic (Clemens Lang)
comment:4 Changed 19 months ago by neverpanic (Clemens Lang)
Owner: | set to neverpanic |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Main.log from PPC Leopard