Opened 12 years ago

Closed 6 years ago

#33326 closed defect (invalid)

cyrus-sasl2 @2.1.23 +universal +kerberos: libsasl2.la differs and cannot be merged

Reported by: jjmartin540@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: muniversal Cc: jmpp@…, landonf (Landon Fuller), andy.huang+macports@…, ryandesign (Ryan Carsten Schmidt), cooljeanius (Eric Gallager)
Port: cyrus-sasl2

Description

I have an issue where I am trying to upgrade my outdated packages, and libgdiplus fails to build citing that cyrus-sasl2 is not universal. The cyrus-sasl2 build won't install because lipo won't merge the two compiled libraries because it claims it can't figure out the architecture of the i386 .la.

I am running Snow Leopard (10.6.8), XCode 4.0.2, the latest version of the "port" command, and the version of cyrus-sasl2 in question is 2.2.0.23

attached is the debug output of what happens when I try to install post-install-failure, and what happens when I run install after having run clean and uninstall.

Attachments (3)

attemptedCyrusSasl2Build1.txt (181.9 KB) - added by jjmartin540@… 12 years ago.
build after a failed install with debug options
attemptedCyrusSasl2Build2.txt (314.5 KB) - added by jjmartin540@… 12 years ago.
build after uninsstall and clean have been run
33326.zip (1.8 KB) - added by andy.huang+macports@… 12 years ago.
Requested files in a zip

Download all attachments as: .zip

Change History (11)

Changed 12 years ago by jjmartin540@…

build after a failed install with debug options

Changed 12 years ago by jjmartin540@…

build after uninsstall and clean have been run

comment:1 Changed 12 years ago by jjmartin540@…

Cc: jjmartin540@… added

Cc Me!

comment:2 Changed 12 years ago by nerdling (Jeremy Lavergne)

Cc: jmpp@… landonf@… added; jjmartin540@… removed
Keywords: clang libtool added; cyrus-sasl2 snow leopard header files universal removed

comment:3 Changed 12 years ago by jmroot (Joshua Root)

Keywords: muniversal added; clang libtool removed
Summary: cyrus-sasl2 v 2.2.0.23, +universal +kerberos will not link/installcyrus-sasl2 @2.1.23 +universal +kerberos will not link/install

Is this still a problem with 2.1.25?

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

Cc: andy.huang+macports@… ryandesign@… added
Summary: cyrus-sasl2 @2.1.23 +universal +kerberos will not link/installcyrus-sasl2 @2.1.23 +universal +kerberos: libsasl2.la differs and cannot be merged

The log says:

Error: Target org.macports.destroot returned: /opt/local/lib/libsasl2.la differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_security_cyrus-sasl2/cyrus-sasl2/work/destroot-i386 and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_security_cyrus-sasl2/cyrus-sasl2/work/destroot-x86_64 and cannot be merged

Has duplicate #36145.

In what way do the two libsasl2.la files differ? Please attach them both here so that we can examine them.

Changed 12 years ago by andy.huang+macports@…

Attachment: 33326.zip added

Requested files in a zip

comment:5 Changed 12 years ago by andy.huang+macports@…

Please find the files in zip:

libsasl2.la is /opt/local/lib/libsasl2.la

libsasl2.i386.la is /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_security_cyrus-sasl2/cyrus-sasl2/work/destroot-i386/lib/libsasl2.la

libsasl2.x86_64.la is /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_security_cyrus-sasl2/cyrus-sasl2/work/destroot-x86_64/lib/libsasl2.la

Thanks!

comment:6 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:7 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

And here's the difference between them:

$ diff -u libsasl2.i386.la libsasl2.x86_64.la 
--- libsasl2.i386.la	2012-09-14 13:45:38.000000000 -0500
+++ libsasl2.x86_64.la	2012-09-14 13:46:06.000000000 -0500
@@ -14,7 +14,7 @@
 old_library=''
 
 # Libraries that this one depends upon.
-dependency_libs=' -L/opt/local/lib -ldl -lresolv -lresolv'
+dependency_libs=' -L/opt/local/lib64 -L/opt/local/lib -ldl -lresolv -lresolv'
 
 # Version information for libsasl2.
 current=2

OS X never has "lib64" directories, so that part of it is wrong. I've not seen that problem with this port; maybe it's been fixed in later versions of cyrus-sasl2. Please "sudo port selfupdate" and then try again?

comment:8 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed

The log says:

checking what directory libraries are found in... lib64

The code from the configure script responsible for setting this is:

  if test $ac_cv_sizeof_long -eq 8 ; then
    test -d /usr/lib64 && ac_cv_cmu_lib_subdir=lib64
  fi

In other words, when building for 64-bit, if the directory /usr/lib64 exists, it puts libraries into the lib64 subdirectory of the prefix. This is not what we want to have happen in MacPorts.

Do you have a directory /usr/lib64? If so what's in it? You shouldn't have that directory on macOS, but apparently you do. You'll need to get rid of it in order to use this and probably many other ports.

Note: See TracTickets for help on using tickets.