Bug#692055: libkml: FTBFS with ld --as-needed

2013-10-08 Thread Sebastiaan Couwenberg
Control: fixed -1 1.3.0~r864-1
Control: tags -1 pending

Hi Ilya,

Thanks for the patches! I've included them in the new libkml package.
The package has been uploaded to mentors, and is awaiting sponsorship
(#725831).

Kind Regards,

Bas

___
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel


Bug#692055: libkml: FTBFS with ld --as-needed

2012-11-01 Thread Ilya Barygin
Package: libkml
Version: 1.3.0~r863-4.1
Severity: normal
Tags: upstream patch
User: debian-...@lists.debian.org
Usertags: ld-as-needed

libkml fails to build when --as-needed linker option is enabled,
because of incorrect order of parameters passed to ld.


/bin/bash ../../libtool --tag=CXX   --mode=link g++ -Wall -ansi -pedantic 
-fno-rtti -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -Wall  -Wl,-Bsymbolic-functions -Wl,-z,relro -o 
csvregionator csvregionator.o ../../src/kml/base/libkmlbase.la 
../../src/kml/dom/libkmldom.la ../../src/kml/engine/libkmlengine.la 
../../src/kml/regionator/libkmlregionator.la 
../../src/kml/convenience/libkmlconvenience.la -lexpat 
libtool: link: g++ -Wall -ansi -pedantic -fno-rtti -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall 
-Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -o .libs/csvregionator 
csvregionator.o  ../../src/kml/base/.libs/libkmlbase.so 
../../src/kml/dom/.libs/libkmldom.so ../../src/kml/engine/.libs/libkmlengine.so 
../../src/kml/regionator/.libs/libkmlregionator.so 
../../src/kml/convenience/.libs/libkmlconvenience.so 
/usr/lib/i386-linux-gnu/libexpat.so
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::ComputeFeatureLookAt(boost::intrusive_ptrkmldom::Feature const)'
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::Href::Parse(std::string const)'
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::GetLinks(std::string const, std::vectorstd::string, 
std::allocatorstd::string *)'
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::KmlFile::CreateFromImport(boost::intrusive_ptrkmldom::Element 
const)'
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::GetElementsById(boost::intrusive_ptrkmldom::Element const, 
kmldom::KmlDomType, std::vectorboost::intrusive_ptrkmldom::Element, 
std::allocatorboost::intrusive_ptrkmldom::Element  *)'
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::KmlFile::SerializeToString(std::string*) const'
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::KmzFile::ReadKml(std::string*) const'
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::KmzFile::ReadFile(char const*, std::string*) const'
.../../src/kml/regionator/.libs/libkmlregionator.so: undefined reference to 
`kmlengine::Clone(boost::intrusive_ptrkmldom::Element const)'
.../../src/kml/regionator/.libs/libkmlregionator.so: undefined reference to 
`kmlengine::ComputeBboxLookAt(kmlengine::Bbox const)'
.../../src/kml/convenience/.libs/libkmlconvenience.so: undefined reference to 
`kmlengine::GetFeatureLatLon(boost::intrusive_ptrkmldom::Feature const, 
double*, double*)'
.../../src/kml/regionator/.libs/libkmlregionator.so: undefined reference to 
`kmlengine::GetCenter(boost::intrusive_ptrkmldom::AbstractLatLonBox const, 
double*, double*)'
collect2: error: ld returned 1 exit status
make[4]: *** [csvregionator] Error 1
make[4]: Leaving directory 
`/tmp/buildd/libkml-1.3.0~r863/build/examples/regionator'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/buildd/libkml-1.3.0~r863/build/examples'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/buildd/libkml-1.3.0~r863/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/buildd/libkml-1.3.0~r863/build'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2


See also
http://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries

In addition, there is a problem with SWIG detection: configure is patched
to remove the erroneous check, but configure.ac is not, so its use in the build
process leads to errors (i.e. bindings aren't built).

There are already patches in the package addressing these problems, updated
versions are attached. Package with updated patches is used in Ubuntu:
https://launchpad.net/ubuntu/+source/libkml/1.3.0~r863-4.1ubuntu1

-- System Information:
Debian Release: wheezy/sid
  APT prefers quantal-updates
  APT policy: (500, 'quantal-updates'), (500, 'quantal-security'), (500, 
'quantal-proposed'), (500, 'quantal'), (100, 'quantal-backports')
Architecture: i386 (i686)

Kernel: Linux 3.5.0-18-generic (SMP w/2 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- a/examples/helloworld/Makefile.am
+++ b/examples/helloworld/Makefile.am
@@ -26,8 +26,8 @@
 circlegen_LDADD = \
 	$(top_builddir)/src/kml/base/libkmlbase.la \
 	$(top_builddir)/src/kml/dom/libkmldom.la \
-	$(top_builddir)/src/kml/engine/libkmlengine.la \
-	$(top_builddir)/src/kml/convenience/libkmlconvenience.la
+	$(top_builddir)/src/kml/convenience/libkmlconvenience.la \
+