eclipse-sumo / sumo

Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
https://eclipse.dev/sumo
Eclipse Public License 2.0
2.56k stars 1.43k forks source link

libspatialite.so.7: undefined symbol: sqlite3_rtree_query_callback #11559

Closed buraksenkus closed 2 years ago

buraksenkus commented 2 years ago

I'm getting below error when running simply netconvert command.

If possible, upload an example that shows your problem.

bsenkus@burak-thinkpad:~$ netconvert
netconvert: symbol lookup error: /lib/x86_64-linux-gnu/libspatialite.so.7: undefined symbol: sqlite3_rtree_query_callback

SUMO-version:

bsenkus@burak-thinkpad:~$ sudo dpkg -l | grep sumo
ii  sumo                                       1.14.1-2~jammy                          amd64        Simulation of Urban MObility (SUMO)
ii  sumo-doc                                   1.14.1-2~jammy                          all          Simulation of Urban MObility (SUMO), documentation and examples
ii  sumo-tools                                 1.14.1-2~jammy                          all          Simulation of Urban MObility (SUMO), tools and scripts

operating system: Ubuntu 22.04.1 LTS

Here are versions of SQLite and Spatialite

bsenkus@burak-thinkpad:~$ sudo dpkg -l | grep sqlite
ii  libqt5sql5-sqlite:amd64                    5.15.3+dfsg-2ubuntu0.1                  amd64        Qt 5 SQLite 3 database driver
ii  libsqlite3-0:amd64                         3.34.1-3                                amd64        SQLite 3 shared library
ii  libsqlite3-dev:amd64                       3.34.1-3                                amd64        SQLite 3 development files
ii  sqlite3                                    3.34.1-3                                amd64        Command line interface for SQLite 3
bsenkus@burak-thinkpad:~$ sudo dpkg -l | grep spatialite
ii  libspatialite7:amd64                       5.0.1-2build2                           amd64        Geospatial extension for SQLite - libraries
namdre commented 2 years ago

normally, netconvert should not even link against spatialite.

buraksenkus commented 2 years ago

normally, netconvert should not even link against spatialite.

Generally I use netconvert command with --proj.plain-geo flag since I need the latitude and longitude information. I have no idea about linkage but this flag might be relevant. Yet, I'm getting this error even if I simply call netconvert.

how did you install / build netconvert?

Netconvert comes with the standard installation of sumo. apt install sumo sumo-doc sumo-tools

can you post the output of ldd /path/to/netconvert?

