add instructions for running on FreeBSD #63417
add instructions for running on FreeBSD #63417wfurt merged 1 commit intodotnet:mainfrom Thefrank:Thefrank-FreeBSD-instructions
Conversation
|
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
|
Looks great, thanks! Side note, (inspired by how CI does it to keep logs slightly tidier and comparable) I personally mount the volume with fixed path at root of container's FS: - docker run --rm --volume $(pwd):$(pwd) --workdir $(pwd) --env ROOTFS_DIR=/crossrootfs/x64 -ti $TAG ./build.sh -cross -os FreeBSD
+ docker run --rm --volume $(pwd):/runtime --env ROOTFS_DIR=/crossrootfs/x64 -ti "$TAG" \
+ /runtime/build.sh -cross -os FreeBSD |
| - libunwind | ||
| - lttng-ust (optional, debug support) | ||
| - krb5 | ||
| - openssl (optional, SSL support) |
There was a problem hiding this comment.
Isn't openssl part of base OS?
furt@d13:~ $ which openssl
/usr/bin/openssl
There was a problem hiding this comment.
"yes but"
Yes! But that version is for the OS and things from ports should use other things from ports.
Which can be confusing but generally...
If it ships with the base OS its for the base only (e.g., openssl, llvm/clang, libunwind) or for building the OS. If it comes from ports (something external from the base OS) , it should use programs from ports
|
@am11 I do something similar for that too as it keeps things cleaner for runs :) I decided to leave it for now, if the syntax ends up being confusing or more people raise "build not working with docker" questions then I will change that to be a bit more clear. |
|
BTW it seems like we need python to build. I just bump to this while finally getting my build working again on fresh system |
|
Hmm. actually building is here: https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/freebsd-instructions.md May need some updates as well. It may be better to point at the cross-building scripts instead of my old binary snapshot. |
|
Those build instructions should be updated at some point. They also seem to duplicate the building instructions under https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/freebsd-requirements.md How should they be reworked/changed? Change docs/workflow/building/libraries/freebsd-instructions.md to point to docs/workflow/requirements/freebsd-requirements.md? This would be the easiest/laziest(?) way as the later includes building instructions using both Linux docker and native FreeBSD toolchain. The docker instructions are fine for now but if I am updating the doc more I will update the container referenced and fix up the command as per @am11 's suggestion. Native FreeBSD toolchain will need a dependency addition of I am fine with any of the above but also open to other ideas |
|
Yes, I'm on similar path. And https://lists.freebsd.org/pipermail/freebsd-current/2020-May/076043.html I think freebsd-requirements.md should have instructions how to install/run runtime. The building document can reference it or duplicate the package for convenience. I like the one where you can select & paste commands to the shell and that makes it work. |
There is currently no official package for FreeBSD, I have added a section to "docs/workflow/requirements/freebsd-requirements.md" that covers how to run the SDK under FreeBSD.
This is a frequently asked question from those that are new to FreeBSD, those familiar with FreeBSD but not dotnet, and in #14537