Hi, Raffaele <raffaele@unipr.it> [20071018 17:44:39 +0200]:
I need to compile syslog-ng with glibc 2.0.6 (don't tell me to upgrade the system... it's another 'sad system administration without power story'), can anyone tell me if any older version of syslog-ng work with this glibc?
*cough* static compile *cough*
I'm not so smart but surely you have a cold :) Can you explain a bit more?
Statically compiling something means that you get an executable application that has no dependencies on any libraries. So although the local machine might only have glib 2.0.6, you could compile it on another machine against 2.3.6 statically and then copy the resulting (sizable) binary to the 'legacy' system. Simply put, it merges all the required libraries (what you would see when you type 'ldd \sbin\syslog-ng'[1] into a single independent file that can run on it's own steam. To do this, compile as usual syslog-ng on a similar but more up-to-date machine but also pass '--enable-static-linking' to './configure' when you run it. After it compiles instead of the usual 300kB binary you will get a file that is several megabytes in size (the glibc library and others all all included in a single package). Result....win! :) Have fun Alex [1] ac56@logging0:~$ ldd /sbin/syslog-ng linux-gate.so.1 => (0xffffe000) libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7f3c000) librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7f33000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e01000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7def000) /lib/ld-linux.so.2 (0xb7f59000)