-
Notifications
You must be signed in to change notification settings - Fork 382
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 compiling #4031
Comments
The simple answer: This is not currently supported. The place you found is not the only one where we expect built binaries to be executable during the build, for example to generate documentation. |
Which architectures are you building on and for? |
Thank you for your reply. for comparison if i see heimdal has the path |
|
I meant "what architecture is the binary being built on, and which architecture will it run on" :-) |
I hate docker and I don't use docker. I built varnish using openwrt-sdk and cross-compiled it |
with some tricks I can build it in openwrt. i wish varnish could be cross compiled easily
|
Very glad to read, it can you share what you did with the class so it can help others in the future please? |
The problems with cross compilation are somewhat tricky to solve. We generate some of our sources with programs compiled at build time. In autoconf linguo we rely on In theory one way to solve this would be to distribute sources we generate at build time, but because of how make dependencies work, we'd need a way to skip a dependency from source to generated source (skipping the And of course while that would only work from a dist archive, all bets are off if you apply patches that should affect generated sources, which is common with downstream packaging. One way to cross-compile Varnish is to build it "natively" and then grab from there missing generated sources in your cross build. Another way is to configure you system to run aarch64 binaries transparently with qemu. It's probably the simplest as you'd set it up once and forget about it, but not the easiest. If you're cross-compiling you probably have a sysroot in place anyway to get the aarch64 dependencies, so in that regard you're probably already halfway there. Anyway, I'm also interested in @firmwarecostum's solution. We could add something to the wiki for the time being. |
@firmwarecostum are you still interested in this topic? It would be helpful to learn how you solved it for your purposes. |
Expected Behavior
is there a way to build cross compilation i built it in openwrt
Current Behavior
no
Possible Solution
no
Steps to Reproduce (for bugs)
no
Context
no
Varnish Cache version
varnish-7.4.2
Operating system
openwrt
Source of binary packages used (if any)
https://varnish-cache.org/downloads/varnish-7.4.2.tgz
The text was updated successfully, but these errors were encountered: