Conversation
|
@douglas-carmichael btw, I've tested this on a fresh OpenBSD 6.6. It'd be great if you could double-check whether this branch works for you as well. 🙂 |
|
I was able to compile and install CAF successfully, but Zeek couldn't find it even when building with the --with-caf option: CMake Error at /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message): |
Great, thanks for checking! 👍
Just for the record: the Zeek repository is the right place to bring up build issues related to Zeek. But you already did that in the meantime. 🙂 |
62256d6 to
715bc63
Compare
The inability to use But OpenBSD shared library naming conventions don't permit a full X.Y.Z version, just X.Y. See https://www.openbsd.org/faq/ports/specialtopics.html#SharedLibs And also CMake's related documentation for behavior of So the minimal thing to do here (or as separate issue/PR) is change the following CMake config (for all CAF shared libs) to instead use actor-framework/libcaf_core/CMakeLists.txt Lines 181 to 185 in e9cb040 Could do that conditionally for only OpenBSD. Or consider using just X.Y for all platforms since the last number is optional (e.g. reference for at least Linux to that effect: http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html) and of minor usefulness (IMO, never had a problem understanding which version is installed and don't see much demand for there being two different Patch-level versions installed since the latest one of those is always going to be the better choice). Though, there's also correctness/strictness of what's being used for the Speaking of |
|
@jsiwek thanks a lot for this analysis and the suggested solutions!
I'll set the version as you suggest. I tend towards doing this only on OpenBSD for now.
That's correct. Currently, our policy is to not guarantee any ABI compatibility. That will change once we reach the 1.0 milestone. |
Listing each OS that hasn't AI_V4MAPPED defined is both verbose and brittle. Simply checking whether AI_V4MAPPED exists before attempting to use it always works, regardless of the OS.
8bcc973 to
8486a28
Compare
|
After the changes, CAF install these files on OpenBSD: CAF builds without issues and the CMake script of Broker picks up the correct CAF library without any changes to Broker: |
Since our friends over in Zeek land need the CAF-side fix, I tried #950 on OpenBSD today. I noticed that many unit test fail due to the missing
AI_V4MAPPEDsupport. Since fixing this requires non-trivial changes, I'm fleshing out what @douglas-carmichael startedThis PR builds on #950, fixes SIGPIPE handling, and makes sure unit tests don't run into
AI_V4MAPPED-related failures.