[Ganglia-developers] [RFT]: build: linux 64bit biarch support (v0)

2008-07-08 Thread Carlo Marcelo Arenas Belon
The following proposed patch for stable 3.1, partially reverts the configure
routine that tried to guess the libdir directory by assuming biarch rules from
fedora linux (breaking all amd64 BSD and x64 Solaris) and overriding the
libdir parameter passed at configure time (breaking fedora linux ppc64).

It restores the functionality needed to allow setting libdir while still using
libdir at compile time to setup the path for modules and as an intermediate
solution until removing the need to hardcode the module path in the
configuration is backported from trunk.

Carlo
---
Index: configure.in
===
--- configure.in(revision 1531)
+++ configure.in(working copy)
@@ -111,7 +111,6 @@
 dnl The following cpu_vendor_os string goes into config.h.
 dnl
 AC_DEFINE_UNQUOTED(HOST_OS, $host_os, HOST_OS)
-AC_DEFINE_UNQUOTED(ARCH, $host_cpu, ARCH)
 AC_DEFINE_UNQUOTED(CPU_VENDOR_OS, $host, CPU_VENDOR_OS)
 dnl AC_CYGWIN
 
@@ -576,18 +575,18 @@
 AC_SUBST(varstatedir)
 AC_DEFINE_UNQUOTED(VARSTATEDIR, $varstatedir, VARSTATEDIR)
 
-dnl Python module config files need to know where to look for libraries 
(/usr/lib vs /usr/lib64)
-AC_SUBST_FILE(libdir)
-if test x$prefix = xNONE; then
-  prefix=$ac_default_prefix
+if test x$libdir = x\${exec_prefix}/lib; then
+   if test x$exec_prefix = xNONE; then
+  if test x$prefix = xNONE; then
+ exec_prefix=$ac_default_prefix
+  else
+ exec_prefix=$prefix
+  fi
+   fi
+   libdir=`eval echo $libdir`
 fi
+AC_SUBST(libdir)
 
-if test x$host_cpu = xx86_64; then
-  libdir=$prefix/lib64
-else
-  libdir=$prefix/lib
-fi
-
 AC_OUTPUT(Makefile 
   ganglia-config
   tests/Makefile 
-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] [RFT]: build: linux 64bit biarch support

2008-07-08 Thread Carlo Marcelo Arenas Belon
On Mon, Jul 07, 2008 at 09:10:37AM -0400, Jarod Wilson wrote:
 On Monday 07 July 2008 04:46:05 am Carlo Marcelo Arenas Belon wrote:
  On Wed, Jul 02, 2008 at 09:27:02AM -0400, Jarod Wilson wrote:
   On Wednesday 02 July 2008 07:36:41 am Carlo Marcelo Arenas Belon wrote:
The following proposed patch for stable 3.1, replaces the configure
routine that tried to guess the libdir directory by assuming biarch
rules from fedora linux (breaking all amd64 BSD and x64 Solaris) and
overriding the libdir parameter passed at configure time (breaking
fedora linux ppc64).
   
Contains changes from r1452, r1467, r1468, r1475 and r1487
  
   At a glance, yeah, this looks like it should indeed finally Do The Right
   Thing(tm) on all Linux architectures for both 32-bit and 64-bit.
 
  It didn't, I found it was broken in an ia64 SuSE Enterprise Server 10
  server.
 
 D'oh. How so?

It would use an unexpanded libdir variable to replace all the libdir entries
in the configuration and code (the embedded gmond configuration), so if no
configuration was available and --libdir wasn't used it will end up trying to
load all modules from a directory named literally :

  ${exec_prefix}/lib

  A fix has been committed to trunk already, but it is so interlinked with
  another patch to remove the need to hardcode libdir in the configurations
  from Brad that it might as well require it (or both patches together)
  backported as a solution.
 
 Never mind, I can just take a look at trunk and spin up one of my own ia64 
 boxes...

It should had been broken in alpha as well (if you still have one of those and
the host I guessed is right)

please use the alternative proposed patch instead, which is IMHO the only safe
way to ensure this patch doesn't break something else.

Carlo

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] [RFT]: build: linux 64bit biarch support

2008-07-08 Thread Jarod Wilson
On Tuesday 08 July 2008 07:14:25 am Carlo Marcelo Arenas Belon wrote:
 On Mon, Jul 07, 2008 at 09:10:37AM -0400, Jarod Wilson wrote:
  On Monday 07 July 2008 04:46:05 am Carlo Marcelo Arenas Belon wrote:
   On Wed, Jul 02, 2008 at 09:27:02AM -0400, Jarod Wilson wrote:
