Wednesday, September 29, 2010
Build errors referring to glib and related includes
Q: Building element_3.2.1 with openhpi, and hitting this compile error:
In file included from
/home/jmir/Element/Releases/3.2.1/element_3.2.1/ref_platforms/generic_cluster/../../3party/openHPI/install/
linux-x86_64/include/openhpi/oh_utils.h:22,
from epi_cif.c:61:/home/jmir/Element/Releases/3.2.1/element_3.2.1/ref_platforms/generic_cluster/../../3party/openHPI/install/
linux-x86_64/include/openhpi/announcement_utils.h:25:18: error: glib.h: No such file or directory
make[3]: *** [obj/linux-x86_64/epi_cif.o] Error 1make[3]: Leaving directory `/home/jmir/Element/Releases/3.2.1/element_3.2.1/src/chassis_mgmt/epi'
I'm just building a generic_cluster reference, which shouldn't even require openhpi. And didn't see this problem in 3.2.0 either. What has changed?
A: If you have chassis managment installed, the build will attempt to build everything even for generic_cluster (unless you specifically disable this in the /build settings). More relevant, sometime between 3.2.0 and 3.2.1 the integrated version of openhpi (in this case from PPS) shifted its dependencies on glib. Even if you have glib installed, you will now need to add this to your C_INCLUDE_PATH environment variable. Verify that glib.h actually exists first, typically in /usr/include/glib-2.0 ; then add that specific directory to the C_INCLUDE_PATH environment, and rebuild.
Q: Did that, and the build gets further, but now bombs at another place in the same package:
+++ Compiling epi_cif.c
In file included from /usr/include/glib-2.0/glib/galloca.h:30,
from /usr/include/glib-2.0/glib.h:30,
from
/home/jmir/Element/Releases/3.2.1/element_3.2.1/ref_platforms/generic_cluster/../../3party/openHPI/install/
linux-x86_64/include/openhpi/announcement_utils.h:25,
from
/home/jmir/Element/Releases/3.2.1/element_3.2.1/ref_platforms/generic_cluster/../../3party/openHPI/install/
linux-x86_64/include/openhpi/oh_utils.h:22,
from epi_cif.c:61:/usr/include/glib-2.0/glib/gtypes.h:30:24: error: glibconfig.h: No such file or directory
/usr/include/glib-2.0/glib/gtypes.h:392:2:
error: #error unknown ENDIAN type
make[3]: *** [obj/linux-x86_64/epi_cif.o] Error 1
make[3]: Leaving directory `/home/jmir/Element/Releases/3.2.1/element_3.2.1/src/chassis_mgmt/epi'
A: Not done yet. Verify that /usr/lib64/glib-2.0/include/glibconfig.h exists. Then add this to C_INCLUDE_PATH as well, and repeat. These paths may be different on your distro (in this case its FC9).
In file included from
/home/jmir/Element/Releases/3.2.1/element_3.2.1/ref_platforms/generic_cluster/../../3party/openHPI/install/
linux-x86_64/include/openhpi/oh_utils.h:22,
from epi_cif.c:61:/home/jmir/Element/Releases/3.2.1/element_3.2.1/ref_platforms/generic_cluster/../../3party/openHPI/install/
linux-x86_64/include/openhpi/announcement_utils.h:25:18: error: glib.h: No such file or directory
make[3]: *** [obj/linux-x86_64/epi_cif.o] Error 1make[3]: Leaving directory `/home/jmir/Element/Releases/3.2.1/element_3.2.1/src/chassis_mgmt/epi'
I'm just building a generic_cluster reference, which shouldn't even require openhpi. And didn't see this problem in 3.2.0 either. What has changed?
A: If you have chassis managment installed, the build will attempt to build everything even for generic_cluster (unless you specifically disable this in the /build settings). More relevant, sometime between 3.2.0 and 3.2.1 the integrated version of openhpi (in this case from PPS) shifted its dependencies on glib. Even if you have glib installed, you will now need to add this to your C_INCLUDE_PATH environment variable. Verify that glib.h actually exists first, typically in /usr/include/glib-2.0 ; then add that specific directory to the C_INCLUDE_PATH environment, and rebuild.
Q: Did that, and the build gets further, but now bombs at another place in the same package:
+++ Compiling epi_cif.c
In file included from /usr/include/glib-2.0/glib/galloca.h:30,
from /usr/include/glib-2.0/glib.h:30,
from
/home/jmir/Element/Releases/3.2.1/element_3.2.1/ref_platforms/generic_cluster/../../3party/openHPI/install/
linux-x86_64/include/openhpi/announcement_utils.h:25,
from
/home/jmir/Element/Releases/3.2.1/element_3.2.1/ref_platforms/generic_cluster/../../3party/openHPI/install/
linux-x86_64/include/openhpi/oh_utils.h:22,
from epi_cif.c:61:/usr/include/glib-2.0/glib/gtypes.h:30:24: error: glibconfig.h: No such file or directory
/usr/include/glib-2.0/glib/gtypes.h:392:2:
error: #error unknown ENDIAN type
make[3]: *** [obj/linux-x86_64/epi_cif.o] Error 1
make[3]: Leaving directory `/home/jmir/Element/Releases/3.2.1/element_3.2.1/src/chassis_mgmt/epi'
A: Not done yet. Verify that /usr/lib64/glib-2.0/include/glibconfig.h exists. Then add this to C_INCLUDE_PATH as well, and repeat. These paths may be different on your distro (in this case its FC9).
Monday, September 13, 2010
Fedora build error - missing libltdl-devel
Q: Compiling Element 3.2.1 for an ATCA chassis on an FC9 system and got this build error:
checking for lt_dlopen in -lltdl... noconfigure: error: !************************************************************
- libltdl not found!
- this is required for plugin loading
- Try installing the libltdl-devel package
************************************************************
make[3]: *** [all] Error 1make[3]: Leaving directory /home/jmir/Element/Releases/3.2.1/element_3.2.1/3party/openHPI
A: The real package is called libtool-ltdl-devel. (Must have changed names somewhere along the way.) "yum install" on this package and all will be well.
checking for lt_dlopen in -lltdl... noconfigure: error: !************************************************************
- libltdl not found!
- this is required for plugin loading
- Try installing the libltdl-devel package
************************************************************
make[3]: *** [all] Error 1make[3]: Leaving directory /home/jmir/Element/Releases/3.2.1/element_3.2.1/3party/openHPI
I can build 3.2.0 and earlier without any problems. I also looked for the libltdl-devel package on yum but can't find it or anything similar.
A: The real package is called libtool-ltdl-devel. (Must have changed names somewhere along the way.) "yum install" on this package and all will be well.
free invisible web counter