4 ms·
I guess because package managers (apt, nix, ..) build around the idea of shared libraries, while bazel assume statically built. TBH it’s hard to say which oper
by fancl20 4y ago
I guess because package managers (apt, nix, ..) build around the idea of shared libraries, while bazel assume statically built.
TBH it’s hard to say which operate model is better anyway. They are simply incompatible :)
Related topic: https://youtu.be/Pzl1B7nB9Kc https://youtu.be/Pzl1B7nB9Kc
- unicornmama 4y agoBazel does not assume statically built. Where do you get this idea?
- saidinesh5 4y agoFrom their open issues and ugly hacks needed to build anything else... https://github.com/bazelbuild/bazel/issues/1920 https://github.com/bazelbuild/bazel/issues/1920 https://stackoverflow.com/questions/32845940/symbols-from-static-cc-library-dependency-in-so-missing https://stackoverflow.com/questions/32845940/symbols-from-st...
- unicornmama 4y agoThose look like the problems with rules cc for building C++. But it’s not inherent to Bazel, and would not expect problems producing static binaries in other languages.
- saidinesh5 4y agoThat could be. We just had the ugly requirement of having to build a rust library/crate that uses C++ libraries (tensorflow lite + libedgetpu). That forced us to use bazel, on/for platforms that i have little experience / love for (Windows, Apple platforms). Hitting the platform annoyances of each of those platforms just added to the pain. (On Windows, the 260 character path limit + on iOS Apple messing with ar binary used to create static libraries). Left a very bad taste of trying to use bazel as a build tool. Even handwritten 1000+ lines of makefiles/experimental build systems like qbs did not cause so many headaches.
- malkia 4y agoThis is my own fork of OpenTelemetry C++ that builds (using bazel with my changes) OpenTelemetry C++ .dll for Windows - https://github.com/malkia/opentelemetry-cpp https://github.com/malkia/opentelemetry-cpp to show how awesome bazel is - in one step it can build (compile) and package them into a .zip file ready to deploy to NuGet-like repo or other place.