Summary: | dev-libs/apr-1.4.5 fails to compile with: PTHREAD_PRIO_INHERIT undeclared when CPPFLAGS=" " | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Konstantin M <konstiindo> |
Component: | [OLD] Library | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | binki |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | https://issues.apache.org/bugzilla/show_bug.cgi?id=50334 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 306835 | ||
Attachments: |
build.log of failed emerge
configure of apr-1.4.5 configure of apr-1.4.5 (gzipped) configure of apr-1.4.5 (gzipped) apr-r1152852-build-flags-extra.patch |
Description
Konstantin M
2011-09-18 22:38:19 UTC
Created attachment 286931 [details]
build.log of failed emerge
Fix for the problem: CPPFLAGS=-D_XOPEN_SOURCE emerge -1au apr Suggested by binki on irc (freenode #gentoo-multilib-overlay). Thanks ! Upon closer examination of build.log: * Running eautoreconf in '/var/tmp/portage/dev-libs/apr-1.4.5/work/apr-1.4.5' ... and looking at the commandline of the compiler: -D_REENTRANT-D_GNU_SOURCE This means that the autoconf scripts are trying to define _GNU_SOURCE which implies _XOPEN_SOURCE, but a very new version of either m4 or autoconf or a related package which luzipher is using is producing the erroneous CPPFLAGS quoted above. I'll be looking for the right autoconf macro to patch to fix this problem... Created attachment 286943 [details]
configure of apr-1.4.5
Created attachment 286945 [details]
configure of apr-1.4.5 (gzipped)
Created attachment 286947 [details]
configure of apr-1.4.5 (gzipped)
Created attachment 286967 [details, diff] apr-r1152852-build-flags-extra.patch Reproduce this bug by setting CPPFLAGS=" ". This bug shows up for many portage-multilib users because we randomly add spaces to things like CPPFLAGS -- even when compiling the for the main ABI (and future portage-multilib won't distinguish between main and non-main ABI as much) -- http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=blob;f=bin/auto-multilib.sh;h=4cafc356fb20e3b889380fc0e9b2554a6d6d9a62;hb=375a9f2a59b734492d3d105f9272f1d2b9829fb4#l232 apr's configure script tries to separate user-supplied CPPFLAGS and ./configure-added CPPFLAGS after-the-fact by using sed. It tries to remove the original CPPFLAGS by essentially replacing the first instance of the user's CPPFLAGS with the empty string instead of using more careful string manipulation. This patch, submitted upstream, deals with the string in a more deterministic and reliable manner and thus fixes this bug. This is fixed in dev-libs/apr-1.4.6. Blocking bug #306835 since this is triggered by the multilib branch of sys-apps/portage. (In reply to comment #8) > This is fixed in dev-libs/apr-1.4.6. > > Blocking bug #306835 since this is triggered by the multilib branch of > sys-apps/portage. (In reply to comment #8) > This is fixed in dev-libs/apr-1.4.6. > > Blocking bug #306835 since this is triggered by the multilib branch of > sys-apps/portage. |