FS#56977 - [libpqxx] missing internal function pqxx::internal::clear_result in shared library

Attached to Project: Arch Linux
Opened by Gregpr Mückl (gmueckl) - Saturday, 06 January 2018, 17:41 GMT
Last edited by Eli Schwartz (eschwartz) - Monday, 22 January 2018, 23:37 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Levente Polyak (anthraxx)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Compiling a program against currently current version of libpqxx (5.1.0-1) may lead to the following linker error:

----
/tmp/ccdn3XEq.o: In function `pqxx::internal::PQAlloc<pg_result const, &pqxx::internal::clear_result>::PQAlloc(pg_result const*)':
dbproxy.cpp:(.text._ZN4pqxx8internal7PQAllocIK9pg_resultXadL_ZNS0_12clear_resultEPS3_EEEC2ES4_[_ZN4pqxx8internal7PQAllocIK9pg_resultXadL_ZNS0_12clear_resultEPS3_EEEC5ES4_]+0x1b): undefined reference to `pqxx::internal::clear_result(pg_result const*)'
c
----

The purportedly missing function is part of the libpqxx source code and has been for a while. No patches are applied in the PKGBUILD script for this library. However, readelf does not show this particular function as part of the shared object:

----
$ readelf -Ws /usr/lib/libpqxx.so |grep clear_result
$
----

Recompiling libpqxx from source without patches fixes the immediate issue for me (it is also currently flagged for update). But how can this function not be part of the compiled shared library? What caused this?
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Monday, 22 January 2018, 23:37 GMT
Reason for closing:  Fixed
Additional comments about closing:  libpqxx 6.0.0-1
Comment by Doug Newgard (Scimmia) - Sunday, 07 January 2018, 05:19 GMT Comment by Eli Schwartz (eschwartz) - Sunday, 07 January 2018, 05:47 GMT
Huh... that's even in the flag message! (Assuming one is logged in to archweb)
Comment by Rikard Falkeborn (Herk) - Monday, 22 January 2018, 23:25 GMT
With 6.0.0-1:

```
$ readelf -Ws /usr/lib/libpqxx.so | grep clear_result
327: 000000000002cf90 6 FUNC GLOBAL DEFAULT 9 _ZN4pqxx8internal12clear_resultEPK9pg_result
```

Loading...