Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICP tutorial from documentation tries linking to many database related libraries, fails. #2616

Closed
nilspin opened this issue Nov 13, 2018 · 4 comments

Comments

@nilspin
Copy link

nilspin commented Nov 13, 2018

I am trying to build the ICP registration demo from here using the cmake script provided. But on make I get lot of linker errors about missing database libraries under VTK package. I don't understand why I need all this to build a simple example.

Your Environment

  • Operating System and version: Archlinux 64-bit
  • Compiler: gcc 8.2
  • PCL Version: 1.9

Context

Expected Behavior

make output

nilay@[~/Projects/pcl_icp_demo/build]$ make -j6
[ 50%] Linking CXX executable pcl_icp
/usr/bin/ld: warning: libgdal.so.20, needed by /usr/lib/libvtkIOGDAL.so.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libmysqlclient.so.18, needed by /usr/lib/libvtkIOMySQL.so.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libodbc.so.2, needed by /usr/lib/libvtkIOODBC.so.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libpq.so.5, needed by /usr/lib/libvtkIOPostgreSQL.so.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQresultErrorMessage'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_error@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQnfields'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_real_connect@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALDataset::GetRasterCount()'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_data_seek@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_stmt_param_count@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQfformat'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALRasterBand::GetRasterDataType()'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQerrorMessage'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLCloseCursor'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `VSIFree'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALOpen'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLPrepare'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALRasterBand::RasterIO(GDALRWFlag, int, int, int, int, void*, int, int, GDALDataType, long long, long long, GDALRasterIOExtraArg*)'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_stmt_error@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_get_server_version@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALOpenEx'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `CPLGetLastErrorMsg'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRFeature::GetGeometryRef()'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_fetch_field@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_stmt_execute@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLAllocHandle'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLColumns'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQescapeStringConn'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_real_escape_string@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQexec'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_fetch_field_direct@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_options@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLGetData'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALGetMetadata'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_query@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLFreeStmt'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLFetch'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLDriverConnect'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLGetDiagRec'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_list_fields@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLTables'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQresStatus'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQftype'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_close@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRGeometryCollection::getNumGeometries() const'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_init@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALColorTable::GetColorEntryCount() const'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQfname'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLNumParams'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALGetDriverShortName'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALAllRegister'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_stmt_close@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRFeature::GetFieldAsInteger(int) const'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_get_client_version@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_store_result@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRFeature::GetFieldAsString(int) const'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_fetch_lengths@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRSpatialReference::OGRSpatialReference(char const*)'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQgetvalue'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRFeature::GetFieldAsDouble(int) const'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQclear'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQconnectdb'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRPolygon::getExteriorRing()'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRRegisterAll'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALDataset::GetRasterBand(int)'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALGetGeoTransform'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRGeometryCollection::getGeometryRef(int)'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLSetEnvAttr'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQstatus'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_fetch_row@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRSpatialReference::exportToProj4(char**) const'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALColorTable::GetPaletteInterpretation() const'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQntuples'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_stmt_init@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALGetDriverLongName'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLSetStmtAttr'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLDisconnect'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALGetDatasetDriver'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_errno@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_stmt_prepare@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQresultStatus'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLFetchScroll'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLColAttribute'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLNumResultCols'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `CSLCount'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRFeature::DestroyFeature(OGRFeature*)'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLBindParameter'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQfinish'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_free_result@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRSimpleCurve::getZ(int) const'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALDataset::GetRasterYSize()'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_stmt_result_metadata@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLDescribeCol'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLSetConnectAttr'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_num_fields@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_field_count@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLEndTran'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLFreeHandle'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALColorTable::GetColorEntry(int) const'
/usr/bin/ld: /usr/lib/libvtkIOODBC.so.1: undefined reference to `SQLExecute'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALClose'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRSpatialReference::~OGRSpatialReference()'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_list_tables@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRCurvePolygon::getNumInteriorRings() const'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `OGRSpatialReference::exportToWkt(char**) const'
/usr/bin/ld: /usr/lib/libvtkIOMySQL.so.1: undefined reference to `mysql_stmt_bind_param@libmysqlclient_18'
/usr/bin/ld: /usr/lib/libvtkIOPostgreSQL.so.1: undefined reference to `PQgetisnull'
/usr/bin/ld: /usr/lib/libvtkIOGDAL.so.1: undefined reference to `GDALDataset::GetRasterXSize()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/pcl_icp.dir/build.make:318: pcl_icp] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/pcl_icp.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
@nilspin nilspin changed the title ICP tutorial from documentation tries linking to lot of database related libraries, fails. ICP tutorial from documentation tries linking to many database related libraries, fails. Nov 13, 2018
@taketwo
Copy link
Member

taketwo commented Nov 13, 2018

PCL does not use any of these database-related modules, of course. Apparently something is wrong with your VTK install.

@nilspin nilspin closed this as completed Nov 14, 2018
@nilspin
Copy link
Author

nilspin commented Nov 16, 2018

Issue was with missing VTK dependencies. Solved.

@titibandit
Copy link

Could you please be more specific? What did you do to solve that problem?
Thanks

@titibandit
Copy link

On archlinux, the packages that needed to be installed are:
pdal, unixodbc and gdal.
Once they're installed, linking works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants