unum-cloud / usearch

Fast Open-Source Search & Clustering engine × for Vectors & 🔜 Strings × in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram 🔍
https://unum-cloud.github.io/usearch/
Apache License 2.0
2.27k stars 142 forks source link

Bug: macos release builds do not contain the library #322

Closed comunidadio closed 7 months ago

comunidadio commented 11 months ago

Describe the bug

The zip files usearch_macOS_arm64_2.8.14.zip and usearch_macOS_amd64_2.8.14.zip only contain usearch.h but no library (.so or .dyld).

Steps to reproduce

Download usearch_macOS_arm64_2.8.14.zip or usearch_macOS_amd64_2.8.14.zip and unzip.

Expected behavior

The release should contain the library (libusearch_c.so/dyld)

USearch version

v2.8.14

Operating System

macOS 14.2

Hardware architecture

Arm

Which interface are you using?

Other bindings

Contact Details

No response

Is there an existing issue for this?

Code of Conduct

comunidadio commented 11 months ago

Checking older releases, it looks like the last release package with libusearch_c.so for mac was 2.7.4

ehsanul commented 10 months ago

Note that this affects usage of the golang bindings with the latest releases. Using 2.7.4 is a fine workaround.

ashvardanian commented 10 months ago

I haven’t had a chance to look into it yet. @comunidadio and @ehsanul can you by any chance help fix this?

sroussey commented 10 months ago

The library being built is called libusearch_c.dylib but the script is assuming it is called libusearch_c.so so it is not being included in the ZIP file.

ashvardanian commented 10 months ago

Nice catch, @sroussey! Then it would only take a wildcard to fix.

phronmophobic commented 9 months ago

This also seems to affect the Java bindings for mac osx. Maven only shows 2.8.12, 2.8.6, and 2.8.4 so the workaround of using 2.7.4 doesn't seem to be an option (see https://mvnrepository.com/artifact/cloud.unum/usearch).

Related: the docs for java show 2.8.11 which doesn't seem to be available on maven (https://unum-cloud.github.io/usearch/java/).

USearch version v2.8.4 and v2.8.12

Operating System macOS 14.0

Hardware architecture Arm

Which interface are you using? Java

ashvardanian commented 8 months ago

@phronmophobic is it possible to mark only the major version for Java dependencies?

@ehsanul and @comunidadio, would you be open to patching the CI to match the right binaries, possibly using a wildcard?

phronmophobic commented 8 months ago

@ashvardanian I ended up writing my own clojure wrapper, https://github.com/phronmophobic/usearch.clj

ashvardanian commented 8 months ago

That's very cool, @phronmophobic!

As for the issue, it's solved now, will merge and release soon 🤗

ashvardanian commented 7 months ago

:tada: This issue has been resolved in version 2.10.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: