Bugzilla – Bug 197
Link stage fails for gmetad, gmond, and gmetric
Last modified: 2008-08-07 05:40:27
You need to log in before you can comment on or make changes to this bug.
The link stage for gmetad, gmond, and gmetric all fail on openbsd due to missing libraries in the link command. Specifically, during the final link step: gmetric and gmetad needs "-lintl -liconv" gmond needs "-lm -lintl -liconv -lutil" Once these are added, the binaries all compile.
this seems like the known build errors that had been worked around in OpenBSD because of a broken libconfuse package, but combined with a broken gcc as well (at least for -lm). could you provide at least the version of OpenBSD that this is reported for and explain why if there is such an easy workaround, which is documented in the configure script, this (if valid) is a major severity bug?
Openbsd 4.1 I list it as "major" since the problem prevents compiling Ganglia on this version of OpenBSD. Here is the full configure invocation I'm using: ./configure \ CC='ccache gcc' CXX='ccache g++' \ CFLAGS='-O2 -I/usr/local/include -I/usr/X11R6/include -I/usr/local/include/python2.5 -g' \ LDFLAGS='-L/usr/local/lib -L/usr/X11R6/lib -L/usr/local/lib/python2.5 ' \ --with-gmetad \ --with-libconfuse=/usr/local \ --with-libexpat=/usr/local \ --with-librrd=/usr/local The version of libconfuse in question is 2.5p0. GCC is version 3.3.5. I believe thatboth of these are the stock versions shipped in /usr/ports. This is mentioned, briefly, under the "Solaris" section in the ganglia.{html,pod} files. It is not mentioned in "INSTALL", nor anywhere with regards to any of the BSD (although there is a mention that is not necessarily Solaris-specific). Nor is a workaround mentioned. IMO, there should either: 1) detect that there is a problem, and compensate accordingly using the fix I provided. 2) failing that, include a notice somewhere that OpenBSD 4.1 (and any other OS with this problem) needs "help" to compile, and include instructions for a workaround (as I've included above).
suggestion "1" was implemented in May 4th (using a prototype time machine) and had confirmed it working (again) by having it building 3.1.0 (no python or gmetad) and using the OpenBSD provided packages for all other dependencies by running : ./configure --with-libconfuse=/usr/local --with-libexpat=/usr/local --with-libapr=/usr/local/bin/apr-1-config suggestion "2" has been added to the release notes just in case it wasn't clear enough already by the other documentation.
# uname -a OpenBSD qemu.sajinet.com.pe 4.1 GENERIC#1435 i386 # pkg_info apr-1.2.7 Apache Portable Runtime expat-2.0.0 XML 1.0 parser written in C gd-2.0.34p1 library for dynamic creation of images gettext-0.14.6 GNU gettext jpeg-6bp3 IJG's JPEG compression utilities libconfuse-2.5p0 configuration file parser library libiconv-1.9.2p3 character set conversion library png-1.2.14p1 library for manipulating PNG images python-2.5p3 interpreted object-oriented programming language rrdtool-1.0.49p3 system to store and display time-series data # ./configure --with-libconfuse=/usr/local --with-libexpat=/usr/local --with-libapr=/usr/local/bin/apr-1-config --with-python=/usr/local/bin/python2.5 --with-librrd=/usr/local --with-gmetad # make install # /usr/sbin/gmond -V gmond 3.1.0
and just for completeness : # /usr/sbin/gmetad -V gmetad 3.1.0 # /usr/bin/gmetric -V gmetric 3.1.0 # /usr/bin/gstat -V gstat 3.1.0