Monday, September 10, 2012
confd build error: "cannot find -lconfd"
Q: I've set up the linked directory required for building a ref_platform that uses confd, and upgraded to a newer version of confd, but the build is failing :
*** Linking elemConfdProxy
/usr/bin/ld: cannot find -lconfd
collect2: ld returned 1 exit status
make[3]: *** [/home/jmir/SystemManager/from_ipw/element_3.2.2/ref_platforms/generic_confd_3.5.0/bin/linux-x86_64/elemConfdProxy]
Error 1
- the directory element_3.2.2/confd/confd-36/x86_64 exists
- it contains the softlink to my $CONFD_ROOT
- $CONFD_VERSION in my environment is set to the new version i.e. "36"
- metadata/staging_confd.xml is updated with the new version
A: There is one more step, which isn't noted in the README.confd file. You must change the CONFD_VERSION reference in your local Makefile in ref_platforms/generic_confd_3.5.0 :
ELEMENT_OPTIONS ?= CONFD_VERSION=36
Wednesday, April 29, 2009
Getting confd.h compile error - but i'm not using confd (!)
Q: Why do I get this compile error when building generic_cluster in Element 2.3.3? It complains about confd, but i'm not even using confd.
A: You - or someone else - probably did compile for a ref_platform that used confd earlier, on the same system. Dump your environment with "env" and see whether CONFD_VERSION is defined. If so, undefine it with "unset CONFD_VERSION" and the make should now proceed.
make[3]: Entering directory `/home/jmir/Element/Releases/2.3.3/element_2.3.3/src/northbound/confd_proxy'
Makefile:42: 27
Makefile:43: -DCONFD_VERSION=27
+++ Compiling confd_proxy.c
confd_proxy.c:79:19: confd.h: No such file or directory
make[3]: *** [obj/linux-x86_64/confd_proxy.o] Error 1
make[3]: Leaving directory `/home/jmir/Element/Releases/2.3.3/element_2.3.3/src/northbound/confd_proxy'
make[2]: *** [libs] Error 1
make[2]: Leaving directory `/home/jmir/Element/Releases/2.3.3/element_2.3.3
make[1]: *** [elemlibs] Error 2
make[1]: Leaving directory `/home/jmir/Element/Releases/2.3.3/element_2.3.3/ref_platforms/generic_cluster'
make: *** [element-tree] Error 1
A: You - or someone else - probably did compile for a ref_platform that used confd earlier, on the same system. Dump your environment with "env" and see whether CONFD_VERSION is defined. If so, undefine it with "unset CONFD_VERSION" and the make should now proceed.
Friday, January 30, 2009
Compile error generic_confd reference : confd.h
Q: Trying to build the generic_confd_2.4.2 in Element 2.3.2, I have set up the CONFD_VERSION in the Makefile, and set up the link as directed in the ConfD Support manual:
+++ Compiling confd_proxy.c
confd_proxy.c:80:19: confd.h: No such file or directory
A: There is an additional directory you must add in your link between the element and confd build trees. (This is a minor document error with major implications.) You need a "confd" directory between the element and the linked directory.
The full path to your confd release from within element should look something like:
/home/jmir/Element/Releases/2.3.2/element_2.3.2/confd/confd-241
and the link therein should be similar to:
lrwxrwxrwx 1 jmir jmir 44 Jan 29 11:45 x86_64 -> /home/jmir/Tail-f/Releases/2.4.1/confd-2.4.1
+++ Compiling confd_proxy.c
confd_proxy.c:80:19: confd.h: No such file or directory
A: There is an additional directory you must add in your link between the element and confd build trees. (This is a minor document error with major implications.) You need a "confd" directory between the element and the linked directory.
The full path to your confd release from within element should look something like:
/home/jmir/Element/Releases/2.3.2/element_2.3.2/confd/confd-241
and the link therein should be similar to:
lrwxrwxrwx 1 jmir jmir 44 Jan 29 11:45 x86_64 -> /home/jmir/Tail-f/Releases/2.4.1/confd-2.4.1
Thursday, July 24, 2008
confd and Element support matrix
Q: I'm trying to figure out which version of confd goes with my Element release. This doesn't seem to be documented in the Element 2.3.x docs I have.
A: Correct that it's not documented. Here is the matrix for what is officially supported for confd.
Element 2.3.0 - confd 2.3.0
Element 2.3.1 - confd 2.3.0
Element 2.3.2 - confd 2.3.0, 2.3.1, 2.3.2,and 2.3.3 .
Element 3.0.0 - confd 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.4.0, 2.4.1, 2.4.2.
The 2.3.x and 2.4.x releases of ConfD are not API compatible, consequently Element starting in release 3.0.0 is built differently for each. There are two reference platforms for confd in the newer release, generic_confd_2.3.3 generic_confd_2.4.2 .
A: Correct that it's not documented. Here is the matrix for what is officially supported for confd.
Element 2.3.0 - confd 2.3.0
Element 2.3.1 - confd 2.3.0
Element 2.3.2 - confd 2.3.0, 2.3.1, 2.3.2,and 2.3.3 .
Element 3.0.0 - confd 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.4.0, 2.4.1, 2.4.2.
The 2.3.x and 2.4.x releases of ConfD are not API compatible, consequently Element starting in release 3.0.0 is built differently for each. There are two reference platforms for confd in the newer release, generic_confd_2.3.3 generic_confd_2.4.2 .
Labels: confd, Element, tail-f
Tuesday, July 08, 2008
"error: too arguments to function 'confd_init' "
Q: When I put confd-2.4.1 into action with this release, I get this build error in generic_confd:
make[3]: Entering directory `/home/jmir/Element/Releases/2.3.0/element_2.3.0/src/northbound/confd_proxy'
+++ Compiling confd_proxy.c
confd_proxy.c: In function `elemConfdInitConfdHa':
confd_proxy.c:1101: warning: implicit declaration of function `confd_ha_init'
confd_proxy.c: In function `confdProxy':
confd_proxy.c:3067: error: too few arguments to function `confd_init'
A: confd-2.4.x is not supported with this release of Element. Go back to confd-2.3.0.
Q: ...and... if I want to use confd-2.4.x instead?
A: You must upgrade to Element 2.3.2 or higher.
make[3]: Entering directory `/home/jmir/Element/Releases/2.3.0/element_2.3.0/src/northbound/confd_proxy'
+++ Compiling confd_proxy.c
confd_proxy.c: In function `elemConfdInitConfdHa':
confd_proxy.c:1101: warning: implicit declaration of function `confd_ha_init'
confd_proxy.c: In function `confdProxy':
confd_proxy.c:3067: error: too few arguments to function `confd_init'
A: confd-2.4.x is not supported with this release of Element. Go back to confd-2.3.0.
Q: ...and... if I want to use confd-2.4.x instead?
A: You must upgrade to Element 2.3.2 or higher.
Labels: confd, Element, tail-f
Wednesday, July 02, 2008
generic_confd make error: confd.h: No such file or directory
Q: I'm trying my first attempt at building the Element reference platform for confd. In ref_platforms/generic_confd, I get instead:
+++ Compiling confd_proxy.c
confd_proxy.c:81:19: confd.h: No such file or directory
make[3]: *** [obj/linux-x86/confd_proxy.o] Error 1
make[3]: Leaving directory `/home/jmir/Element/Releases/2.3.1/element_2.3.1/src/northbound/confd_proxy'
make[2]: *** [libs] Error 1
A: You must first install confd software on your system, then set up a softlink to the confd root within your Element tree. This is described in the ConfD Support Guide in the section Building Element with ConfD Support.
Q: Okay, I did all that, but I still get the same error...
A: Note that the "arch" designation for your softlink may confuse some who are used to seeing linux-x86 directories all over their build. While this is normal for Element object directories, the ones under confd (and the one required for this softlink) should be x86 instead. E.g. he command to set up the softlink within element_2.3.0 pointing to confd-2.4.1 looks like:
ln -s /home/jmir/tail-f/Releases/2.4.1/confd-2.4.1 /home/jmir/Element/Releases/2.3.0/element_2.3.0/confd/x86
+++ Compiling confd_proxy.c
confd_proxy.c:81:19: confd.h: No such file or directory
make[3]: *** [obj/linux-x86/confd_proxy.o] Error 1
make[3]: Leaving directory `/home/jmir/Element/Releases/2.3.1/element_2.3.1/src/northbound/confd_proxy'
make[2]: *** [libs] Error 1
A: You must first install confd software on your system, then set up a softlink to the confd root within your Element tree. This is described in the ConfD Support Guide in the section Building Element with ConfD Support.
Q: Okay, I did all that, but I still get the same error...
A: Note that the "arch" designation for your softlink may confuse some who are used to seeing linux-x86 directories all over their build. While this is normal for Element object directories, the ones under confd (and the one required for this softlink) should be x86 instead. E.g. he command to set up the softlink within element_2.3.0 pointing to confd-2.4.1 looks like:
ln -s /home/jmir/tail-f/Releases/2.4.1/confd-2.4.1 /home/jmir/Element/Releases/2.3.0/element_2.3.0/confd/x86
Labels: confd, Element, tail-f
free invisible web counter