On Wednesday 02 July 2008 07:36:41 am Carlo Marcelo Arenas Belon 
wrote:
 The following proposed patch for stable 3.1, replaces the configure
 routine that tried to guess the libdir directory by assuming biarch
 rules from fedora linux (breaking all amd64 BSD and x64 Solaris)
 and overriding the libdir parameter passed at configure time
 (breaking fedora linux ppc64).

 Contains changes from r1452, r1467, r1468, r1475 and r1487
   
At a glance, yeah, this looks like it should indeed finally Do The
Right Thing(tm) on all Linux architectures for both 32-bit and
64-bit.
  
   It didn't, I found it was broken in an ia64 SuSE Enterprise Server 10
   server.
 
  D'oh. How so?

 It would use an unexpanded libdir variable to replace all the libdir
 entries in the configuration and code (the embedded gmond configuration),
 so if no configuration was available and --libdir wasn't used it will end
 up trying to load all modules from a directory named literally :

   ${exec_prefix}/lib

Oh, ew, ouch.

   A fix has been committed to trunk already, but it is so interlinked
   with another patch to remove the need to hardcode libdir in the
   configurations from Brad that it might as well require it (or both
   patches together) backported as a solution.
 
  Never mind, I can just take a look at trunk and spin up one of my own
  ia64 boxes...

 It should had been broken in alpha as well (if you still have one of those
 and the host I guessed is right)

No alphas here. Well, there are some collecting dust somewhere in the lab, I 
believe... But no Fedora or Red Hat Enterprise Linux on Alpha for a while 
now, so they don't get much love... My ia64 Fedora build (with --libdir 
explicitly passed in) looks perfectly sane, haven't got around to poking at 
things beyond a simple rpmbuild of the rawhide packages though.

 please use the alternative proposed patch instead, which is IMHO the only
 safe way to ensure this patch doesn't break something else.

Okay, sounds good.

-- 
Jarod Wilson
[EMAIL PROTECTED]

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] [RFT]: build: linux 64bit biarch support

2008-07-07 Thread Jarod Wilson
On Monday 07 July 2008 04:46:05 am Carlo Marcelo Arenas Belon wrote:
 On Wed, Jul 02, 2008 at 09:27:02AM -0400, Jarod Wilson wrote:
  On Wednesday 02 July 2008 07:36:41 am Carlo Marcelo Arenas Belon wrote:
   The following proposed patch for stable 3.1, replaces the configure
   routine that tried to guess the libdir directory by assuming biarch
   rules from fedora linux (breaking all amd64 BSD and x64 Solaris) and
   overriding the libdir parameter passed at configure time (breaking
   fedora linux ppc64).
  
   Contains changes from r1452, r1467, r1468, r1475 and r1487
 
  At a glance, yeah, this looks like it should indeed finally Do The Right
  Thing(tm) on all Linux architectures for both 32-bit and 64-bit.

 It didn't, I found it was broken in an ia64 SuSE Enterprise Server 10
 server.

D'oh. How so?

 A fix has been committed to trunk already, but it is so interlinked with
 another patch to remove the need to hardcode libdir in the configurations
 from Brad that it might as well require it (or both patches together)
 backported as a solution.

Never mind, I can just take a look at trunk and spin up one of my own ia64 
boxes...


-- 
Jarod Wilson
[EMAIL PROTECTED]

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


[Ganglia-developers] [RFT]: build: linux 64bit biarch support

2008-07-02 Thread Carlo Marcelo Arenas Belon
The following proposed patch for stable 3.1, replaces the configure routine
that tried to guess the libdir directory by assuming biarch rules from
fedora linux (breaking all amd64 BSD and x64 Solaris) and overriding the
libdir parameter passed at configure time (breaking fedora linux ppc64).

Contains changes from r1452, r1467, r1468, r1475 and r1487

Carlo
---
Index: configure.in
===
--- configure.in(revision 1496)
+++ configure.in(working copy)
@@ -111,7 +111,6 @@
 dnl The following cpu_vendor_os string goes into config.h.
 dnl
 AC_DEFINE_UNQUOTED(HOST_OS, $host_os, HOST_OS)
-AC_DEFINE_UNQUOTED(ARCH, $host_cpu, ARCH)
 AC_DEFINE_UNQUOTED(CPU_VENDOR_OS, $host, CPU_VENDOR_OS)
 dnl AC_CYGWIN
 
@@ -494,14 +493,40 @@
 EXPORT_SYMBOLS=-export-dynamic
 case $host in
 *linux*)
