More CCDB 2 Work

Continuing on from More Further Notes on CCDB 2.

  • Needed to revise patch to jana’s sbms_config.py to get showbuild to work on Fedora 35. See Pull Request #232.

Now that SHOWBUILD is fixed, here is the jana error:

make -C/home/marki/gluex_top_ccdb2/jana -f/home/marki/gluex_top_ccdb2/build_scripts/Makefile_jana
make[1]: Entering directory '/home/marki/gluex_top_ccdb2/jana'
Makefile_jana info: SCONS = scons
cd /home/marki/gluex_top_ccdb2/jana/jana_0.8.2^ccdb2; scons SHOWBUILD=1
scons: Reading SConscript files ...
Test compiling pthread:
['c++', '-o', '.Linux_Fedora35-x86_64-gcc11.2.1_pthread', '.Linux_Fedora35-x86_64-gcc11.2.1_pthread.cc']
---Succeeded
looking for sbms_b'Linux'.py
No module named "sbms_b'Linux'"
looking for sbms_Linux_Fedora35-x86_64-gcc11-2-1.py
No module named 'sbms_Linux_Fedora35-x86_64-gcc11-2-1'
sbms : Making jana_config.h in .Linux_Fedora35-x86_64-gcc11.2.1/JANA
Test compiling xerces-c:
['c++', '-o', '.Linux_Fedora35-x86_64-gcc11.2.1_xerces-c', '.Linux_Fedora35-x86_64-gcc11.2.1_xerces-c.cc', '-I/home/marki/gluex_top_ccdb2/xerces-c/xerces-c-3.2.3/include', '-L/home/marki/gluex_top_ccdb2/xerces-c/xerces-c-3.2.3/lib', '-lxerces-c']
---Succeeded
Test compiling xerces-c:
['c++', '-o', '.Linux_Fedora35-x86_64-gcc11.2.1_xerces-c', '.Linux_Fedora35-x86_64-gcc11.2.1_xerces-c.cc', '-I/home/marki/gluex_top_ccdb2/xerces-c/xerces-c-3.2.3/include', '-L/home/marki/gluex_top_ccdb2/xerces-c/xerces-c-3.2.3/lib', '-lxerces-c']
---Succeeded
--- Configuration results ----
    HAVE_ROOT = 1
  HAVE_XERCES = 1
      XERCES3 = 1
    HAVE_CCDB = 1
