Summary: | net-firewall/pglinux with net-libs/libmnl compiled with clang - /usr/lib64/libnetfilter_queue.so: undefined reference to `mnl_attr_parse' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Julian Ospald <hasufell> |
Component: | Current packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | llvm, wizardedit |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=538890 https://bugs.gentoo.org/show_bug.cgi?id=596504 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 594606 | ||
Bug Blocks: | 408963 | ||
Attachments: |
1439671988-install-net-libs_libmnl-1.0.3-r1:0::gentoo.out
1439671996-install-net-libs_libnetfilter_queue-1.0.2:0::gentoo.out 1439672005-install-net-firewall_pglinux-2.3.0:0::hasufell-overlay.out cave-info.txt |
Description
Julian Ospald
2015-08-15 19:39:11 UTC
Build log, emerge --info, proper description. All things that are missing. Created attachment 409108 [details]
1439671988-install-net-libs_libmnl-1.0.3-r1:0::gentoo.out
Created attachment 409110 [details]
1439671996-install-net-libs_libnetfilter_queue-1.0.2:0::gentoo.out
Created attachment 409112 [details]
1439672005-install-net-firewall_pglinux-2.3.0:0::hasufell-overlay.out
Created attachment 409114 [details]
cave-info.txt
(In reply to Jeroen Roovers from comment #1) > Build log, emerge --info, proper description. All things that are missing. the bug summary is accurate, if you don't understand it, read the full bug report (In reply to Julian Ospald (hasufell) from comment #6) > (In reply to Jeroen Roovers from comment #1) > > Build log, emerge --info, proper description. All things that are missing. > > the bug summary is accurate, if you don't understand it, read the full bug > report Yes, your arrogance is correct. (In reply to Jeroen Roovers from comment #7) > (In reply to Julian Ospald (hasufell) from comment #6) > > (In reply to Jeroen Roovers from comment #1) > > > Build log, emerge --info, proper description. All things that are missing. > > > > the bug summary is accurate, if you don't understand it, read the full bug > > report > > Yes, your arrogance is correct. That wasn't arrogance, I just think it's not possible to understand the bug report just by the given summary. Thanks for enhancing it. It looks like this is about setting -fvisibility=hidden and then not properly exporting all symbols. You could try with this patch: --- configure.ac.orig 2012-05-18 01:02:27.180568285 +0200 +++ configure.ac 2015-08-17 07:30:34.298280048 +0200 @@ -15,7 +15,6 @@ AC_EXEEXT AC_DISABLE_STATIC LT_INIT -CHECK_GCC_FVISIBILITY case "$host" in *-*-linux*) ;; *) AC_MSG_ERROR([Linux only, dude!]);; Either that or pglinux is using them when it shouldn't. :) (In reply to Jeroen Roovers from comment #9) > It looks like this is about setting -fvisibility=hidden and then not > properly exporting all symbols. You could try with this patch: > > --- configure.ac.orig 2012-05-18 01:02:27.180568285 +0200 > +++ configure.ac 2015-08-17 07:30:34.298280048 +0200 > @@ -15,7 +15,6 @@ > AC_EXEEXT > AC_DISABLE_STATIC > LT_INIT > -CHECK_GCC_FVISIBILITY > case "$host" in > *-*-linux*) ;; > *) AC_MSG_ERROR([Linux only, dude!]);; I guess you meant libmnl. I get lots of errors with that like socket.c:89:15: error: redefinition of 'mnl_socket_get_fd' as different kind of symbol socket.c:85:5: note: previous definition is here int mnl_socket_get_fd(const struct mnl_socket *nl) and so on. (In reply to Jeroen Roovers from comment #9) > It looks like this is about setting -fvisibility=hidden and then not > properly exporting all symbols. You could try with this patch: > > --- configure.ac.orig 2012-05-18 01:02:27.180568285 +0200 > +++ configure.ac 2015-08-17 07:30:34.298280048 +0200 > @@ -15,7 +15,6 @@ > AC_EXEEXT > AC_DISABLE_STATIC > LT_INIT > -CHECK_GCC_FVISIBILITY > case "$host" in > *-*-linux*) ;; > *) AC_MSG_ERROR([Linux only, dude!]);; With clang-3.5, this gets it further. Next it fails on: ~^ nlmsg.c:241:15: error: redefinition 2 warningof 'mnl_nlmsg_portid_ok' sas different and 2 kind errors of generated. symbol nlmsg.c:237:1: note: previous definition is here mnl_nlmsg_portid_ok(const struct nlmsghdr *nlh, unsigned int portid) ^ nlmsg.c:385:15: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] EXPORT_SYMBOL(mnl_nlmsg_fprintf); ~^ nlmsg.c:385:15: error: redefinition of 'mnl_nlmsg_fprintf' as different kind of symbol nlmsg.c:373:1: note: previous definition is here mnl_nlmsg_fprintf(FILE *fd, const void *data, size_t datalen, and several more redefinitions.. It's a known issue; earlier versions of libmnl are mis-compiled by clang. Please try the latest version (1.0.4). It worked last time I tested it. |