Hi, I am trying to compile syslog-ng-2.1.3 using the --enable-static-linking option in the cnfigure part. But, while trying to do the make , I get the below error. /usr/lib/gcc/s390x-redhat-linux/4.1.2/../../../../lib64/libwrap.a(options.o): In function `group_option': (.text+0x85a): warning: Using 'endgrent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(misc.o): In function `resolve_user': /tmp/TEST/WORK/syslog-ng-2.1.3/src/misc.c:258: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/lib/libglib-2.0.a(gutils.o): In function `g_get_any_init_do': /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1645: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1644: warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1646: warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1588: warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1591: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(afinet.o): In function `afinet_resolve_name': /tmp/TEST/WORK/syslog-ng-2.1.3/src/afinet.c:103: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(misc.o): In function `resolve_hostname': /tmp/TEST/WORK/syslog-ng-2.1.3/src/misc.c:166: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking Can you please help me out here. Regards, Rakesh. CSC • This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose • Computer Sciences Corporation India Pvt Ltd • 7th, Floor, Block 1B, DLF IT Park, Sivaji Garden, Nandambakkam Post, Ramapuram, Chennai-600 089.
On Mon, Nov 22, 2010 at 02:30:45PM +0530, Rakesh Pillai wrote:
Hi,
I am trying to compile syslog-ng-2.1.3 using the --enable-static-linking option in the cnfigure part. But, while trying to do the make , I get the below error.
/usr/lib/gcc/s390x-redhat-linux/4.1.2/../../../../lib64/libwrap.a(options.o): In function `group_option': (.text+0x85a): warning: Using 'endgrent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(misc.o): In function `resolve_user': /tmp/TEST/WORK/syslog-ng-2.1.3/src/misc.c:258: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/lib/libglib-2.0.a(gutils.o): In function `g_get_any_init_do': /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1645: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1644: warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1646: warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1588: warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1591: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(afinet.o): In function `afinet_resolve_name': /tmp/TEST/WORK/syslog-ng-2.1.3/src/afinet.c:103: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(misc.o): In function `resolve_hostname': /tmp/TEST/WORK/syslog-ng-2.1.3/src/misc.c:166: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
Can you please help me out here.
Hi, These aren't errors, only warnings. If your compilation failed, the errors were different lines, probably under these block. These are linker warnings, because some glibc calls provided by plugins of glibc's NSS[1] framework. Like all the user and group information handling plugins, where there are different plugins for all the different database backends possible. (like oldschool /etc/(passwd|group|shadow), NIS, NIS+) or network adress lookup (DNS or Hesiod). As the warning says, the statically linked binaries will work reliably only on machines which have the same version of glibc installed, as your builder machine. [1]: http://www.gnu.org/s/libc/manual/html_node/Name-Service-Switch.html Regards, -- Pal Tamas/Folti folti@balabit.hu
Yes you are correct, the actual error message here seems to be some lines below the one that I porvided earlier. Below is the error message that gets generated. /usr/lib/gcc/s390x-redhat-linux/4.1.2/../../../../lib64/libwrap.a(hosts_access.o): In function `host_match': (.text+0xc62): undefined reference to `yp_get_default_domain' collect2: ld returned 1 exit status make[2]: *** [syslog-ng] Error 1 make[2]: Leaving directory `/tmp/TEST/WORK/syslog-ng-2.1.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/TEST/WORK/syslog-ng-2.1.3' make: *** [all] Error 2 Any suggestions to get around with the above error? Regards, Rakesh CSC • This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose • Computer Sciences Corporation India Pvt Ltd • 7th, Floor, Block 1B, DLF IT Park, Sivaji Garden, Nandambakkam Post, Ramapuram, Chennai-600 089. From: Pal Tamas <folti@balabit.hu> To: "Syslog-ng users' and developers' mailing list" <syslog-ng@lists.balabit.hu> Date: 11/22/2010 03:28 PM Subject: Re: [syslog-ng] Syslog-ng error On Mon, Nov 22, 2010 at 02:30:45PM +0530, Rakesh Pillai wrote:
Hi,
I am trying to compile syslog-ng-2.1.3 using the --enable-static-linking
option
in the cnfigure part. But, while trying to do the make , I get the below error.
/usr/lib/gcc/s390x-redhat-linux/4.1.2/../../../../lib64/libwrap.a(options.o):
In function `group_option': (.text+0x85a): warning: Using 'endgrent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(misc.o): In function `resolve_user': /tmp/TEST/WORK/syslog-ng-2.1.3/src/misc.c:258: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/local/lib/libglib-2.0.a(gutils.o): In function `g_get_any_init_do': /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1645: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1644: warning: Using 'setpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1646: warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1588: warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /tmp/TEST/WORK/glib-2.16.5/glib/gutils.c:1591: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(afinet.o): In function `afinet_resolve_name': /tmp/TEST/WORK/syslog-ng-2.1.3/src/afinet.c:103: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking libsyslog-ng.a(misc.o): In function `resolve_hostname': /tmp/TEST/WORK/syslog-ng-2.1.3/src/misc.c:166: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
Can you please help me out here. Hi,
These aren't errors, only warnings. If your compilation failed, the errors were different lines, probably under these block. These are linker warnings, because some glibc calls provided by plugins of glibc's NSS[1] framework. Like all the user and group information handling plugins, where there are different plugins for all the different database backends possible. (like oldschool /etc/(passwd|group|shadow), NIS, NIS+) or network adress lookup (DNS or Hesiod). As the warning says, the statically linked binaries will work reliably only on machines which have the same version of glibc installed, as your builder machine. [1]: http://www.gnu.org/s/libc/manual/html_node/Name-Service-Switch.html Regards, -- Pal Tamas/Folti folti@balabit.hu ______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.campin.net/syslog-ng/faq.html
On Mon, Nov 22, 2010 at 03:56:19PM +0530, Rakesh Pillai wrote:
Yes you are correct, the actual error message here seems to be some lines below the one that I porvided earlier. Below is the error message that gets generated.
/usr/lib/gcc/s390x-redhat-linux/4.1.2/../../../../lib64/libwrap.a (hosts_access.o): In function `host_match': (.text+0xc62): undefined reference to `yp_get_default_domain' collect2: ld returned 1 exit status make[2]: *** [syslog-ng] Error 1 make[2]: Leaving directory `/tmp/TEST/WORK/syslog-ng-2.1.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/TEST/WORK/syslog-ng-2.1.3' make: *** [all] Error 2
Any suggestions to get around with the above error?
Google results from early the 2000's says it's a problem if the application doesn't link /usr/lib/libnsl.a. If you have that file (it's in glibc-devel, although RHEL 6 no longer has it), you can force it's linking by declaring -lnsl in LDFLAGS and re-run ./configure: LDFLAGS="-lnsl [<opts>]" ./configure <configure opts> Although if you don't need a fully static binaries, you should try passing -Wl,-Bstatic in LDFLAGS and don't add --enable-static-linking to ./configure. In this case, the linker tries to link statically only those libs which were declared as -l<libname> on the linker's command line(technically every other lib than glibc). -- Pal Tamas/Folti folti@balabit.hu
participants (2)
-
Pal Tamas
-
Rakesh Pillai