Skip to content

Conversation

@daviduhden
Copy link

@daviduhden daviduhden commented Aug 22, 2024

SimpleXMQ utilizes specific Linux TCP socket options 1 that are not available in OpenBSD 2, namely, TCP_KEEPIDLE, TCP_KEEPINTVL, and TCP_KEEPCNT. The absence of these options prevents the successful building of SimpleXMQ on OpenBSD. This change addresses this issue. Additionally, I have attempted to link the binaries with OpenSSL 1.1.1, which is available in the ports tree, by adding the location of these libraries to a cabal.project.local file. However, I have been unable to correctly link the binaries with these libraries, encountering persistent errors related to the libraries failing to load. Nevertheless, it is possible to compile SimpleXMQ with the latest version of LibreSSL without any errors.

Footnotes

  1. Linux TCP man page

  2. OpenBSD TCP man page

@daviduhden
Copy link
Author

daviduhden commented Aug 25, 2024

The issue with the missing TCP socket options—TCP_KEEPIDLE, TCP_KEEPINTVL, and TCP_KEEPCNT—is specific to the OpenBSD TCP stack. Other UNIX-like operating systems, such as FreeBSD 1, NetBSD 2, DragonFlyBSD 3, and even illumos-based systems 4 (the successor of OpenSolaris), support these options in their TCP stacks.

Footnotes

  1. FreeBSD TCP man page

  2. NetBSD TCP man page

  3. DragonFlyBSD TCP man page

  4. illumos TCP man page

@daviduhden daviduhden deleted the branch simplex-chat:master October 6, 2024 20:01
@daviduhden daviduhden closed this Oct 6, 2024
@daviduhden daviduhden deleted the master branch October 6, 2024 20:01
@daviduhden daviduhden restored the master branch October 6, 2024 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant