Comments (7)
While I think this is a reasonable thing to do, I also think we should very strongly encourage packages to fix their build systems to not require this where possible.
from binarybuilder.jl.
Is there any progress on this issue? Another advantage I see from being able to run executables is that it would allow to immediately test the build results, e.g., in cases where the build process provides a binary that can be used to ensure the functionality of the built library. Especially for Windows builds I'd see this as greatly beneficial, since (I assume) many developers probably do not have ready access to a Windows machine for easy testing.
from binarybuilder.jl.
The next rootfs
will embed wine
, wine64
and qemu-user-static
. staticfloat/julia-docker#15
-
We can add code in
BinaryBuilder.jl
to auto-register withbinfmt_misc
on Linux systems. Is it possible to registerbinfmt_misc
within the usernamespace and thereby not requiresudo
privileges for our unprivileged containers? Or is that kernel interface not integrated within user namespaces yet? -
Can we do qemu-within-qemu for when we're running on OSX? Sure, it'll be slow, but hopefully this is only used for when we're running cmake autoprobe executables anyway.
from binarybuilder.jl.
We can add code in BinaryBuilder.jl to auto-register with binfmt_misc on Linux systems. Is it possible to register binfmt_misc within the usernamespace and thereby not require sudo privileges for our unprivileged containers? Or is that kernel interface not integrated within user namespaces yet?
Yes, I believe this works
Can we do qemu-within-qemu for when we're running on OSX? Sure, it'll be slow, but hopefully this is only used for when we're running cmake autoprobe executables anyway.
Different kinds of qemu. I think that should nest just fine.
from binarybuilder.jl.
This seems to required for Jack1, Jack2, and a couple of optional dependencies for PulseAudio. Is there any way I could help nudge it along or contribute? What's the first step?
from binarybuilder.jl.
@staticfloat says above "[...] which should be possible if we ditch Docker." Why is this? As far as I know, Docker supports binfmt_misc
and qemu. It's enabled by default on macOS, but needs to be explicitly set up on Linux https://docs.docker.com/desktop/multi-arch/ .
from binarybuilder.jl.
That is now true (I don't think it was 5 years ago in 2017!) and is in fact supported by Sandbox.jl, which is what the next iteration of BinaryBuilder will be built on top of.
from binarybuilder.jl.
Related Issues (20)
- Truncated Wizard state completely breaks wizard HOT 1
- Wizard Yggdrasil push is broken HOT 4
- Can't run wizard in step 3 HOT 2
- Kernel version too old? HOT 1
- Update `ObjectFile` dependency HOT 6
- Documentation for linking against LAPACK/BLAS
- Impossible to upgrade CMake within build recipe HOT 7
- Autoconf hangs after `checking for x86_64-linux-gnu-gcc... cc`
- Use of _jll on Alpine / linux-musl. HOT 3
- Dependencies for unsupported architectures should be ignored
- wizard crash
- Support for GCC compiler 14.1 within the BinaryBuilder wizard for compiler options? HOT 2
- `RuntimeDependency`'s `compat` entry missing from `Project.toml` HOT 3
- Auditor: Error processing dylib
- Local build of CUDA binaries HOT 3
- `isexecutable` not defined HOT 6
- wizard failed to download GCCBootstrap artifact HOT 1
- Add auditor pass to make pkgconfig files more relocatable
- [Audit] In some cases the rpath normalisation pass doesn't do its job
- Windows on ARM toolchain HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from binarybuilder.jl.