[Buildroot] [PATCH 2/4] package/libsvg: new package

Peter Korsgaard jacmet at uclibc.org
Sat Jun 29 15:09:37 UTC 2013


>>>>> "Carsten" == Carsten Schoenert <c.schoenert at gmail.com> writes:

 Carsten> Hello Peter,
 Carsten> Am 28.06.2013 21:14, schrieb Peter Korsgaard:
 Carsten> +	  http://www.t2-project.org/packages/libsvg.html
 >> 
 >> Are you sure that's the upstream URL? Isn't t2 yet another embedded
 >> build system?

 Carsten> Yes, true. After a longer try to find a "official" project webpage I
 Carsten> couldn't find no one that fits into.
 Carsten> The source is placed under cairographics.org (but even without any
 Carsten> dedicated info for the package libsvg (and also for libsvg-cairo). So
 Carsten> just point to the main site of cairographics.org?

Yes, just use http://cairographics.org

 >> It looks good, but it doesn't work:
 >> 
 >> checking for ANSI C header files... (cached) yes
 >> checking whether libexpat is requested... no
 >> ./configure: line 20639: /home/peko/source/buildroot/output/host/usr/bin/pkg-config: No such file or directory
 >> *** Your version of pkg-config is too old. You need version 0.9.0 or newer.
 >> *** See http://www.freedesktop.org/software/pkgconfig
 >> configure: error: Library requirements (libxml-2.0 >= 2.4.7 ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
 >> 
 >> So you atleast need host-pkgconf as a dependency. It looks like it can
 >> work with expat instead, so you could drop the hard dependency on
 >> libxml2, but that is not really critical.

 Carsten> That's correct, it should working with expat too (as a deeper
 Carsten> look into configure.in is showing). I changed the the
 Carsten> libsvg.mk to cover this

 >> ifeq ($(BR2_PACKAGE_EXPAT),y)
 >> LIBSVG_CONF_OPT += --with-expat
 >> else
 >> LIBSVG_DEPENDENCIES += libxml2
 >> endif

You should also add expat to LIBSVG_DEPENDENCIES for the expat case, and
select the libxml2 package in Config.in if need (so Kconfig is in sync
with the makefile) - something like:

     select BR2_PACKAGE_LIBXML2 if !BR2_PACKAGE_EXPAT


 Carsten> but it doesn't work with my external (crosstool-NG) toolchain which I
 Carsten> create at my self, the expat.h is missing.

 >> checking whether libexpat is requested... yes
 >> configure: creating ./config.status
 >> config.status: creating libsvg.spec
 >> config.status: creating libsvg.pc
 >> config.status: creating src/svg_version.h
 >> config.status: creating Makefile
 >> config.status: creating src/Makefile
 >> config.status: creating config.h
 >> config.status: executing depfiles commands
 >>>>> libsvg 0.1.4 Building
 Carsten> ...
 >> In file included from svg.c:31:0:
 >> svgint.h:28:19: fatal error: expat.h: No such file or directory

Probably because you forgot to add expat to the dependencies, so it
isn't built yet by the time libsvg configure runs.

 Carsten> The BR2_PACKAGE_EXPAT is set by BR2_INSTALL_LIBSTDCPP which is set by
 Carsten> BR2_TOOLCHAIN_EXTERNAL_CXX. But crosstool-NG didn't provide the expat
 Carsten> related files.

Ehh, I don't quite follow. BR2_PACKAGE_EXPAT is about libexpat for the
TARGET. It doesn't have anything to do with the cross compiler needing
expat for the host.

-- 
Bye, Peter Korsgaard


More information about the buildroot mailing list