Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#15570 closed defect (fixed)

Use ${universal.configure_*} in cairo and openssl

Reported by: david@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.7.0
Keywords: Cc: mww@…, ryandesign (Ryan Carsten Schmidt), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), nerdling (Jeremy Lavergne)
Port: openssl, cairo

Description

This is a patch to cause cairo and openssl to use ${universal.configure_cflags} and ${universal.configure_ldflags} (and ${universal.configure_cppflags and ${universal.configure_args in the case of cairo). This is necessary to get important flags like -isysroot /Developer/SDKs/MacOSX10.4u.sdk and -mmacosx-version-min=10.4 considered. This is normally done by the default universal variant in Autoconf-using ports, but openssl doesn't use Autoconf and cairo declares its own universal variant.

Attachments (2)

universal_args.diff (2.8 KB) - added by david@… 16 years ago.
Patch allowing the use of universal arguments in cairo and openssl
Portfile.diff (5.5 KB) - added by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) 16 years ago.

Download all attachments as: .zip

Change History (12)

Changed 16 years ago by david@…

Attachment: universal_args.diff added

Patch allowing the use of universal arguments in cairo and openssl

comment:1 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

cairo doesn't build universal at this time anyway, so I'll leave that until #15451 is resolved.

comment:2 in reply to:  description Changed 16 years ago by david@…

Replying to david@…:

This is a patch to cause cairo and openssl to use ${universal.configure_cflags} and ${universal.configure_ldflags} (and ${universal.configure_cppflags and ${universal.configure_args in the case of cairo). This is necessary to get important flags like -isysroot /Developer/SDKs/MacOSX10.4u.sdk and -mmacosx-version-min=10.4 considered. This is normally done by the default universal variant in Autoconf-using ports, but openssl doesn't use Autoconf and cairo declares its own universal variant.

I see that the cairo part of this patch was applied by jeremyhu in r45053 as a result of the discussion in #17558.

Something like the openssl part was applied by jmr in r45087 to fix #16726, but that fix doesn't work for me. Just setting -isysroot leaves out -mmacosx-version-min=10.4 and possibly other necessary universal flags. (My installation is configured with universal_target=10.4.) The build ends with

ar  r ../libssl.a s2_meth.o  s2_srvr.o  s2_clnt.o  s2_lib.o  s2_enc.o s2_pkt.o s3_meth.o  s3_srvr.o  s3_clnt.o  s3_lib.o  s3_enc.o s3_pkt.o s3_both.o s23_meth.o s23_srvr.o s23_clnt.o s23_lib.o          s23_pkt.o t1_meth.o   t1_srvr.o t1_clnt.o  t1_lib.o  t1_enc.o d1_meth.o   d1_srvr.o d1_clnt.o  d1_lib.o  d1_pkt.o d1_both.o d1_enc.o ssl_lib.o ssl_err2.o ssl_cert.o ssl_sess.o ssl_ciph.o ssl_stat.o ssl_rsa.o ssl_asn1.o ssl_txt.o ssl_algs.o bio_ssl.o ssl_err.o kssl.o
ar: creating archive ../libssl.a
ranlib: file: ../libssl.a(kssl.o) has no symbols
/usr/bin/ranlib ../libssl.a || echo Never mind.
/usr/bin/ranlib: file: ../libssl.a(kssl.o) has no symbols
ld: library not found for -ldylib1.10.5.o
collect2: ld returned 1 exit status
make[2]: *** [link_a.darwin] Error 1
make[1]: *** [do_darwin-shared] Error 2
make: *** [libcrypto.0.9.8.dylib] Error 2

Notice it's looking for -ldylib1.10.5.o. Could something like the cairo change be done to openssl also? To see a diff that works for my purposes, do

svn cat --username guest --password "" -r 11767 svn://svn.insecure.org/zenmap/install_scripts/macosx/macports-1.8.0-universal.diff

comment:3 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Port: openssl cairo added

I think I would rather try to switch openssl, cairo and other ports to the merge-universal portgroup rather than continuing work on this reinvented wheel...

comment:4 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: mcalhoun@… added

Cc Me!

comment:5 in reply to:  3 ; Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

I think I would rather try to switch openssl, cairo and other ports to the merge-universal portgroup rather than continuing work on this reinvented wheel...

merge-universal was renamed to muniversal (r45899), and cairo (r45970) and cairo-devel (r45971) now use it.

comment:6 in reply to:  5 Changed 16 years ago by david@…

Replying to ryandesign@…:

Replying to ryandesign@…:

I think I would rather try to switch openssl, cairo and other ports to the merge-universal portgroup rather than continuing work on this reinvented wheel...

merge-universal was renamed to muniversal (r45899), and cairo (r45970) and cairo-devel (r45971) now use it.

Thanks. I tested a build of cairo and it works for me.

comment:7 Changed 16 years ago by nerdling (Jeremy Lavergne)

Cc: snc@… added

Cc Me!

comment:8 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Attached is a proposed update to openssl to use the muniversal PortGroup to build a universal openssl.

Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Attachment: Portfile.diff added

comment:9 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

cairo and openssl (as of r49121) both use muniversal PortGroup.

comment:10 Changed 16 years ago by (none)

Milestone: Port Enhancements

Milestone Port Enhancements deleted

Note: See TracTickets for help on using tickets.