Undefined sqlite symbols
Brought to you by:
mteel
After fixing all the compile errors, radlib 2.12.0 fails to link:
/bin/sh ../libtool --tag=CC --mode=link ccache /usr/bin/clang -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64 -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64 -o librad.la -rpath /opt/local/lib radbuffers.lo radconffile.lo radcrc.lo raddebug.lo radevents.lo radlist.lo radmsgLog.lo radmsgRouter.lo radprocess.lo radproclist.lo radprocutils.lo radqueue.lo radsemaphores.lo radsha.lo radshmem.lo radsocket.lo radsortlist.lo radstack.lo radstates.lo radsysdefs.lo radsystem.lo radsysutils.lo radtextsearch.lo radthread.lo radtimers.lo radtimeUtils.lo radUDPsocket.lo radsqlite.lo -lm -lc
libtool: link: ccache /usr/bin/clang -dynamiclib -o .libs/librad.0.dylib .libs/radbuffers.o .libs/radconffile.o .libs/radcrc.o .libs/raddebug.o .libs/radevents.o .libs/radlist.o .libs/radmsgLog.o .libs/radmsgRouter.o .libs/radprocess.o .libs/radproclist.o .libs/radprocutils.o .libs/radqueue.o .libs/radsemaphores.o .libs/radsha.o .libs/radshmem.o .libs/radsocket.o .libs/radsortlist.o .libs/radstack.o .libs/radstates.o .libs/radsysdefs.o .libs/radsystem.o .libs/radsysutils.o .libs/radtextsearch.o .libs/radthread.o .libs/radtimers.o .libs/radtimeUtils.o .libs/radUDPsocket.o .libs/radsqlite.o -L/opt/local/lib -lm -lc -Os -arch x86_64 -Wl,-headerpad_max_install_names -Wl,-syslibroot -Wl,/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch x86_64 -install_name /opt/local/lib/librad.0.dylib -compatibility_version 1 -current_version 1.0 -Wl,-single_module
Undefined symbols for architecture x86_64:
"_sqlite3_close", referenced from:
_radsqliteOpen in radsqlite.o
_radsqliteClose in radsqlite.o
"_sqlite3_column_bytes", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectFieldGet in radsqlite.o
"_sqlite3_column_count", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectFieldGet in radsqlite.o
"_sqlite3_column_double", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectFieldGet in radsqlite.o
"_sqlite3_column_int64", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectFieldGet in radsqlite.o
"_sqlite3_column_name", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectFieldGet in radsqlite.o
"_sqlite3_column_text", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectFieldGet in radsqlite.o
"_sqlite3_column_type", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectFieldGet in radsqlite.o
"_sqlite3_errcode", referenced from:
_printError in radsqlite.o
"_sqlite3_errmsg", referenced from:
_printError in radsqlite.o
"_sqlite3_finalize", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectReleaseResults in radsqlite.o
_radsqlitePragma in radsqlite.o
"_sqlite3_open", referenced from:
_radsqliteOpen in radsqlite.o
"_sqlite3_prepare", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectQuery in radsqlite.o
"_sqlite3_step", referenced from:
_radsqliteQuery in radsqlite.o
_radsqlitedirectGetRow in radsqlite.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [librad.la] Error 1
You've forgotten to add the -lsqlite3
linker flag.