objectbox / objectbox-go

Embedded Go Database, the fast alternative to SQLite, gorm, etc.
https://objectbox.io
Apache License 2.0
1.11k stars 46 forks source link

Library doesn't work/load on M1 Mac: no LC_RPATH's found #53

Open kwadkore opened 1 month ago

kwadkore commented 1 month ago

Description

I followed the installation instructions to add the library to my project (using bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-go/main/install.sh), and it failed with the error message below. I then tried to use the test in the README (go test github.com/objectbox/objectbox-go/...) and it failed for the same reason.

Basic info

Please complete the following information:

How to reproduce

Steps to reproduce the behavior:

  1. Follow installation instructions:
    1. bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-go/main/install.sh)
  2. Download test code: git clone https://github.com/objectbox/objectbox-go.git
  3. CD into directory
  4. Run test: go test ./...
  5. See error

Expected behavior

Test passes

Code

Use test code

Logs, stack traces

dyld[60013]: Library not loaded: @rpath/libobjectbox.dylib Referenced from: <00598A4B-D353-7E86-FAF8-D76E2483B2BB> /private/var/folders/2k/5zy5qzq126sgs39w4cp1sb7m0000gn/T/go-build2815972867/b179/performance.test Reason: no LC_RPATH's found

greenrobot-team commented 1 month ago

Thanks for reporting! Based on a quick web search this LC_RPATH issue appears to be an issue since macOS Sonoma (macOS 14).

I'm not sure how the ObjectBox Go library works, but as a workaround have you tried to put the ObjectBox library into the execution directory (or where the ObjectBox Go library expects it)?

kwadkore commented 1 month ago

Where exactly does the library expect it? I followed the setup instructions, which should presumably put things in the expected locations.

I ran the install.sh script in the directory of the project I intended to use Objectbox with and ran into this issue, so then I followed the instructions to try the provided Objectbox test code and ran into the same issue.

greenrobot-team commented 1 month ago

It should work if the library is in the same folder as the executable. You can manually download it using the

bash <(curl -s https://raw.githubusercontent.com/objectbox/objectbox-c/main/download.sh)

command (do not install it system-wide when asked).

This is just a potential workaround, we need to look at and fix this.