Reputation: 19897
I've compiled the Berkeley DB library and included in my iOS project in Xcode 4.2. The project compiles just fine, but when I run it I get the following error:
BDB1539 Build signature doesn't match environment
.
.
.
lots of exceptions here with no useful information
.
.
.
terminate called throwing an exception(gdb)
The project is one of the templates that comes with Xcode. The only thing I've changed is added the header for the berkeley library, linked the library itself and created an instance of the DB in the init of the model controller.
I ran lipo on the library to make sure it was the correct architecture and got the following result:
>lipo -info libdb_cxx-5.3.a
input file libdb_cxx-5.3.a is not a fat file
Non-fat file: libdb_cxx-5.3.a is architecture: i386
It appears to be the correct architecture.
What is a reasonable way of debugging what is going wrong here?
Upvotes: 0
Views: 729
Reputation: 521
Actually, also had this problem, and it happened because I created my database with the debug library and tried to open it later using release. Something for people to be aware of...
Upvotes: 1
Reputation: 19897
It turns out "Build signature doesn't match environment" is a Berkeley DB exception that I triggered when I passed in a unix path instead of an iOS path as the DB location for the environment.
Upvotes: 0