-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cross-compilation for DragonFly fails #409
Comments
@mneumann - can you share the Savi invocation you are using? Note that you'll need to have a viable DragonFly sys root somewhere on your system, and to use the You may also need to first fix linker scripts within the sys root that are relying on an absolute path. To see this in action, take a look at the code I wrote for cross-compiling Savi programs to FreeBSD, which downloads the sys root package, checks its hash, and then uses I'd expect that if you do something similar with a DragonFly sys root, you will find success in cross-compiling. If you do manage to do so successfully, then please also share the steps you did, or do a pull request to that repo so that the |
@jemc, I was just using |
Yeah, so you need to supply both the Unless you're in a situation like on MacOS where the same SDK root is used for multiple MacOS architecture, or on Windows where you're running in the WSL subsytem, but cross-compiling to a native windows binary. In both of these situations, no explicit |
I'm unsure about this... I haven't dealt with This goal is important to the eventual self-hosting of the language (i.e. a Savi compiler written in Savi) - as in such a situation you need the ability to cross-compile from one host platform/binary to many target platforms, such that you only need one working Savi compiler to create Savi compilers for all platforms. |
It seems I missed linking in
@jemc Is there a simple way how I can take the |
@jemc I got some more success by linking against libatomic on DragonFly. It has one symbol undefined: 00000000002467e0 D __progname This is required by DragonFly's libc. Any hints on that? |
this seems to be a BSDism and is a non-portable alternative to argv[0]. I assume, the DragonFly compiler will add a |
@mneumann - maybe this could be resolved by adding This comment implies that the |
there is no
The built
But when I run it on DragonFly, I get:
I am a bit lost here. |
concerning |
I assume that when the libsavi_runtime is cross-compiled on a FreeBSD machine, it's using the libc etc from the FreeBSD host and not the one found on DragonFly. For instance, libc has version 8 on DragonFly (not version .7).
The text was updated successfully, but these errors were encountered: