Comments (10)
And I solved it!
The magic incantation:
$ install_name_tool -id /usr/local/lib/libfdb_c.dylib /usr/local/lib/libfdb_c.dylib
How I got there:
$ otool -L /usr/local/lib/libfdb_c.dylib
gives:
/usr/local/lib/libfdb_c.dylib:
libfdb_c.dylib (compatibility version 0.0.0, current version 0.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1560.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.4)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.200.5)
but for almost any other dylib, the id (first entry) is a full path. Those packages imported just fine, while libfdb_c.dylib did not. install_name_tool
fixes this. I'll be opening an issue on the FoundationDB repo to report this, so leaving this open in case we want to add the install_name_tool
command to the install script.
from fdbswift.
I decided to include this magic command to install_pkgconfig.sh
. And also confirmed that this library works perfectly (well almost) with Apple Silicon. As for FDB itself... Oh welp, at least first pre-release of 7.0.0 was published yesterday (not pkg tho). And you can always build it from source :)
from fdbswift.
Yeah, I've run into this one too. I tend to believe that it is an Xcode bug, bc SPM/Linux works like a charm, AND running a product in Xcode that has FDB as a dependency, works as well. I haven't tried opening it as xcodeproj (I've been only using Package.swift lately).
Maybe it has something to do with unsigned FoundationDB distributions — last time I downloaded it from official website, it refused to install client/server because of unsigned (or incorrectly signed? can't remember) .pkg
installation file.
Luckily, it's not a blocker ATM, so we can at least monitor/investigate the problem, or maybe it will go away as we update to Big Sur or newer Xcode version :)
(BTW, Dimitri, I'm going to release something FDB-related in a few days, stay tuned, I think you gonna like it :)
from fdbswift.
I've only been using Package.swift via Xcode as well, so needing to switch to the terminal to run tests is a bit different than what I'm used to, so I was hoping it was just me 😅
(BTW, Dimitri, I'm going to release something FDB-related in a few days, stay tuned, I think you gonna like it :)
Looking forward to it!
Btw, I was hoping there would be a slack/discord for FDB/Swift discussion - is there one I don't know about? Would the swift-server.slack.com folks mind if there was a channel specific to it?
from fdbswift.
I think it's totally an Xcode bug, it just yielded a warning: ld: warning: dylib (/usr/local/lib/libfdb_c.dylib) was built for newer macOS version (10.14) than being linked (10.10)
from fdbswift.
Still broken in 12.1, so I filed feedback: FB8820195
from fdbswift.
Yeah, I think Xcode now requires all dylibs to be signed (unlike regular console Swift/SPM), whereas libfdb_c is not :/ Small_indie_company.jpg
from fdbswift.
le sigh
from fdbswift.
Wow, now that the investigation :D
from fdbswift.
Glad to see FDB releases still have not fixed this 🙃
from fdbswift.
Related Issues (20)
- Incorrect null escape unpack
- Make TuplePackable non-optional
- Proper namespace
- Safer Tuple unpack HOT 1
- Even more verbose
- Transaction options HOT 1
- Implement own precondition function for all assertions
- FDBTuplePackable's methods' names and definitions are too wide
- `'foundationdb/fdb_c.h' file not found` when building in Xcode HOT 11
- Support for version stamps in keys HOT 3
- Some tests pollute the local cluster HOT 1
- Why not use an additional package instead of requiring manual installation steps HOT 3
- No License HOT 2
- Implement Directory layer HOT 2
- Failing versionstamp test in master HOT 4
- FDB.NetworkOption.TLSVerifyPeers should have String associated value instead of Bytes HOT 1
- Omit password string when logging FDB.NetworkOption.TLSPassword setting HOT 1
- Transaction `set` is ambiguous. HOT 5
- Subspace.subspace is internal but readme suggests otherwise. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fdbswift.