-CFLAGS=$CFLAGS -D_REENTRANT
-AC_DEFINE(LINUX, 1, LINUX)
+   CFLAGS=$CFLAGS -D_REENTRANT
+   AC_DEFINE(LINUX, 1, LINUX)
 dnl
 dnl For fsusage.c - disk usage.
 dnl
-AC_DEFINE(STAT_STATVFS, 1, STAT_STATVFS)
-AC_DEFINE(SUPPORT_GEXEC, 1, SUPPORT_GEXEC)
-;;
+   AC_DEFINE(STAT_STATVFS, 1, STAT_STATVFS)
+   AC_DEFINE(SUPPORT_GEXEC, 1, SUPPORT_GEXEC)
+   if test x$build_cpu != xia64  \
+   test x$build_cpu != xalpha; then
+   if test x$libdir = x\${exec_prefix}/lib; then
+   if test x$exec_prefix = xNONE; then
+   if test x$prefix = xNONE; then
+   libroot=/usr
+   else
+   libroot=$prefix
+   fi
+   else
+   libroot=$exec_prefix
+   fi
+
+   AC_TRY_COMPILE([], [],
+   [file conftest.$ac_objext  conftest.file])
+   FILE=`cat conftest.file`
+   WIDTH_CPU=`expr x$FILE : '.*ELF \(.*\)-bit '`
+   rm -f conftest.file
+   if test x$WIDTH_CPU = x64; then
+   libdir=$libroot/lib64
+   else
+   libdir=$libroot/lib
+   fi
+   moduledir=$libdir/ganglia
+   fi
+   fi
+   ;;
 *ia64-*hpux*)  CFLAGS=$CFLAGS -D_PSTAT64 -D_HPUX_SOURCE 
LIBS=-lpthread $LIBS
EXPORT_SYMBOLS=-Wl,-E
@@ -572,16 +597,7 @@
 
 dnl Python module config files need to know where to look for libraries 
(/usr/lib vs /usr/lib64)
 AC_SUBST_FILE(libdir)
-if test x$prefix = xNONE; then
-  prefix=$ac_default_prefix
-fi
 
-if test x$host_cpu = xx86_64; then
-  libdir=$prefix/lib64
-else
-  libdir=$prefix/lib
-fi
-
 AC_OUTPUT(Makefile 
   ganglia-config
   tests/Makefile 
-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] [RFT]: build: linux 64bit biarch support

2008-07-02 Thread Jarod Wilson
On Wednesday 02 July 2008 07:36:41 am Carlo Marcelo Arenas Belon wrote:
 The following proposed patch for stable 3.1, replaces the configure routine
 that tried to guess the libdir directory by assuming biarch rules from
 fedora linux (breaking all amd64 BSD and x64 Solaris) and overriding the
 libdir parameter passed at configure time (breaking fedora linux ppc64).

 Contains changes from r1452, r1467, r1468, r1475 and r1487

At a glance, yeah, this looks like it should indeed finally Do The Right 
Thing(tm) on all Linux architectures for both 32-bit and 64-bit.

-- 
Jarod Wilson
[EMAIL PROTECTED]

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] [RFT]: build: linux 64bit biarch support

