While running a configure script to eventually compile an application during testing on CentOS Linux I received an error stating that libexpat and/or libbsdxml could not be found. On CentOS you will only need to install libexpat-devel as shown in the below example following the output of the configure error and how we located what package installed libexpat via yum.
Configure Error On CentOS Linux:
- configure: error: *** neither libexpat not libbsdxml could be found ***
Once the above error was displayed following a failed configure attempt I used “yum whatprovides” to see what package in the installed yum repositories installed libexpat as shown in the below example output.
Locate RPM Packages That Installed libexpat:
- [root@dev ~]# yum whatprovides *libexpat*
- Loaded plugins: fastestmirror, refresh-packagekit
- Loading mirror speeds from cached hostfile
- * base: centos.netnitco.net
- * epel: mirror.steadfast.net
- * extras: mirror.steadfast.net
- * rpmforge: ftp-stud.fht-esslingen.de
- * updates: mirror.rackspace.com
- harbour-contrib-3.0.0-11.el6.x86_64 : Contributed tools for Harbour
- Repo : atrpms
- Matched from:
- Filename : /usr/lib64/harbour/libexpat.a
- compat-expat1-1.95.8-8.el6.x86_64 : A library for parsing XML documents
- Repo : base
- Matched from:
- Filename : /usr/lib64/libexpat.so.0
- Filename : /usr/lib64/libexpat.so.0.5.0
- Other : libexpat.so.0()(64bit)
- expat-devel-2.0.1-9.1.el6.x86_64 : Libraries and header files to develop applications using expat
- Repo : base
- Matched from:
- Filename : /usr/lib64/libexpat.so
- Filename : /usr/lib64/libexpat.a
- expat-2.0.1-9.1.el6.x86_64 : An XML parser library
- Repo : base
- Matched from:
- Filename : /lib64/libexpat.so.1
- Filename : /lib64/libexpat.so.1.5.2
- Other : libexpat.so.1()(64bit)
- expat-2.0.1-9.1.el6.x86_64 : An XML parser library
- Repo : installed
- Matched from:
- Filename : /lib64/libexpat.so.1
- Filename : /lib64/libexpat.so.1.5.2
- Other : libexpat.so.1()(64bit)
- [root@dev ~]#
In my case expat was already installed but I needed to install expat-devel since the libraries needed to compile are included in that RPM package. Below is example output from installing expat-devel using YUM on CentOS Linux.
Install expat-devel On CentOS Linux:
- [root@dev ~]# yum install expat-devel
- Loaded plugins: fastestmirror, refresh-packagekit
- Loading mirror speeds from cached hostfile
- * base: centos.netnitco.net
- * epel: mirror.steadfast.net
- * extras: mirror.steadfast.net
- * rpmforge: ftp-stud.fht-esslingen.de
- * updates: mirror.symnds.com
- Setting up Install Process
- Resolving Dependencies
- --> Running transaction check
- ---> Package expat-devel.x86_64 0:2.0.1-9.1.el6 set to be updated
- --> Finished Dependency Resolution
- Dependencies Resolved
- =====================================================================================================================================================
- Package Arch Version Repository Size
- =====================================================================================================================================================
- Installing:
- expat-devel x86_64 2.0.1-9.1.el6 base 119 k
- Transaction Summary
- =====================================================================================================================================================
- Install 1 Package(s)
- Upgrade 0 Package(s)
- Total download size: 119 k
- Installed size: 475 k
- Is this ok [y/N]: y
- Downloading Packages:
- expat-devel-2.0.1-9.1.el6.x86_64.rpm | 119 kB 00:00
- Running rpm_check_debug
- Running Transaction Test
- Transaction Test Succeeded
- Running Transaction
- Installing : expat-devel-2.0.1-9.1.el6.x86_64 1/1
- Installed:
- expat-devel.x86_64 0:2.0.1-9.1.el6
- Complete!
- [root@dev ~]#
While I did run into other issues when running the cofnigure script I no longer received the error specified at the beginning of the article after installing expat-devel.