Bug#1104998: unixodbc-dev: unixodbc_conf.h picks up fakeroot LD path
On 1/09/2025 4:06 pm, Jochen Sprickerhof wrote: I have updated the buildd chroot generation script to no longer install fakeroot by default and asked for binNMUs for all bug pinball-dev (is R³ binary-targets) and verified that this reproduces now. I still think it would be better to not expose the build time LD_LIBRARY_PATH in the installed unixodbc_conf.h but that is probably minor, so closing this. Thanks for this work. As indicated in an early response, unixodbc_conf.h is a private header and indicates how unixodbc was built. I'll probably patch out the LD_LIBRARY_PATH line at the next upload. In fact, it might be easier to avoid shipping the header. Hugh
Bug#1104998: unixodbc-dev: unixodbc_conf.h picks up fakeroot LD path
* Jochen Sprickerhof [250512 14:12]: Hi Chris, * Chris Hofstaedtler [2025-05-09 16:42]: /usr/include/aarch64-linux-gnu/unixODBC/unixodbc_conf.h contains: #define LT_DLSEARCH_PATH "/lib:/usr/lib:/usr/local/lib/aarch64-linux-gnu:/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu/libfakeroot:/usr/local/lib" Apparently it picks up the LD_LIBRARY_PATH modification done by fakeroot. But this library path is wrong at runtime. Please fix the build to not include the libfakeroot directory. I think it should be enough to rebuild this package with a recent dpkg that no longer uses fakeroot by default with Rules-Requires-Root: (but I did not test this). This was discussed in #debian-devel today: 13:38 libtool's autoconf picks up LD_LIBRARY_PATH via LT_SYS_DLSEARCH_PATH 13:40 in this case, unixodbc_conf.h is a private header. 13:42 (it indicates how unixodbc was built) And I found a number of packages with the same diff: gerris libapr1-dev (with other changes) libdiagnostics-dev libotf2-trace-dev (with other changes) librep-dev libtool-bin pinball-dev proftpd-core (with other changes) r-base-core (with other changes and log size limit) So maybe this should be reassigned to autoconf? Maybe, maybe not. I'm guessing the packages themselves control if they let the build-time library path end up in their header or binary files. If so, I don't think autoconf can do much about it. Chris
Bug#1104998: unixodbc-dev: unixodbc_conf.h picks up fakeroot LD path
Hi Chris, * Chris Hofstaedtler [2025-05-09 16:42]: /usr/include/aarch64-linux-gnu/unixODBC/unixodbc_conf.h contains: #define LT_DLSEARCH_PATH "/lib:/usr/lib:/usr/local/lib/aarch64-linux-gnu:/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu/libfakeroot:/usr/local/lib" Apparently it picks up the LD_LIBRARY_PATH modification done by fakeroot. But this library path is wrong at runtime. Please fix the build to not include the libfakeroot directory. I think it should be enough to rebuild this package with a recent dpkg that no longer uses fakeroot by default with Rules-Requires-Root: (but I did not test this). This was discussed in #debian-devel today: 13:38 libtool's autoconf picks up LD_LIBRARY_PATH via LT_SYS_DLSEARCH_PATH 13:40 in this case, unixodbc_conf.h is a private header. 13:42 (it indicates how unixodbc was built) And I found a number of packages with the same diff: gerris libapr1-dev (with other changes) libdiagnostics-dev libotf2-trace-dev (with other changes) librep-dev libtool-bin pinball-dev proftpd-core (with other changes) r-base-core (with other changes and log size limit) So maybe this should be reassigned to autoconf? Cheers Jochen signature.asc Description: PGP signature
Bug#1104998: unixodbc-dev: unixodbc_conf.h picks up fakeroot LD path
Package: unixodbc-dev Version: 2.3.12-2 Severity: important User: [email protected] Usertag: environment Hi, /usr/include/aarch64-linux-gnu/unixODBC/unixodbc_conf.h contains: #define LT_DLSEARCH_PATH "/lib:/usr/lib:/usr/local/lib/aarch64-linux-gnu:/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu/libfakeroot:/usr/local/lib" Apparently it picks up the LD_LIBRARY_PATH modification done by fakeroot. But this library path is wrong at runtime. Please fix the build to not include the libfakeroot directory. Best, Chris

