Uh oh!
There was an error while loading. Please reload this page.
Add initial cross-build support for OpenBSD - #125088
Conversation
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
am11
commented
Mar 3, 2026
cc @sethjackson this is an incremental step. Currently failing at: Probably needs an include directory reference etc. but this is to get cross-build rolling and give you an idea how it went with other platform ports. |
sethjackson
commented
Mar 3, 2026
I got stuck on the Heimdal stuff natively too. Am a bit unsure how to fix it properly. I have to pass this stuff to CMake to get it to "work": I've tried so many different combos of |
am11
commented
Mar 3, 2026
Yes, it's a bit tricky. Usually cmake stuff can be figured out by looking in cmake log files; in this case, it's at: We will eventually figure it out step by step. I'll have some time over the weekend, will take a look. |
sethjackson
commented
Mar 3, 2026
So that's where the log is at! Thanks! I was struggling trying to figure out where to look so I could debug. I was mostly looking at the |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Separate linking for FreeBSD and OpenBSD in CMakeLists.txt.
I haven’t tested On OpenBSD, there appears to be a system-provided unwinder via That said, we are also working to reduce our reliance on OS-level unwinding. If that effort succeeds, the requirement to port libunwind to new platforms should eventually become unnecessary. |
sethjackson
commented
Mar 3, 2026
I will also pull in the changes tonight and try as well. The only thing I wasn't super sure about here is the register patterns. I'm hoping they are the same as FreeBSD. I know the |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
sethjackson
commented
Mar 4, 2026
One other thing I had to do in my host build is: -DOPENSSL_CRYPTO_LIBRARY=/usr/local/lib/eopenssl35/libcrypto.so.37.0 -DOPENSSL_SSL_LIBRARY=/usr/local/lib/eopenssl35/libssl.so.37.0 -DOPENSSL_INCLUDE_DIR=/usr/local/include/eopenssl35Not entirely sure how to get this working with cross builds because we'd have to hardcode The above will use the OpenSSL library from ports which is API compatible with what is needed to build. The build doesn't work with LibreSSL which is what is found by default. |
am11
commented
Mar 4, 2026
@sethjackson, it turned out OpenBSD doesn't have unwinding APIs we require (unw_step) and it needs https://github.com/libunwind/libunwind port. It's a non-trivial amount of work. @akoeplinger, lets merge this initial patch, still many incomplete pieces but PR's intention is to set the course. |
akoeplinger
commented
Mar 4, 2026
/ba-g unrelated infra timeout |
Contributes to #124911
eng/commonmirror dir's upstream PR dotnet/arcade#16561