BinaryBuilder.jl
osxcross
BinaryBuilder.jl | osxcross | |
---|---|---|
5 | 23 | |
379 | 2,737 | |
1.1% | - | |
6.5 | 5.5 | |
9 days ago | about 1 month ago | |
Julia | C++ | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BinaryBuilder.jl
-
Is Julia suitable today as a scripting language?
There are some efforts and the startup times are getting better with every release and there's BinaryBuilder.jl.
-
Because cross-compiling binaries for Windows is easier than building natively
There is the Julia package https://github.com/JuliaPackaging/BinaryBuilder.jl which creates an environment that fakes being another, but with the correct compilers and SDKs . It's used to build all the binary dependencies
-
Discussion Thread
https://binarybuilder.org/. You can do it manually obviously, but this is easier.
-
PyTorch: Where we are headed and why it looks a lot like Julia (but not exactly)
> The main pain point is probably the lack of standard, multi-environment packaging solutions for natively compiled code.
Are you talking about something like BinaryBuilder.jl[1], which provides native binaries as julia-callable wrappers?
--
[1] https://binarybuilder.org
-
What to do about GPU packages on PyPI?
Julia did that for binary dependencies for a few years, with adapters for several linux platforms, homebrew, and for cross-compiled RPMs for Windows. It worked, to a degree -- less well on Windows -- but the combinatorial complexity led to many hiccups and significant maintenance effort. Each Julia package had to account for the peculiarities of each dependency across a range of dependency versions and packaging practices (linkage policies, bundling policies, naming variations, distro versions) -- and this is easier in Julia than in (C)Python because shared libraries are accessed via locally-JIT'd FFI, so there is no need to eg compile extensions for 4 different CPython ABIs (Julia also has syntactic macros which can be helpful here).
To provide a better experience for both package authors and users, as well as reducing the maintenance burden, the community has developed and migrated to a unified system called BinaryBuilder (https://binarybuilder.org) over the past 2-3 years. BinaryBuilder allows targeting all supported platforms with a single build script and also "audits" build products for common compatibility and linkage snafus (similar to some of the conda-build tooling and auditwheel). There was a nice talk at AlpineConf recently (https://alpinelinux.org/conf/) covering some of this history and detailing BinaryBuilder, although I'm not sure how to link into the video.
All that to say: it can work to an extent, but it has been tried various times before. The fact that conda and manylinux don't use system packages was not borne out of inexperience, either. The idea of "make binaries a distro packager's problem" sounds like a simplifying step, but that doesn't necessarily work out.
osxcross
- Darling: Run macOS Software on Linux
-
How to cross Compile on Debian for: Mac / FreeBSD / OpenBSD / Android ... ?
If you actually have MacOS device and can install Xcode and so on then you can proceed here and read the instructions.
-
I find it's not possible to do serious C/C++ coding on latest macOS
Have you considered using a dockerized osxcross cross compiler toolchain in your CI? Granted it is a bit clunky to setup...
-
Apple just lost its lawsuit trying to ban iOS virtual machines
Technically it's possible, but possibly not legal:
https://github.com/tpoechtrager/osxcross
> Please ensure you have read and understood the Xcode license terms before continuing.
According to the EULA you may only use the SDK on Apple-branded computers. But you can use Linux to cross compile to Apple.
- Go port of SQLite without CGo
-
Cross compile for ppc macs (10.4)
is there a way to cross compile without vms? something similar to https://github.com/tpoechtrager/osxcross?
-
Am looking for an API guru to assess how to make a project multiplatform
If you figure out how to get SDL working, one possibility is to develop on Linux, then use mingw-w64 to cross compile from Linux to windows, then use osxcross to cross-compile from Windows to OSX.
- How To Fix Your Computer
-
Rust & Cross-compiling from Linux to Mac on GitHub Actions
Thank you osxcross for creating the path forward
-
A Completely Open-Source Implementation of Apple Code Signing and Notarization
This is actually a solved problem, using osxcross[0]. The experience is honestly very smooth, and we don't require any apple proprietary binaries. The only thing apple-proprietary is their SDK (containing the header files for compiling, and tbd files for linking), which can be downloaded from apple's website (at least if you have a developer account), or from various GitHub projects archiving them.
[0]: https://github.com/tpoechtrager/osxcross
What are some alternatives?
functorch - functorch is JAX-like composable function transforms for PyTorch.
mold - Mold: A Modern Linker ðŸ¦
Yggdrasil - Collection of builder repositories for BinaryBuilder.jl
eShopOnContainers - Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET 7, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor. Moved to https://github.com/dotnet/eShop.
HTTP.jl - HTTP for Julia
fltk-rs - Rust bindings for the FLTK GUI library.
dh-virtualenv - Python virtualenvs in Debian packages
xcgo - Golang cross-platform builder docker image with CGo and other tooling
RDKit - The official sources for the RDKit library
glibc_version_header - Build portable Linux binaries without using an ancient distro
StarWarsArrays.jl - Arrays indexed as the order of Star Wars movies
docker-go-mingw - Docker image for building Go binaries with MinGW toolchain