Skip to contentSkip to conversation

package/xmlstarlet: fix host build

PATCH New Romain Naour 3 participants 3 messages Sep 2, 2017 – Oct 16, 2017

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 package/xmlstarlet: fix host build

Provide the path to HOST_DIR for libxml, libxslt and libiconv like for the target variant to avoid a build issue on host where /bin is a symlink to /usr/bin.

Indeed, the configure script use a custom m4 macro XSTAR_LIB_CHECK to find xml2-config:

XSTAR_LIB_CHECK([LIBXML], [xml2-config])

This macro come from a local m4 file m4/xstar-check-libs.m4 where it use:

AC_PATH_PROG(LIBXXX()_CONFIG, xxx_config(),

               [], [$LIBXXX()_PREFIX/bin$PATH_SEPARATOR$PATH]

Since no prefix seems to be defined by $LIBXXX()_PREFIX, AC_PATH_PROG look by itself at /bin/ for xml2-config. So the PATH variable set by Buildroot containing HOST_DIR/bin is ignored.

The wrong xml2-config is used during the build and the build fail when no xml2 headers are installed on the host.

Fixes:
src/xml_C14N.c:12:31: erreur fatale?: libxml/xmlversion.h : No such file or directory

 #include <libxml/xmlversion.h>
                               ^

In file included from src/trans.c:4:0:
src/trans.h:32:30: erreur fatale?: libxml/xmlmemory.h : No such file or directory
#include <libxml/xmlmemory.h>

---
v2: improve the commit message (ThomasP)

---
 package/xmlstarlet/xmlstarlet.mk | 5 +++++
 1 file changed, 5 insertions(+)
package/xmlstarlet/xmlstarlet.mk +5 -0
index 9920dcf..673eedb 100644
@@ -26,5 +26,10 @@ endif
 
 HOST_XMLSTARLET_DEPENDENCIES += host-libxml2 host-libxslt
 
+HOST_XMLSTARLET_CONF_OPTS += \
+	--with-libxml-prefix=$(HOST_DIR)/usr \
+	--with-libxslt-prefix=$(HOST_DIR)/usr \
+	--with-libiconv-prefix=$(HOST_DIR)/usr
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
Signature · 1 line
2.9.5
#1 lore raw

PATCH v2 1/1 package/xmlstarlet: fix host build

Hello,

Quoted 7 lines · Romain Naour

Fixes:
src/xml_C14N.c:12:31: erreur fatale?: libxml/xmlversion.h : No such file or directory

 #include <libxml/xmlversion.h>
                               ^

In file included from src/trans.c:4:0:
src/trans.h:32:30: erreur fatale?: libxml/xmlmemory.h : No such file or directory
#include <libxml/xmlmemory.h>

Still some french messages here, so I've fixed that.

package/xmlstarlet/xmlstarlet.mk endif · line 32

Quoted 4 lines
package/xmlstarlet/xmlstarlet.mk +4 -0
+HOST_XMLSTARLET_CONF_OPTS += \
+	--with-libxml-prefix=$(HOST_DIR)/usr \
+	--with-libxslt-prefix=$(HOST_DIR)/usr \
+	--with-libiconv-prefix=$(HOST_DIR)/usr

The last option is not needed, we don't have libiconv on the host.

Committed with those issues fixed. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#2 lore raw

PATCH v2 1/1 package/xmlstarlet: fix host build

In reply to Romain Naour
Quoted 28 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Romain" == Romain Naour <[email protected]> writes:

Provide the path to HOST_DIR for libxml, libxslt and libiconv like for the target variant to avoid a build issue on host where /bin is a symlink to /usr/bin.

Indeed, the configure script use a custom m4 macro XSTAR_LIB_CHECK to find xml2-config:

XSTAR_LIB_CHECK([LIBXML], [xml2-config])

This macro come from a local m4 file m4/xstar-check-libs.m4 where it use:

AC_PATH_PROG(LIBXXX()_CONFIG, xxx_config(),

               [], [$LIBXXX()_PREFIX/bin$PATH_SEPARATOR$PATH]

Since no prefix seems to be defined by $LIBXXX()_PREFIX, AC_PATH_PROG look by itself at /bin/ for xml2-config. So the PATH variable set by Buildroot containing HOST_DIR/bin is ignored.

The wrong xml2-config is used during the build and the build fail when no xml2 headers are installed on the host.

Fixes:
src/xml_C14N.c:12:31: erreur fatale?: libxml/xmlversion.h : No such file or directory

 #include <libxml/xmlversion.h>
                               ^
Quoted 8 lines

In file included from src/trans.c:4:0:
src/trans.h:32:30: erreur fatale?: libxml/xmlmemory.h : No such file or directory
#include <libxml/xmlmemory.h>

---
v2: improve the commit message (ThomasP)

Committed to 2017.08.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard