Created attachment 296261 [details] Complete build.log Build failure on Gentoo/FreeBSD gmake[1]: Entering directory `/var/tmp/portage/app-cdr/cdrtools-3.01_alpha06/work/cdrtools-3.01/rscsi' i686-gentoo-freebsd8.2-gcc -O -O2 -march=native -pipe -fomit-frame-pointer -finput-charset=ISO-8859-1 -fexec-charset=UTF-8 -DSCHILY_BUILD -IOBJ/x86-fbsd-freebsd-cc -I../incs/x86-fbsd-freebsd-cc -I../include -I/usr/local/include -I../libscg -c -o OBJ/x86-fbsd-freebsd-cc/rscsi.o rscsi.c ==> LINKING "OBJ/x86-fbsd-freebsd-cc/rscsi" ../libs/x86-fbsd-freebsd-cc/pic/libschily.so: undefined reference to `libintl_gettext' collect2: ld returned 1 exit status gmake[1]: *** [OBJ/x86-fbsd-freebsd-cc/rscsi] Error 1 gmake[1]: Leaving directory `/var/tmp/portage/app-cdr/cdrtools-3.01_alpha06/work/cdrtools-3.01/rscsi' gmake: *** [all] Error 2 The gcc argument lacks "-lintl" to link libintl_gettext.
Created attachment 296263 [details, diff] files/cdrtools-3.01_alpha06-libintl.patch Patch to link libintl. Build passed both on Linux and FreeBSD. and ... I've tried to find upstream bugzilla or list where I can report this issue.. but cannot find one. Where should I go?
Thank you for the report and fix. There is no bug tracker for cdrtools. Issues are usually discussed on the developer list [1]. I would appreciate if you report the issue there. [1] https://lists.berlios.de/mailman/listinfo/cdrecord-developers
Dynamic linking against local (own) libraries has currently only been tested well on Solaris. While Solaris did put gettext() into libc in 1990, some platforms that introduced gettext() later did not follow that. FreeBSD did in addition ban GNU libintl into a space outside the scope of the linker because of the limited freedom in its license. It may be however, that this changed recently as a lot of code has been reimplemented under BSD license recently. Before, you have been forced to call make with LDOPTX=-L/usr/local/lib COPTX=-I/usr/local/include in order to get gettext() on FreeBSD. I any case, the final link situation is the same as on Linux, so why is there no problem on Linux? BTW: the clean solution for this problem (in case of a non-broken dynamic linking concept) is to link the dynamic libschily against libintl - rscsi does not call gettxt() directly or indirectly.
Created attachment 315951 [details, diff] cdrtools-3.01_alpha07-libintl.patch > BTW: the clean solution for this problem (in case of a non-broken dynamic linking concept) is to link the dynamic libschily against libintl - rscsi does not call gettxt() directly or indirectly. Revised patch to link libschily against libintl.
This should be fixed in cdrtools-3.01_alpha08.