dev-db/libodbc++ underlinks `/usr/lib/libodbc++`. A hand-build libodbc++ depends on libodbc, but the one from the ebuild does not (probably due to -Wl,--as-needed somewhere). This leads to suprising link failures, e.g. $ cat test.cpp int main() { } $ g++ test.cpp -lodbc++ /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLFetch' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLBulkOperations' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLColumns' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLConnect' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLGetDiagRec' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLSpecialColumns' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLSetStmtAttr' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLNumParams' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLPrepare' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLRowCount' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLSetConnectAttr' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLDataSources' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLStatistics' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLFetchScroll' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLGetFunctions' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLGetCursorName' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLProcedureColumns' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLExecute' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLNativeSql' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLColumnPrivileges' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLGetInfo' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLBindParameter' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLSetCursorName' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLFreeHandle' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLParamData' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLFreeStmt' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLPrimaryKeys' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLDescribeParam' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLForeignKeys' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLGetStmtAttr' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLSetEnvAttr' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLTablePrivileges' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLColAttribute' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLAllocHandle' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLBindCol' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLGetTypeInfo' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLTables' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLSetPos' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLProcedures' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLEndTran' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLGetConnectAttr' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLDrivers' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLGetData' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLMoreResults' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLNumResultCols' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLExecDirect' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLDriverConnect' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLCancel' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLDisconnect' /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../../libodbc++.so: undefined reference to `SQLPutData' collect2: ld returned 1 exit status
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d836275904b0d08fac841bbad6cd365d0b02a2c commit 0d836275904b0d08fac841bbad6cd365d0b02a2c Author: Jakov Smolić <jsmolic@gentoo.org> AuthorDate: 2021-11-14 13:43:21 +0000 Commit: Jakov Smolić <jsmolic@gentoo.org> CommitDate: 2021-11-14 13:43:21 +0000 dev-db/libodbc++: Port to EAPI 8 Closes: https://bugs.gentoo.org/819669 Closes: https://bugs.gentoo.org/729692 Closes: https://bugs.gentoo.org/372025 Signed-off-by: Jakov Smolić <jsmolic@gentoo.org> ...+-0.2.5-r2.ebuild => libodbc++-0.2.5-r3.ebuild} | 58 +++++++++++----------- 1 file changed, 28 insertions(+), 30 deletions(-)