On Tue, Aug 21, 2012 at 8:54 PM, Dwayne Litzenberger <[email protected]>wrote:
> Recent versions of SQLite fail to run on Mac OS X 10.4 (Tiger) with
> the following error message:
>
We don't test SQLite in MacOS 10.4, but we do test every release on MacOS
10.2. For that platform, we add the compile-time option:
-DSQLITE_WITHOUT_ZONEMALLOC
Doing the same should clear the problem on MacOS 10.4 as well. And using
that approach will save us from having to maintain a bunch of hard-to-test
preprocessor logic.
>
> $ DYLD_LIBRARY_PATH=. ./sqlite3
> dyld: lazy symbol binding failed: Symbol not found:
> _OSAtomicCompareAndSwapPtrBarrier
> Referenced from: ./libsqlite3.0.dylib
> Expected in: /usr/lib/libSystem.B.dylib
>
> dyld: Symbol not found: _OSAtomicCompareAndSwapPtrBarrier
> Referenced from: ./libsqlite3.0.dylib
> Expected in: /usr/lib/libSystem.B.dylib
>
> Trace/BPT trap
>
> This is because OSAtomicCompareAndSwapPtrBarrier was not introduced
> until Mac OS X 10.5 (Leopard).
>
> Affected versions:
>
> - Latest trunk (fossil 45cdc32f1e cloned from https://sqlite.org/src/)
> - SQLite 3.7.13
> - SQLite 3.7.12
>
> Not affected:
>
> - SQLite 3.7.11
> - SQLite 3.7.10
> - SQLite 3.7.9
>
> Build environment:
>
> Mac OS X SDK: MacOSX10.6.sdk
>
> $ xcodebuild -version
> Xcode 3.2.5
> Component versions: DevToolsCore-1763.0; DevToolsSupport-1758.0
> BuildVersion: 10M2423
>
> $ gcc --version
> i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
>
> How to reproduce:
>
> I built SQLite on a Mac OS X 10.5 (Leopard) machine, then copied
> .libs/ to a machine running 10.4 (Tiger) and ran sqlite3 from there:
>
> tar xzf sqlite-autoconf-3071300.tar.gz
> mkdir bld
> cd bld
> CFLAGS='-arch ppc -arch i386 -mmacosx-version-min=10.4' \
> LDFLAGS='-arch ppc -arch i386 -mmacosx-version-min=10.4' \
> ../sqlite-autoconf-3071300/configure --without-dependency-tracking
> make
> rsync --delete -a .libs/ tigerbox:~/sqlite-scratch/
> ssh -t tigerbox "cd ~/sqlite-scratch && DYLD_LIBRARY_PATH=. ./sqlite3"
>
> I should get a regular sqlite prompt. What I actually got was the
> "Symbol not found" error above.
>
> It looks like other people have seen this issue before[1], but it does
> not look like it's actually been fixed.
>
> Please apply the attached patch against the latest trunk (45cdc32f1e),
> which fixes this bug. (You can ignore the git commit id in the patch.
> It wasn't obvious to me how to make fossil output a commit as a
> patch, so just I did a "git init" inside the fossil working directory
> and then worked from that.)
>
> Cheers,
> - Dwayne
>
> [1] http://sqlite.org:8080/pipermail/sqlite-users/2012-January/036184.html
>
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
>
--
D. Richard Hipp
[email protected]
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users