New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #26813 (closed defect: fixed)

Opened 3 years ago

Last modified 2 years ago

MacPorts (on Linux) does not build against OpenSSL anymore

Reported by: mmpestorich@… Owned by: macports-tickets@…
Priority: Low Milestone: MacPorts 2.0.0
Component: base Version:
Keywords: openssl libmd checksums Cc:
Port:

Description

On the MacPorts Download & Installation Page it lists a few requirements to build MacPorts on other platforms. One of those requirements is OpenSSL or libmd which are used for checksums. I remember way back when, I used to be able to compile MacPorts on my Linux system against OpenSSL, however, it seems for some time now I can only compile it successfully against a ported version of libmd. I have not found too many implementations of libmd for the Linux system. As such, I ended up porting over a FreeBSD 8 version of the library to run on Linux. It works fine, however, as it only gets used for my MacPorts installation and everything else on my system that uses MD5, SHA, etc... links against OpenSSL, I would like to get rid of it and not have to maintain a library ported from another operating system.

Here's what I have been able to ascertain so far. If I:

  • Set MD5_LIBS="-lcrypt"
  • Modify so <openssl/md5.h>, etc... is found by configure

I can get through configure but then I run into compile problems with some of the #defines in pextlib1.0/md5cmd.c and pextlib1.0/sha1cmd.c:

  • MD5File undefined
  • SHAFile undefined
  • SHA_HASHBYTES undefined

I haven't looked any further into this than that. But thought I'd put this up here to see if it makes sense to be able to link against OpenSSL's libcrypto.

Attachments

macports-1.9.2.patch (6.9 KB) - added by mmpestorich@… 3 years ago.

Change History

comment:1 Changed 3 years ago by mmpestorich@…

Sorry... it should read: Set MD5_LIBS="-lcrypto"

comment:2 Changed 3 years ago by ryandesign@…

Yes, I believe I heard that MacPorts support for building on Linux got broken some versions ago. It's not a priority for most of us.

comment:3 Changed 3 years ago by ryandesign@…

  • Type changed from request to defect

comment:4 Changed 3 years ago by jmr@…

  • Status changed from new to closed
  • Resolution set to fixed
  • Version 1.9.1 deleted
  • Component changed from base to website
  • Milestone MacPorts 2.0.0 deleted

Updated the install page in r72375. The code for doing hashes with openssl got removed when we converted to using CommonCrypto, and the effort of bringing it back considerably outweighs the benefit (for me at least). Feel free to submit a patch if it's important to you. Most of what's needed is there in the svn history, just not in a form that integrates properly with the newer bits.

Changed 3 years ago by mmpestorich@…

comment:5 Changed 3 years ago by mmpestorich@…

Ok. Attached is a patch to bring back OpenSSL's libcrypto for those that don't have libmd (of which there is a great possibility I might be the only one).

Another oddity I noticed for those that run macports on a non-OSX platform is when --without-objc-runtime and --without-objc-foundation are passed to configure, configure will fail if not passed in that order. Just thought I'd note that. Not a big deal. I'm well enough satifisfied now that I have libcrypto back.

comment:6 Changed 2 years ago by jmr@…

  • Status changed from closed to reopened
  • Component changed from website to base
  • Resolution fixed deleted
  • Milestone set to MacPorts 2.0.0

comment:7 Changed 2 years ago by afb@…

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

Fixed, r26813.

Also restores the MacPorts support for FreeBSD, that was broken with the weird-libmd support.

comment:8 Changed 2 years ago by afb@…

Duh, r77865 (Ticket #26813).

Note: See TracTickets for help on using tickets.