------------------------------
sbms : Making jana-config in Linux_Fedora35-x86_64-gcc11.2.1/bin
scons: done reading SConscript files.
scons: Building targets ...
c++ -o .Linux_Fedora35-x86_64-gcc11.2.1/unit_tests/associated_objects/associated_objects .Linux_Fedora35-x86_64-gcc11.2.1/unit_tests/associated_objects/AssociatedObject_test.o -LLinux_Fedora35-x86_64-gcc11.2.1/lib -L/home/marki/gluex_top_ccdb2/xerces-c/xerces-c-3.2.3/lib -L/usr/lib64 -L/home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib -lmariadb -lJANA -lccdb -lxerces-c -ldl
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteDataProvider::Connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
SQLiteDataProvider.cc:(.text+0x345): undefined reference to `sqlite3_open_v2'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x374): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x47e): undefined reference to `sqlite3_exec'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteDataProvider::Disconnect()':
SQLiteDataProvider.cc:(.text+0x604): undefined reference to `sqlite3_close'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `unsigned long ccdb::SQLiteStatement::Execute<ccdb::SQLiteDataProvider::LoadDirectories()::{lambda(unsigned long)#1}>(ccdb::SQLiteDataProvider::LoadDirectories()::{lambda(unsigned long)#1})':
SQLiteDataProvider.cc:(.text+0x2543): undefined reference to `sqlite3_column_count'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2563): undefined reference to `sqlite3_step'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x25af): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2644): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `unsigned long ccdb::SQLiteStatement::Execute<ccdb::SQLiteDataProvider::GetConstantsTypeTable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ccdb::Directory*, bool)::{lambda(unsigned long)#1}>(ccdb::SQLiteDataProvider::GetConstantsTypeTable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ccdb::Directory*, bool)::{lambda(unsigned long)#1})':
SQLiteDataProvider.cc:(.text+0x26f7): undefined reference to `sqlite3_column_count'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2717): undefined reference to `sqlite3_step'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2763): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x27f8): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `unsigned long ccdb::SQLiteStatement::Execute<ccdb::SQLiteDataProvider::GetAllConstantsTypeTables(bool)::{lambda(unsigned long)#1}>(ccdb::SQLiteDataProvider::GetAllConstantsTypeTables(bool)::{lambda(unsigned long)#1})':
SQLiteDataProvider.cc:(.text+0x28ab): undefined reference to `sqlite3_column_count'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x28cb): undefined reference to `sqlite3_step'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2917): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x29ac): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `unsigned long ccdb::SQLiteStatement::Execute<ccdb::SQLiteDataProvider::LoadColumns(ccdb::ConstantsTypeTable*)::{lambda(unsigned long)#1}>(ccdb::SQLiteDataProvider::LoadColumns(ccdb::ConstantsTypeTable*)::{lambda(unsigned long)#1})':
SQLiteDataProvider.cc:(.text+0x2a5f): undefined reference to `sqlite3_column_count'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2a7f): undefined reference to `sqlite3_step'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2acb): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2b60): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `unsigned long ccdb::SQLiteStatement::Execute<ccdb::SQLiteDataProvider::SelectVariation(ccdb::SQLiteStatement&)::{lambda(unsigned long)#1}>(ccdb::SQLiteDataProvider::SelectVariation(ccdb::SQLiteStatement&)::{lambda(unsigned long)#1})':
SQLiteDataProvider.cc:(.text+0x2c13): undefined reference to `sqlite3_column_count'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2c33): undefined reference to `sqlite3_step'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2c7f): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2d14): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `unsigned long ccdb::SQLiteStatement::Execute<ccdb::SQLiteDataProvider::GetAssignmentShort(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)::{lambda(unsigned long)#1}>(ccdb::SQLiteDataProvider::GetAssignmentShort(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)::{lambda(unsigned long)#1})':
SQLiteDataProvider.cc:(.text+0x2dc7): undefined reference to `sqlite3_column_count'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2de7): undefined reference to `sqlite3_step'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2e33): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text+0x2ec8): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::~SQLiteStatement()':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatementD2Ev[_ZN4ccdb15SQLiteStatementD5Ev]+0x17): undefined reference to `sqlite3_finalize'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::Prepare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement7PrepareERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN4ccdb15SQLiteStatement7PrepareERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x4f): undefined reference to `sqlite3_prepare_v2'
/usr/bin/ld: SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement7PrepareERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN4ccdb15SQLiteStatement7PrepareERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x6f): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement7PrepareERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN4ccdb15SQLiteStatement7PrepareERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0xfa): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::ValidateColumnIndex(int)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement19ValidateColumnIndexEi[_ZN4ccdb15SQLiteStatement19ValidateColumnIndexEi]+0xe2): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::BindInt32(int, int)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement9BindInt32Eii[_ZN4ccdb15SQLiteStatement9BindInt32Eii]+0x3d): undefined reference to `sqlite3_bind_int'
/usr/bin/ld: SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement9BindInt32Eii[_ZN4ccdb15SQLiteStatement9BindInt32Eii]+0x68): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement9BindInt32Eii[_ZN4ccdb15SQLiteStatement9BindInt32Eii]+0xfd): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::BindInt64(int, long)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement9BindInt64Eil[_ZN4ccdb15SQLiteStatement9BindInt64Eil]+0x3f): undefined reference to `sqlite3_bind_int64'
/usr/bin/ld: SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement9BindInt64Eil[_ZN4ccdb15SQLiteStatement9BindInt64Eil]+0x6a): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement9BindInt64Eil[_ZN4ccdb15SQLiteStatement9BindInt64Eil]+0xff): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::BindString(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement10BindStringEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN4ccdb15SQLiteStatement10BindStringEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x54): undefined reference to `sqlite3_bind_text'
/usr/bin/ld: SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement10BindStringEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN4ccdb15SQLiteStatement10BindStringEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x7f): undefined reference to `sqlite3_errmsg'
/usr/bin/ld: SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement10BindStringEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN4ccdb15SQLiteStatement10BindStringEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x114): undefined reference to `fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::ReadInt32(int)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement9ReadInt32Ei[_ZN4ccdb15SQLiteStatement9ReadInt32Ei]+0x30): undefined reference to `sqlite3_column_int'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::ReadUInt32(int)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement10ReadUInt32Ei[_ZN4ccdb15SQLiteStatement10ReadUInt32Ei]+0x30): undefined reference to `sqlite3_column_int'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::ReadUInt64(int)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement10ReadUInt64Ei[_ZN4ccdb15SQLiteStatement10ReadUInt64Ei]+0x30): undefined reference to `sqlite3_column_int64'
/usr/bin/ld: /home/marki/gluex_top_ccdb2/ccdb/ccdb_2.0-test/lib/libccdb.a(SQLiteDataProvider.cc.o): in function `ccdb::SQLiteStatement::ReadString[abi:cxx11](int)':
SQLiteDataProvider.cc:(.text._ZN4ccdb15SQLiteStatement10ReadStringB5cxx11Ei[_ZN4ccdb15SQLiteStatement10ReadStringB5cxx11Ei]+0x35): undefined reference to `sqlite3_column_text'
collect2: error: ld returned 1 exit status
scons: *** [.Linux_Fedora35-x86_64-gcc11.2.1/unit_tests/associated_objects/associated_objects] Error 1
scons: building terminated because of errors.
make[1]: *** [/home/marki/gluex_top_ccdb2/build_scripts/Makefile_jana:47: /home/marki/gluex_top_ccdb2/jana/jana_0.8.2^ccdb2/.sconstruct_done] Error 2
make[1]: Leaving directory '/home/marki/gluex_top_ccdb2/jana'
make: *** [build_scripts/Makefile_all:99: jana_make] Error 2

sqlite3_open_v2 is an unresolved reference in both ccdb 1 and ccdb 2 versions of libccdb.a. When linking associated_objects in ccdb 1 and ccdb 2, there is no search of the sqlite library. Not sure why it is needed in ccdb 2 and not 1.

Solution: added search of sqlite and fmt libraries to jana, via the patch to sbms.py. That seems to work with both ccdb 1 and ccdb 2 builds as far as jana is concerned. This is pull request #233.

Successful Complete Build

  • Modified halld_recon, halld_sim, and hdgeant4 to search fmt libraries.
  • These versions checked in on branches called “add_search_of_fmt_lib” on JeffersonLab repos.
  • Updated version set file is ccdb2_test.xml.
  • Successful builds on both Fedora 35 and CentOS 7

Leave a comment