[collectd] Compilation errors
Sebastian Harl
sh at tokkee.org
Fri Oct 26 12:13:01 CEST 2007
Hi Aleksandr,
On Fri, Oct 26, 2007 at 12:16:13PM +0300, a.shubnik at btis.by wrote:
> I have some trouble with compilation process.
> When i try to use option '--enable-iptables' 'with configure' script
> it finished OK, but when i then start 'make' i get follow errors:
You should not explicitly enable any plugins unless you have a very specific
reason for it. The configure script should only disable plugins which cannot
be build because of missing dependencies, so, usually, you will have to check
for those if a plugin does not get build automatically.
> if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
> -I. -Wall -Werror -g -O2 -MT iptables.lo -MD -MP -MF
> ".deps/iptables.Tpo" -c -o iptables.lo iptables.c; \
> then mv -f ".deps/iptables.Tpo" ".deps/iptables.Plo"; else rm -f
> ".deps/iptables.Tpo"; exit 1; fi
> gcc -DHAVE_CONFIG_H -I. -I. -I. -Wall -Werror -g -O2 -MT iptables.lo -MD
> -MP -MF .deps/iptables.Tpo -c iptables.c -fPIC -DPIC -o .libs/iptables.o
> cc1: warnings being treated as errors
> iptables.c:198: warning: 'struct ipt_entry' declared inside parameter list
... in this case, you're missing the iptables headers (libiptc).
Florian, I think, we should remove all the HAVE_FOO_H checks from plugins that
require specific headers. This should provide more reasonable error messages
to the users when a build fails.
> And second problem. On x86_64 system i can't compile 'collectd-4.1.3'
> without use
> any specific options (all by default). 'configure' script finished without
> errors but
> 'make' command finished with errors:
>
> ...
> gcc -shared .libs/netlink_la-netlink.o -lnetlink -Wl,-soname
> -Wl,netlink.so -o .libs/netlink.so
> /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld:
> /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/libnetlink.a(libnetlink.o):
> relocation R_X86_64_32 against `a local symbol' can not be used when
> making a shared object; recompile with -fPIC
This is a common error on a lot of (mostly 64bit) architectures. You need a
version of the library (libnetlink in this case) which has been compiled with
-fPIC. See Debian bugs #358637 ([1]), #419684 ([2]) and #430933 ([3]) for more
details about this issue.
You'll have to nag your distributor to provide a suitable version of the
library (netlink and nut probably come up with the same issue) or compile it
yourself.
Florian, I think this should be added to the FAQ as it appears quite
frequently. I will write an answer for it later and ping you on IRC.
HTH,
Sebastian
[1] http://bugs.debian.org/358637
[2] http://bugs.debian.org/419684
[3] http://bugs.debian.org/430933
--
Sebastian "tokkee" Harl +++ GnuPG-ID: 0x8501C7FC +++ http://tokkee.org/
Those who would give up Essential Liberty to purchase a little Temporary
Safety, deserve neither Liberty nor Safety. -- Benjamin Franklin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mailman.verplant.org/pipermail/collectd/attachments/20071026/07aa370c/attachment.pgp
More information about the collectd
mailing list