Opened 15 years ago

Closed 14 years ago

#21945 closed defect (fixed)

OpenLDAP +universal can't find cyrus-sasl2 in configure

Reported by: domiman@… Owned by: landonf (Landon Fuller)
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: haspatch Cc: erik.abair@…, ryandesign (Ryan Carsten Schmidt)
Port: openldap

Description (last modified by mf2k (Frank Schima))

While building Krusader with all its dependancies I found that openldap +universal can't find cyrus-sasl2 during configure. I guess the problem is that Cyrus-sasl2 cannot be built +universal. Cyrus-sasl2 is present and active with +kerberos

checking sasl/sasl.h usability... yes
checking sasl/sasl.h presence... yes
checking for sasl/sasl.h... yes
checking sasl.h usability... no
checking sasl.h presence... no
checking for sasl.h... no
checking for sasl_client_init in -lsasl2... no
checking for sasl_client_init in -lsasl... no
configure: error: Could not locate Cyrus SASL

Warning: the following items did not execute (for openldap): org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install
Error: Status 1 encountered during processing.

Attachments (2)

Portfile-universalhackaround.diff (956 bytes) - added by erik.abair@… 14 years ago.
Hackaround patch to enable building with +universal
openldap.diff (706 bytes) - added by ryandesign (Ryan Carsten Schmidt) 14 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 15 years ago by domiman@…

This is on SL 10.6.1, btw.

comment:2 Changed 15 years ago by mf2k (Frank Schima)

Description: modified (diff)
Owner: changed from macports-tickets@… to landonf@…

comment:3 Changed 14 years ago by erik.abair@…

I added a hackaround patch to cyrus-sasl2 to enable universal building: #22780. It's not tested significantly so it may or may not help you.

When I tried to build openldap with +universal it failed to compile, so I hacked up a patch for the portfile to use muniversal which seems to work on my system.

Changed 14 years ago by erik.abair@…

Hackaround patch to enable building with +universal

Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: openldap.diff added

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

Cc: erik.abair@… ryandesign@… added
Keywords: haspatch added

Replying to domiman@…:

I guess the problem is that Cyrus-sasl2 cannot be built +universal.

It now can, in some cases.

Replying to erik.abair@…:

I added a hackaround patch to cyrus-sasl2 to enable universal building: #22780. It's not tested significantly so it may or may not help you.

When I tried to build openldap with +universal it failed to compile, so I hacked up a patch for the portfile to use muniversal which seems to work on my system.

There is no reason to add the archcheck portgroup unless you are going to use the archcheck.files directive to check the architectures of the dependencies. See whatever port you copied that line from for an example.

"${workpath}/${worksrcdir}" is more simply known as "${worksrcpath}".

You assume the user is building universal for i386 and x86_64, but the user might have chosen other universal_archs in macports.conf. The correct method would be to loop over all the architectures.

The port seems to build fine for me, single-arch or universal (using muniversal), even if I don't "make depend". I don't understand why we should be running that manually. But the configure script says to do so, and the openldap documentation mentions it all over too. So I guess we should continue to do so. Though this FAQ entry seems to imply that there's no reason to run "make depend" if your build tree is clean, which for MacPorts it would always be.

Attached is my patch which works for me universal (x86_64 i386) and non-universal on Snow Leopard.

comment:5 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Committed in r62920 (maintainer timeout).

Note: See TracTickets for help on using tickets.