Skip to content

Conversation

@bulpet
Copy link

@bulpet bulpet commented Aug 27, 2025

No description provided.

Efim Kuimov added 8 commits August 26, 2025 15:19
If your system has mingw-w64 with ARM64 target installed, the compiler/archiver names are:

aarch64-w64-mingw32-gcc

aarch64-w64-mingw32-gcc-ar
…t output file name (.so, .dll, .dylib, .wasm) instead of assuming liblmdb.so. That way you can just add new entries (like win-arm64) to supported_targets and it will “just work”
@bulpet
Copy link
Author

bulpet commented Aug 27, 2025

@CoreyKaylor hola !

Commit title:
Add WSL build script and precompiled Win-ARM64 DLL

Description:

  • Added bash script for building under WSL (Ubuntu) with Win-ARM64 target
  • Improved all builds with -O2 optimization flag
  • Enhanced build/run output clarity
  • Included compiled Win-ARM64 DLL (tested on Windows ARM64, works well)

Note: iOS and macOS builds are not supported on WSL; unsupported build steps can be commented out if needed

@CoreyKaylor
Copy link
Owner

Completely replacing the build script to work on WSL isn't really an option (I haven't been a Windows user in years) and leaves more of a mess behind with all the extra cruft when the original script was very simple. If you're using WSL, I'm assuming there's a specific toolset that's used, and if so that toolset can be replicated using the docker build process I already had in the original build script.

@bulpet
Copy link
Author

bulpet commented Aug 29, 2025

@CoreyKaylor Hey,

Since you don’t want to modify the current build script and I don’t have a Mac or Homebrew installed, I can’t fully test my findings. Could you please try it on your machine using the current script? Just add the following docker run entry:
[win-arm64/native/lmdb.dll]="docker run --rm --mount type=bind,source=\"$(pwd)\",target=/lmdb -w /lmdb dockcross/windows-armv7 bash -c 'make LDFLAGS=\"-s\" XCFLAGS=\"-DNDEBUG\"'"

I hope this will work correctly on your setup.

@CoreyKaylor
Copy link
Owner

That image doesn't work @bulpet it doesn't produce an arm64 file.

@CoreyKaylor
Copy link
Owner

Looking at the repository though, it looks like there's something there to look closer. When I have a little more time to sit down and try some things out, I'll try some of their documented steps for dockcross repo.

@CoreyKaylor
Copy link
Owner

@bulpet I've found the right step to produce the arm64 binary. Please take a look at the latest master and see if that binary works for you. If so, I'll publish the nuget soon. Thanks for pointing me in the right direction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants