New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #25607 (closed defect: fixed)

Opened 3 years ago

Last modified 2 years ago

p5-crypt-ssleay doesn't build against macports openssl

Reported by: dluke@… Owned by: mas@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: mas@…
Port: p5-crypt-ssleay

Description

This may be a result of the macports openssl upgrade to 1.0.0a, but the port should probably make an effort to make the macports openssl be the one that is selected when building...

--->  Configuring p5-crypt-ssleay
DEBUG: Using compiler 'Mac OS X gcc 4.0'
DEBUG: configure phase started at Fri Jul  9 17:02:37 EDT 2010
DEBUG: Executing org.macports.configure (p5-crypt-ssleay)
DEBUG: Environment: CPATH='/opt/local/include' CFLAGS='-pipe -O2 -arch ppc' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-pipe -O2 -arch ppc' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TARGET='10.5' CXX='/usr/bin/g++-4.0' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-crypt-ssleay/work/.CC_PRINT_OPTIONS' F90FLAGS='-pipe -O2 -m32' LDFLAGS='-L/opt/local/lib -arch ppc' FCFLAGS='-pipe -O2 -m32' OBJC='/usr/bin/gcc-4.0' INSTALL='/usr/bin/install -c' PERL_AUTOINSTALL='--skipdeps' OBJCFLAGS='-pipe -O2 -arch ppc' FFLAGS='-pipe -O2 -m32' CC_PRINT_OPTIONS='YES' CC='/usr/bin/gcc-4.0'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-crypt-ssleay/work/Crypt-SSLeay-0.57" && /opt/local/bin/perl Makefile.PL INSTALLDIRS=vendor'
=======================================================
Only one OpenSSL installation found at /usr
Consider running 'perl Makefile.PL --default' the next
time Crypt::SSLeay is upgraded to select this directory
automatically thereby avoiding the following prompt.
=======================================================
Which SSL install path do you want to use? [/usr] /usr

BUILD INFORMATION
================================================
ssl library: OpenSSL 0.9.7 in /usr
ssl header:  openssl/ssl.h
libraries:   -L/usr/lib -lssl -lcrypto -lgcc
include dir: -I/usr/include/openssl
================================================

Attachments

p5-crypt-ssleay-0.58.patch (1.2 KB) - added by l2g@… 2 years ago.
Update to version 0.58; explicitly point to MacPorts tree during configure phase so debug messages make sense

Change History

comment:1 Changed 3 years ago by ryandesign@…

Despite this message printed during the configure phase, the openssl that actually gets used is the MacPorts one:

$ otool -L /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Crypt/SSLeay/SSLeay.bundle
/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Crypt/SSLeay/SSLeay.bundle:
	/opt/local/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)

comment:2 Changed 2 years ago by l2g@…

  • Status changed from new to assigned
  • Owner changed from mas@… to l2g@…
  • Version changed from 1.9.1 to 1.9.2

I edited the portfile to update Crypt::SSLeay to 0.58 and to override configure.args to give Makefile.PL a --lib switch that explicitly points to the MacPorts tree. It gives more comforting messages at configure time now:

--->  Configuring p5-crypt-ssleay
DEBUG: Using compiler 'Mac OS X gcc 4.2'
DEBUG: configure phase started at Mon Jan 24 19:38:44 PST 2011
DEBUG: Executing org.macports.configure (p5-crypt-ssleay)
DEBUG: Environment: CPATH='/opt/local/include' CFLAGS='-O2 -arch i386' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-O2 -arch i386' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TARGET='10.6' CXX='/usr/bin/g++-4.2' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-crypt-ssleay/work/.CC_PRINT_OPTIONS' F90FLAGS='-O2 -m32' LDFLAGS='-L/opt/local/lib -arch i386' FCFLAGS='-O2 -m32' OBJC='/usr/bin/gcc-4.2' INSTALL='/usr/bin/install -c' PERL_AUTOINSTALL='--skipdeps' OBJCFLAGS='-O2 -arch i386' FFLAGS='-O2 -m32' CC_PRINT_OPTIONS='YES' CC='/usr/bin/gcc-4.2'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-crypt-ssleay/work/Crypt-SSLeay-0.58" && /opt/local/bin/perl Makefile.PL --lib=/opt/local INSTALLDIRS=vendor'

BUILD INFORMATION
================================================
ssl library: OpenSSL 1.0.0c in /opt/local
ssl header:  openssl/ssl.h
libraries:   -L/opt/local/lib -lssl -lcrypto -lgcc
include dir: -I/opt/local/include
================================================
Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -lgcc
Writing Makefile for Crypt::SSLeay
The test suite can attempt to connect to public servers
to ensure that the code is working properly. If you are
behind a strict firewall or have no network connectivity,
these tests may fail (through no fault of the code).
Do you want to run the live tests (y/N)? [N] N

comment:3 Changed 2 years ago by l2g@…

  • Cc mas@… added

Changed 2 years ago by l2g@…

Update to version 0.58; explicitly point to MacPorts tree during configure phase so debug messages make sense

comment:4 Changed 2 years ago by mas@…

  • Status changed from assigned to new
  • Owner changed from l2g@… to mas@…

Thanks. I'm setting it to configure.args-append to stay more modular.

comment:5 Changed 2 years ago by mas@…

  • Status changed from new to closed
  • Resolution set to fixed

fixed in r75440

comment:6 Changed 2 years ago by jmr@…

Note that CPATH and LIBRARY_PATH are already set by default.

comment:7 Changed 2 years ago by jon.hermansen@…

  • Status changed from closed to reopened
  • Resolution fixed deleted

I'm pretty sure that this change has introduced a dependency bug. The port requires "lib:libssl:openssl", but since we're passing --libs ${prefix} now, my build seems to fail out with:

DEBUG: Environment: CPATH='/opt/local/include' CFLAGS='-pipe -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64' CPPFLAGS='-I/opt/local/include -isysroot /Developer/SDKs/MacOSX10.5.sdk' CXXFLAGS='-pipe -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64' MACOSX_DEPLOYMENT_TARGET='10.5' LIBRARY_PATH='/opt/local/lib' CXX='/usr/bin/g++-4.0' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-crypt-ssleay/work/.CC_PRINT_OPTIONS' F90FLAGS='-pipe -O2' LDFLAGS='-L/opt/local/lib -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64' FCFLAGS='-pipe -O2' OBJC='/usr/bin/gcc-4.0' INSTALL='/usr/bin/install -c' C_INCLUDE_PATH='/opt/local/include' OBJCFLAGS='-pipe -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64' FFLAGS='-pipe -O2' CC_PRINT_OPTIONS='YES' CC='/usr/bin/gcc-4.0'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-crypt-ssleay/work/Crypt-SSLeay-0.58" && /opt/local/bin/perl Makefile.PL INSTALLDIRS=vendor --lib=/opt/local'
========================================================================
No installed SSL libraries found in any of the following places.
    /opt/local
You will have to either specify a directory location at the following
prompt, or rerun the Makefile.PL program and use the --lib switch
to specify the path. If the path in question is considered standard
on your platform, please consider filing a bug report in order to
have it taken into account in a subsequent version of Crypt::SSLeay.

Found multiple possibilities for OpenSSL
Which SSL install path do you want to use?  
 does not appear to be an SSL library installation, since
the required header files were not found. The build cannot proceed.
--->  Building p5-crypt-ssleay

Can we require "port:openssl" instead?

comment:8 Changed 2 years ago by mas@…

  • Status changed from reopened to closed
  • Resolution set to fixed

You are right. Fixed in r77229.

Note: See TracTickets for help on using tickets.