[Bug 122] New: [3.2.4]: mixed linking broken for libsyslog-ng.so.*
https://bugzilla.balabit.com/show_bug.cgi?id=122 Summary: [3.2.4]: mixed linking broken for libsyslog-ng.so.* Product: syslog-ng Version: 3.2.x Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: unspecified Component: syslog-ng AssignedTo: bazsi@balabit.hu ReportedBy: arekm@maven.pl Type of the Report: --- Estimated Hours: 0.0 libsyslog-ng.so.* library uses glib, eventlib and libcap symbols but doesn't link with these: Undefined symbols: $ objdump -T ./lib/.libs/libsyslog-ng.so.0.0.0 | grep U | wc -l 297 -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugzilla.balabit.com/show_bug.cgi?id=122 --- Comment #1 from Balazs Scheidler <bazsi@balabit.hu> 2011-05-31 16:22:24 --- Can you show me your configure command line? In dynamic mode it links against those libraries, in mixed mode it doesn't, as it fetches those symbols through the main program, which links these dependencies statically. -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugzilla.balabit.com/show_bug.cgi?id=122 --- Comment #2 from Arkadiusz Miśkiewicz <arekm@maven.pl> 2011-05-31 18:01:33 --- I always kept forgetting about these weird linking rules used in syslog-ng (which break all the time with --as-needed or --no-copy-dt-needed-entries linker flags). Build log (including configure options): ftp://buildlogs.pld-linux.org/th/x86_64/FAIL/syslog-ng,9a44d5db-398c-4559-b35c-63d55e241838.bz2 BUT it is with a patch: http://cvs.pld-linux.org/cgi-bin/cvsweb/packages/syslog-ng/syslog-ng-link.pa... which fixes linking but links with these dynamicly (since libtool is used for that linking and thus -Bstatic is ignored) thus breaking "mixed linking" idea. So maybe the solution is to fail at configure time when --as-needed or --no-copy-dt-needed-entries linker flags are used? -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugzilla.balabit.com/show_bug.cgi?id=122 --- Comment #3 from Balazs Scheidler <bazsi@balabit.hu> 2011-06-01 08:19:29 --- the patch is wrong since it produces _two_ copies of statically compiled libraries into the final executable. one in the syslog-ng library, the other in the syslog-ng binary. the only reason it might work as the main program does very little with glib directly. -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugzilla.balabit.com/show_bug.cgi?id=122 --- Comment #4 from Arkadiusz Miśkiewicz <arekm@maven.pl> 2011-06-01 08:24:31 --- That's why I wrote "thus breaking "mixed linking" idea.". I ended up filtering out --as-needed and --no-copy-dt-needed-entries linker flags. -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugzilla.balabit.com/show_bug.cgi?id=122 --- Comment #5 from Balazs Scheidler <bazsi@balabit.hu> 2011-06-04 13:14:49 --- Can you attach the patch here, so that I could add it to the syslog-ng configure script if it makes sense? Although I'm quite reluctant to add LDFLAGS/CFLAGS filtering, I'd say that if the compiling user supplies those arguments, then she knows what she's doing, so IMHO the best place to filter those arguments is the packaging files (be them .spec files or debian/ directories or anything else). Anyway, it'd make the decision easier if you could attach the patch. -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugzilla.balabit.com/show_bug.cgi?id=122 --- Comment #6 from Arkadiusz Miśkiewicz <arekm@maven.pl> 2011-06-04 14:49:54 --- There is no patch since these flags are default in my rpm and I'm filtering them on spec file level: http://cvs.pld-linux.org/cgi-bin/cvsweb/packages/syslog-ng/syslog-ng.spec?r1... -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugzilla.balabit.com/show_bug.cgi?id=122 Balazs Scheidler <bazsi@balabit.hu> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution| |INVALID Status|NEW |RESOLVED --- Comment #7 from Balazs Scheidler <bazsi@balabit.hu> 2011-06-04 15:16:22 --- Thanks. Although I'd disagree with "crazy", you can always link syslog-ng in dynamic mode, in which case no such craziness is being done. The only reason is that distros don't have a dynamic glib/openssl in their root partition. If pld does have that, you can change to full dynamic linking, which is certainly nicer. It is not an accident that mixed linking is not the default. -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
participants (1)
-
bugzilla@bugzilla.balabit.com