Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#27316 closed defect (fixed)

DateLine uses system's openssl / libcrypto

Reported by: vulcan_@… Owned by: singingwolfboy@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: haspatch Cc:
Port: DateLine

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Snow Leopard 10.6.4
MacBook Intel DuoCore 32 bit

i tried building DateLine today, got this

    /Developer/usr/bin/gcc-4.2 -arch i386 -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_aqua_DateLine/work/DateLine/build/Deployment -F/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_aqua_DateLine/work/DateLine/build/Deployment -F/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_aqua_DateLine/work/DateLine -F/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_aqua_DateLine/work/DateLine -filelist /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_aqua_DateLine/work/DateLine/build/DateLine.build/Deployment/DateLine.build/Objects-normal/i386/DateLine.LinkFileList -mmacosx-version-min=10.6 -framework Cocoa -framework Carbon -framework Sparkle -lcrypto.0.9.7 -framework QuartzCore -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_aqua_DateLine/work/DateLine/build/Deployment/DateLine.app/Contents/MacOS/DateLine
ld: cannot link directly with /usr/lib/libcrypto.0.9.7.dylib
collect2: ld returned 1 exit status

looks like the configure step found /usr/lib/libcrypto.0.9.7.dylib and it fails to link

Attachments (2)

main.log (84.2 KB) - added by vulcan_@… 13 years ago.
build log file
DateLine.diff (2.4 KB) - added by ryandesign (Ryan Carsten Schmidt) 13 years ago.
proposed patch

Download all attachments as: .zip

Change History (9)

Changed 13 years ago by vulcan_@…

Attachment: main.log added

build log file

comment:1 Changed 13 years ago by vulcan_@…

this is the libcrypto situation ..

maky:~ jeffhayes$ ls /usr/lib/libcrypto.0.9.7.dylib
/usr/lib/libcrypto.0.9.7.dylib*
maky:~ jeffhayes$ ll /usr/lib/libcrypto.0.9.7.dylib
-rwxr-xr-x  1 root  wheel   3.2M 11 Feb  2010 /usr/lib/libcrypto.0.9.7.dylib*
maky:~ jeffhayes$ ls /usr/local/lib/libc*
/usr/local/lib/libcharset.1.dylib* /usr/local/lib/libcharset.la*
/usr/local/lib/libcharset.dylib@
maky:~ jeffhayes$ ls /opt/local/lib/*crypt*
/opt/local/lib/libcrypto.1.0.0.dylib*  /opt/local/lib/libgcrypt.11.dylib@
/opt/local/lib/libcrypto.a             /opt/local/lib/libgcrypt.a
/opt/local/lib/libcrypto.dylib@        /opt/local/lib/libgcrypt.dylib@
/opt/local/lib/libgcrypt.11.6.0.dylib* /opt/local/lib/libgcrypt.la*
maky:~ jeffhayes$ 

comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to singingwolfboy@…
Port: DateLine added
Summary: DateLine trys to use wrong libcryptDateLine uses system's openssl / libcrypto

Confirmed, I get the same thing on Snow Leopard. After some Googling it seems that you simply can't use libcrypto.0.9.7 on Snow Leopard. You must use a later version. And this project hardcodes the use of libcrypto.0.9.7. It should be changed to use the MacPorts version in all cases, if possible.

Note, however, that your output above shows that you have things in /usr/local, which is not supported, because software installed there can interfere with MacPorts. You should move or remove /usr/local to avoid future problems.

Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: DateLine.diff added

proposed patch

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

Keywords: haspatch added

I have attached a patch that allows the port to compile on Snow Leopard using whatever libcrypto is current, though it still uses Apple's and not MacPorts'. Also, the app crashes on launch.

Note that the port version is 0.61, which installs version 0.63 of the software for some reason, but that the current version of the software on the developer's web site is 0.96 (also apparently known as 0.964). They don't appear to have released the source code for this newer version. So you're better off downloading the software directly from the developer at this point.

comment:4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

According to this page DateLine is no longer open source. As such, and since the software is outdated and doesn't work on Snow Leopard, perhaps this port should be deleted.

comment:5 Changed 13 years ago by vulcan_@…

saw your warning about not using /usr/local/ but sorry .. there is too much OS stuff that installs into that tree for that to be realistic.

IMHO MacPorts should configure its builds to put /opt/local/lib ahead of other lib folders in the linker search order and thus solve the problem

i have installed the creator's latest version from their site and it is working .. thanks for looking at this. close it when you want. over and out

comment:6 Changed 13 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

comment:7 in reply to:  6 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to vulcan_@…:

saw your warning about not using /usr/local/ but sorry .. there is too much OS stuff that installs into that tree for that to be realistic.

There is no "OS stuff" in /usr/local. Apple ships /usr/local empty, as do all other OS vendors that I'm aware of.

IMHO MacPorts should configure its builds to put /opt/local/lib ahead of other lib folders in the linker search order and thus solve the problem

We are not aware of a way to do that. If you can tell us specifically how to do it (on the macports-dev mailing list, please) we're all ears. Until then, we must stick by our policy of not providing support for MacPorts for users who install things in /usr/local.

Replying to jmr@…:

r85356

/opt/local was hardcoded in one location in the patch added in this revision; fixed in r85427.

Note: See TracTickets for help on using tickets.