2008-07-02 Thread Marcus Rueckert
On 2008-07-02 06:36:41 -0500, Carlo Marcelo Arenas Belon wrote:
 The following proposed patch for stable 3.1, replaces the configure routine
 that tried to guess the libdir directory by assuming biarch rules from
 fedora linux (breaking all amd64 BSD and x64 Solaris) and overriding the
 libdir parameter passed at configure time (breaking fedora linux ppc64).
 
 Contains changes from r1452, r1467, r1468, r1475 and r1487
 
 Carlo
 ---

 Index: configure.in
 ===
 --- configure.in  (revision 1496)
 +++ configure.in  (working copy)
 @@ -111,7 +111,6 @@
  dnl The following cpu_vendor_os string goes into config.h.
  dnl
  AC_DEFINE_UNQUOTED(HOST_OS, $host_os, HOST_OS)
 -AC_DEFINE_UNQUOTED(ARCH, $host_cpu, ARCH)
  AC_DEFINE_UNQUOTED(CPU_VENDOR_OS, $host, CPU_VENDOR_OS)
  dnl AC_CYGWIN
  
 @@ -494,14 +493,40 @@
  EXPORT_SYMBOLS=-export-dynamic
  case $host in
  *linux*)
 -CFLAGS=$CFLAGS -D_REENTRANT
 -AC_DEFINE(LINUX, 1, LINUX)
 + CFLAGS=$CFLAGS -D_REENTRANT
 + AC_DEFINE(LINUX, 1, LINUX)
  dnl
  dnl For fsusage.c - disk usage.
  dnl
 -AC_DEFINE(STAT_STATVFS, 1, STAT_STATVFS)
 -AC_DEFINE(SUPPORT_GEXEC, 1, SUPPORT_GEXEC)
 -;;
 + AC_DEFINE(STAT_STATVFS, 1, STAT_STATVFS)
 + AC_DEFINE(SUPPORT_GEXEC, 1, SUPPORT_GEXEC)
 + if test x$build_cpu != xia64  \
 + test x$build_cpu != xalpha; then
 + if test x$libdir = x\${exec_prefix}/lib; then
 + if test x$exec_prefix = xNONE; then
 + if test x$prefix = xNONE; then
 + libroot=/usr
 + else
 + libroot=$prefix
 + fi
 + else
 + libroot=$exec_prefix
 + fi
 +
 + AC_TRY_COMPILE([], [],
 + [file conftest.$ac_objext  conftest.file])
 + FILE=`cat conftest.file`
 + WIDTH_CPU=`expr x$FILE : '.*ELF \(.*\)-bit '`
 + rm -f conftest.file
 + if test x$WIDTH_CPU = x64; then
 + libdir=$libroot/lib64
 + else
 + libdir=$libroot/lib
 + fi
 + moduledir=$libdir/ganglia
 + fi
 + fi
 + ;;
  *ia64-*hpux*)CFLAGS=$CFLAGS -D_PSTAT64 -D_HPUX_SOURCE 
   LIBS=-lpthread $LIBS
   EXPORT_SYMBOLS=-Wl,-E
 @@ -572,16 +597,7 @@
  
  dnl Python module config files need to know where to look for libraries 
 (/usr/lib vs /usr/lib64)
  AC_SUBST_FILE(libdir)
 -if test x$prefix = xNONE; then
 -  prefix=$ac_default_prefix
 -fi
  
 -if test x$host_cpu = xx86_64; then
 -  libdir=$prefix/lib64
 -else
 -  libdir=$prefix/lib
 -fi
 -
  AC_OUTPUT(Makefile 
ganglia-config
tests/Makefile 

i would never ever default libdir to $prefix/lib64. there are linux
distros which default to single arch on x86_64. imho the default should
always be plain $prefix/lib and if the packager/user is on a biarch
system he has to specify --libdir.

darix

-- 
  openSUSE - SUSE Linux is my linux
  openSUSE is good for you
  www.opensuse.org

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] [RFT]: build: linux 64bit biarch support

2008-07-02 Thread Jarod Wilson
On Wednesday 02 July 2008 09:37:55 am Marcus Rueckert wrote:
 On 2008-07-02 06:36:41 -0500, Carlo Marcelo Arenas Belon wrote:
  The following proposed patch for stable 3.1, replaces the configure
  routine that tried to guess the libdir directory by assuming biarch rules
  from fedora linux (breaking all amd64 BSD and x64 Solaris) and overriding
  the libdir parameter passed at configure time (breaking fedora linux
  ppc64).
 
  Contains changes from r1452, r1467, r1468, r1475 and r1487
[...]
 i would never ever default libdir to $prefix/lib64. there are linux
 distros which default to single arch on x86_64. imho the default should
 always be plain $prefix/lib and if the packager/user is on a biarch
 system he has to specify --libdir.

It seems most single-arch x86_64 distros have a compatibility symlink from lib 
to lib64, so it should work fine there too. Granted, yes, this could screw up 
a few people using single-arch x86_64 distros w/o a lib64 dir, but the 
failure mode should be obvious, and this probably helps more people than it 
hurts, since plenty of people building from source on bi-arch x86_64 neglect 
to pass in --libdir=/usr/lib64 and can wind up with less-than-obvious failure 
modes. I don't particularly care one way or the other myself, so long as I 
can pass in the correct libdir via configure, which is always done for rpm 
builds, of course.


-- 
Jarod Wilson
[EMAIL PROTECTED]

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] [RFT]: build: linux 64bit biarch support

