Ticket #21945 (closed defect: fixed)
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
Change History
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@…
- Attachment Portfile-universalhackaround.diff added
Hackaround patch to enable building with +universal
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.


This is on SL 10.6.1, btw.