New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #21945 (closed defect: fixed)

Opened 4 years ago

Last modified 3 years ago

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

Reported by: domiman@… Owned by: landonf@…
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: haspatch Cc: erik.abair@…, ryandesign@…
Port: openldap

Description (last modified by macsforever2000@…) (diff)

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

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

Change History

comment:1 Changed 4 years ago by domiman@…

This is on SL 10.6.1, btw.

comment:2 Changed 4 years ago by macsforever2000@…

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

comment:3 Changed 3 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 3 years ago by erik.abair@…

Hackaround patch to enable building with +universal

Changed 3 years ago by ryandesign@…

comment:4 Changed 3 years ago by ryandesign@…

  • Keywords haspatch added
  • Cc erik.abair@…, ryandesign@… 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 3 years ago by ryandesign@…

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

Committed in r62920 (maintainer timeout).

Note: See TracTickets for help on using tickets.