2008-07-02 Thread Carlo Marcelo Arenas Belon
On Wed, Jul 02, 2008 at 03:37:55PM +0200, Marcus Rueckert wrote:
 On 2008-07-02 06:36:41 -0500, Carlo Marcelo Arenas Belon wrote:
  The following proposed patch for stable 3.1, replaces the configure routine
  that tried to guess the libdir directory by assuming biarch rules from
  fedora linux (breaking all amd64 BSD and x64 Solaris) and overriding the
  libdir parameter passed at configure time (breaking fedora linux ppc64).
  
  Contains changes from r1452, r1467, r1468, r1475 and r1487
  
  Carlo
  ---
 
  Index: configure.in
  ===
  --- configure.in(revision 1496)
  +++ configure.in(working copy)
  @@ -111,7 +111,6 @@
   dnl The following cpu_vendor_os string goes into config.h.
   dnl
   AC_DEFINE_UNQUOTED(HOST_OS, $host_os, HOST_OS)
  -AC_DEFINE_UNQUOTED(ARCH, $host_cpu, ARCH)
   AC_DEFINE_UNQUOTED(CPU_VENDOR_OS, $host, CPU_VENDOR_OS)
   dnl AC_CYGWIN
   
  @@ -494,14 +493,40 @@
   EXPORT_SYMBOLS=-export-dynamic
   case $host in
   *linux*)
  -CFLAGS=$CFLAGS -D_REENTRANT
  -AC_DEFINE(LINUX, 1, LINUX)
  +   CFLAGS=$CFLAGS -D_REENTRANT
  +   AC_DEFINE(LINUX, 1, LINUX)
   dnl
   dnl For fsusage.c - disk usage.
   dnl
  -AC_DEFINE(STAT_STATVFS, 1, STAT_STATVFS)
  -AC_DEFINE(SUPPORT_GEXEC, 1, SUPPORT_GEXEC)
  -;;
  +   AC_DEFINE(STAT_STATVFS, 1, STAT_STATVFS)
  +   AC_DEFINE(SUPPORT_GEXEC, 1, SUPPORT_GEXEC)
  +   if test x$build_cpu != xia64  \
  +   test x$build_cpu != xalpha; then
  +   if test x$libdir = x\${exec_prefix}/lib; then
  +   if test x$exec_prefix = xNONE; then
  +   if test x$prefix = xNONE; then
  +   libroot=/usr
  +   else
  +   libroot=$prefix
  +   fi
  +   else
  +   libroot=$exec_prefix
  +   fi
  +
  +   AC_TRY_COMPILE([], [],
  +   [file conftest.$ac_objext  conftest.file])
  +   FILE=`cat conftest.file`
  +   WIDTH_CPU=`expr x$FILE : '.*ELF \(.*\)-bit '`
  +   rm -f conftest.file
  +   if test x$WIDTH_CPU = x64; then
  +   libdir=$libroot/lib64
  +   else
  +   libdir=$libroot/lib
  +   fi
  +   moduledir=$libdir/ganglia
  +   fi
  +   fi
  +   ;;
   *ia64-*hpux*)  CFLAGS=$CFLAGS -D_PSTAT64 -D_HPUX_SOURCE 
  LIBS=-lpthread $LIBS
  EXPORT_SYMBOLS=-Wl,-E
  @@ -572,16 +597,7 @@
   
   dnl Python module config files need to know where to look for libraries 
  (/usr/lib vs /usr/lib64)
   AC_SUBST_FILE(libdir)
  -if test x$prefix = xNONE; then
  -  prefix=$ac_default_prefix
  -fi
   
  -if test x$host_cpu = xx86_64; then
  -  libdir=$prefix/lib64
  -else
  -  libdir=$prefix/lib
  -fi
  -
   AC_OUTPUT(Makefile 
 ganglia-config
 tests/Makefile 
 
 i would never ever default libdir to $prefix/lib64.

agree, and as I said several times, I'd rather drop this and revert the
original patch that put that rule in there and rely in the packager/user
to specify --libdir if on a biarch system because getting it right is hard
and prone to failure :

  
http://www.mail-archive.com/ganglia-developers@lists.sourceforge.net/msg04275.html

but the part you are missing, is that this patch at least makes that problem
smaller and allows packages/user to fix it using --libdir if we got it wrong
and therefore it is most likely to help more people than it hurts, and will
stop hurting all people affected in 3.1 by the current implementation.

getting it wrong at least with what will be the first release of 3.1, will
prevent some users to have a working package or will get them a gmond with
no metrics to report and so (I presume, as I wasn't the one that committed
the original patch) that since the failure mode will be bad it was better
to try to guess a working libdir to prevent the user to shoot himself on the
foot.

There are some patches already being worked on for the next release of 3.1
which will hopefully make the failure mode be not that bad and then if this
heuristic has been found to be more problematic than helpful will be easier
to drop.

 there are linux
 distros which default to single arch on x86_64.

do you have any examples?, I checked debian/ubuntu and they both will still
work thanks to a link that maps lib64 into lib.  I also checked gentoo and it
will still work because lib64 (like in fedora) is the directory used for 64bit
libraries.