Conversation
|
Maybe you could try running CMake with |
It's not just that we need to disable -march=native. Leopard needs instructions-sets that support what it's trying to do. We need to override to x86-64-v3, but only in cases where we want to build portable binaries. If we took a fork of leopard itself we wouldn't have to mess with the cmake file during the build process. That would be cleaner. |
|
We have a fork: https://github.com/durability-labs/leopard |
markspanbroek
left a comment
There was a problem hiding this comment.
Nice, thanks @benbierens!
I wonder whether there's an ARM equivalent for x86-64-v3 that we could use?
|
I haven't found one and I haven't seen this issue in ARM builds (yet). If we do run into it, we now have the option to fix it. |
Yeah, they exists and manifested on Hetzner ARM Cloud instances. HetznerHETZNER INTRODUCES ARM64-BASED CLOUD SERVERS
https://amperecomputing.com/briefs/ampere-altra-family-product-brief
GitHub ActionsLinux arm64 hosted runners now available for free in public repositories (Public Preview)
Azure Cobalt processor-based Virtual Machines
https://developer.arm.com/Processors/Neoverse%20N2
Flagshttps://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
|
Adds
nimleopard_portable_buildnim flag.Source project file vendor/leopard/CMakeLists.txt defined "-march=native" explicitly. It provides no means to override this. Because of this, when we build binaries intended to be delivered, they may contain instructions available on the build system that are not necessarily available on the user system.
To be able to build portable binaries, we have no choice but to modify the CMakeLists.txt before building.