bsenkus@burak-thinkpad:~$ ldd /usr/bin/netconvert
    linux-vdso.so.1 (0x00007ffdd5d7c000)
    libgdal.so.30 => /lib/libgdal.so.30 (0x00007fe0a73dd000)
    libxerces-c-3.2.so => /lib/x86_64-linux-gnu/libxerces-c-3.2.so (0x00007fe0a7089000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe0a706d000)
    libproj.so.22 => /lib/x86_64-linux-gnu/libproj.so.22 (0x00007fe0a6d04000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe0a6ad8000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe0a69ef000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe0a69cf000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe0a67a7000)
    libheif.so.1 => /lib/x86_64-linux-gnu/libheif.so.1 (0x00007fe0a6724000)
    libarmadillo.so.10 => /lib/libarmadillo.so.10 (0x00007fe0a6710000)
    libpoppler.so.118 => /lib/x86_64-linux-gnu/libpoppler.so.118 (0x00007fe0a63b8000)
    libjson-c.so.5 => /lib/x86_64-linux-gnu/libjson-c.so.5 (0x00007fe0a63a3000)
    libfreexl.so.1 => /lib/x86_64-linux-gnu/libfreexl.so.1 (0x00007fe0a6397000)
    libqhull_r.so.8.0 => /lib/x86_64-linux-gnu/libqhull_r.so.8.0 (0x00007fe0a6324000)
    libgeos_c.so.1 => /lib/x86_64-linux-gnu/libgeos_c.so.1 (0x00007fe0a62e5000)
    libwebp.so.7 => /lib/x86_64-linux-gnu/libwebp.so.7 (0x00007fe0a6279000)
    libodbc.so.2 => /lib/x86_64-linux-gnu/libodbc.so.2 (0x00007fe0a620a000)
    libodbcinst.so.2 => /lib/x86_64-linux-gnu/libodbcinst.so.2 (0x00007fe0a61f3000)
    libkmlbase.so.1 => /lib/x86_64-linux-gnu/libkmlbase.so.1 (0x00007fe0a61d6000)
    libkmldom.so.1 => /lib/x86_64-linux-gnu/libkmldom.so.1 (0x00007fe0a6136000)
    libkmlengine.so.1 => /lib/x86_64-linux-gnu/libkmlengine.so.1 (0x00007fe0a60fd000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fe0a60cc000)
    libopenjp2.so.7 => /lib/x86_64-linux-gnu/libopenjp2.so.7 (0x00007fe0a6074000)
    libnetcdf.so.19 => /lib/x86_64-linux-gnu/libnetcdf.so.19 (0x00007fe0a5f1b000)
    libhdf5_serial.so.103 => /lib/x86_64-linux-gnu/libhdf5_serial.so.103 (0x00007fe0a5b87000)
    libmfhdfalt.so.0 => /lib/libmfhdfalt.so.0 (0x00007fe0a5b5d000)
    libdfalt.so.0 => /lib/libdfalt.so.0 (0x00007fe0a5ab8000)
    libogdi.so.4.1 => /lib/libogdi.so.4.1 (0x00007fe0a5a9c000)
    libgif.so.7 => /lib/x86_64-linux-gnu/libgif.so.7 (0x00007fe0a5a91000)
    libcharls.so.2 => /lib/x86_64-linux-gnu/libcharls.so.2 (0x00007fe0a5a3e000)
    libgeotiff.so.5 => /lib/x86_64-linux-gnu/libgeotiff.so.5 (0x00007fe0a5a09000)
    libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fe0a59ce000)
    libcfitsio.so.9 => /lib/x86_64-linux-gnu/libcfitsio.so.9 (0x00007fe0a56c7000)
    libpq.so.5 => /lib/x86_64-linux-gnu/libpq.so.5 (0x00007fe0a5675000)
    liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fe0a5655000)
    libblosc.so.1 => /lib/x86_64-linux-gnu/libblosc.so.1 (0x00007fe0a5642000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fe0a5617000)
    libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x00007fe0a5531000)
    libtiff.so.5 => /lib/x86_64-linux-gnu/libtiff.so.5 (0x00007fe0a54ab000)
    libjpeg.so.8 => /lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fe0a542a000)
    libdeflate.so.0 => /lib/x86_64-linux-gnu/libdeflate.so.0 (0x00007fe0a5406000)
    libspatialite.so.7 => /lib/x86_64-linux-gnu/libspatialite.so.7 (0x00007fe0a4c22000)
    libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fe0a4b8b000)
    libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007fe0a4ae5000)
    libfyba.so.0 => /lib/x86_64-linux-gnu/libfyba.so.0 (0x00007fe0a4a8d000)
    libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fe0a48ab000)
    libmysqlclient.so.21 => /lib/x86_64-linux-gnu/libmysqlclient.so.21 (0x00007fe0a4223000)
    libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007fe0a4152000)
    libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fe0a3d10000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fe0a8dd7000)
    libcurl-gnutls.so.4 => /lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007fe0a3c6f000)
    libicuuc.so.70 => /lib/x86_64-linux-gnu/libicuuc.so.70 (0x00007fe0a3a74000)
    libaom.so.3 => /lib/x86_64-linux-gnu/libaom.so.3 (0x00007fe0a3504000)
    libde265.so.0 => /lib/x86_64-linux-gnu/libde265.so.0 (0x00007fe0a3458000)
    libx265.so.199 => /lib/x86_64-linux-gnu/libx265.so.199 (0x00007fe0a24f3000)
    libdav1d.so.5 => /lib/x86_64-linux-gnu/libdav1d.so.5 (0x00007fe0a236d000)
    libblas.so.3 => /lib/x86_64-linux-gnu/libblas.so.3 (0x00007fe0a230b000)
    liblapack.so.3 => /lib/x86_64-linux-gnu/liblapack.so.3 (0x00007fe0a1c46000)
    libarpack.so.2 => /lib/x86_64-linux-gnu/libarpack.so.2 (0x00007fe0a1bfe000)
    libsuperlu.so.5 => /lib/x86_64-linux-gnu/libsuperlu.so.5 (0x00007fe0a1b8a000)
    libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fe0a1ac2000)
    libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fe0a1a78000)
    liblcms2.so.2 => /lib/x86_64-linux-gnu/liblcms2.so.2 (0x00007fe0a1a16000)
    libnss3.so => /lib/x86_64-linux-gnu/libnss3.so (0x00007fe0a18e9000)
    libsmime3.so => /lib/x86_64-linux-gnu/libsmime3.so (0x00007fe0a18bf000)
    libplc4.so => /lib/x86_64-linux-gnu/libplc4.so (0x00007fe0a18b6000)
    libnspr4.so => /lib/x86_64-linux-gnu/libnspr4.so (0x00007fe0a1876000)
    libgeos.so.3.10.2 => /lib/x86_64-linux-gnu/libgeos.so.3.10.2 (0x00007fe0a166b000)
    libltdl.so.7 => /lib/x86_64-linux-gnu/libltdl.so.7 (0x00007fe0a1660000)
    libminizip.so.1 => /lib/x86_64-linux-gnu/libminizip.so.1 (0x00007fe0a1400000)
    liburiparser.so.1 => /lib/x86_64-linux-gnu/liburiparser.so.1 (0x00007fe0a1647000)
    libhdf5_serial_hl.so.100 => /lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100 (0x00007fe0a1622000)
    libsz.so.2 => /lib/x86_64-linux-gnu/libsz.so.2 (0x00007fe0a161d000)
    libtirpc.so.3 => /lib/x86_64-linux-gnu/libtirpc.so.3 (0x00007fe0a13d2000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe0a1618000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fe0a13bf000)
    libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007fe0a131b000)
    libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fe0a12c7000)
    libldap-2.5.so.0 => /lib/x86_64-linux-gnu/libldap-2.5.so.0 (0x00007fe0a1268000)
    libsnappy.so.1 => /lib/x86_64-linux-gnu/libsnappy.so.1 (0x00007fe0a160c000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe0a1261000)
    libjbig.so.0 => /lib/x86_64-linux-gnu/libjbig.so.0 (0x00007fe0a1250000)
    librttopo.so.1 => /lib/x86_64-linux-gnu/librttopo.so.1 (0x00007fe0a11dd000)
    libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007fe0a11b3000)
    libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fe0a1192000)
    librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fe0a1171000)
    libssh.so.4 => /lib/x86_64-linux-gnu/libssh.so.4 (0x00007fe0a1104000)
    libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007fe0a10f0000)
    liblber-2.5.so.0 => /lib/x86_64-linux-gnu/liblber-2.5.so.0 (0x00007fe0a10df000)
    libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fe0a10d1000)
    libfyut.so.0 => /lib/x86_64-linux-gnu/libfyut.so.0 (0x00007fe0a10c6000)
    libfygm.so.0 => /lib/x86_64-linux-gnu/libfygm.so.0 (0x00007fe0a10bb000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fe0a10a7000)
    libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007fe0a1061000)
    libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fe0a0e76000)
    libicudata.so.70 => /lib/x86_64-linux-gnu/libicudata.so.70 (0x00007fe09f258000)
    libnuma.so.1 => /lib/x86_64-linux-gnu/libnuma.so.1 (0x00007fe09f249000)
    libopenblas.so.0 => /lib/x86_64-linux-gnu/libopenblas.so.0 (0x00007fe09cdf8000)
    libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5 (0x00007fe09cb1c000)
    libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fe09cb13000)
    libnssutil3.so => /lib/x86_64-linux-gnu/libnssutil3.so (0x00007fe09cae1000)
    libplds4.so => /lib/x86_64-linux-gnu/libplds4.so (0x00007fe09cadc000)
    libaec.so.0 => /lib/x86_64-linux-gnu/libaec.so.0 (0x00007fe09cad3000)
    libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fe09ca08000)
    libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fe09c9d9000)
    libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fe09c9d3000)
    libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fe09c9c3000)
    libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fe09c9a8000)
    libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fe09c7fe000)
    libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007fe09c7b6000)
    libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fe09c734000)
    libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fe09c70f000)
    libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fe09c5d4000)
    libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fe09c5bc000)
    libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007fe09c574000)
    libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fe09c56d000)
    libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007fe09c55e000)
buraksenkus commented 2 years ago

Also, I have removed sumo, sqlite and libspatialite and installed again. Then tried to run netconvert. Problem exists anyway.

namdre commented 2 years ago

I retract my previous statement of "netconvert should not even link against spatialite.". While it does not do this on RHEL it can reproduce the linkage on Ubuntu. As far as I can tell the link comes about as a consequence of linking against libgdal. Debugging your gdal installation might thus be the right approach (i.e. check if you can run any gdal-commands)

buraksenkus commented 2 years ago

I cannot run any gdal command as well due to the same error. So, as far as I understood, the problem is not related sumo or netconvert directly. I have to examine the gdal and spatialite installations.

Thank you for your guidance!

You can close the issue if you don't have any further comments.