pombreda / libkml

Automatically exported from code.google.com/p/libkml
Other
0 stars 0 forks source link

Was it successfully compiled in x86 linux??? #56

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. ./configure
2. make
3.

What is the expected output? What do you see instead?
 g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src
-I../../../third_party/boost_1_34_1
-I../../../third_party/uriparser-0.7.1/include
-I../../../third_party/googletest-r108/include -Wall -Werror -ansi
-pedantic -fno-rtti -g -O2 -MT expat_parser.lo -MD -MP -MF
.deps/expat_parser.Tpo -c expat_parser.cc  -fPIC -DPIC -o .libs/expat_parser.o
expat_parser.cc: In member function `bool
kmlbase::ExpatParser::ParseInternalBuffer(size_t, std::string*, bool)':
expat_parser.cc:110: error: `XML_ParsingStatus' was not declared in this scope
expat_parser.cc:110: error: expected `;' before "parsing_status"
expat_parser.cc:111: error: `parsing_status' was not declared in this scope
expat_parser.cc:111: error: `XML_GetParsingStatus' was not declared in this
scope
expat_parser.cc:112: error: `XML_FINISHED' was not declared in this scope
expat_parser.cc:112: warning: unused variable 'XML_FINISHED'
expat_parser.cc:110: warning: unused variable 'XML_ParsingStatus'
expat_parser.cc:111: warning: unused variable 'XML_GetParsingStatus'
expat_parser.cc: In member function `bool
kmlbase::ExpatParser::_ParseString(const std::string&, std::string*)':
expat_parser.cc:130: error: `XML_STATUS_SUSPENDED' was not declared in this
scope
expat_parser.cc:130: warning: unused variable 'XML_STATUS_SUSPENDED'
make[4]: *** [expat_parser.lo] Error 1
make[4]: Leaving directory
`/home/achen2/0work/ge_plugin/libkml-0.9.0/src/kml/base'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/achen2/0work/ge_plugin/libkml-0.9.0/src/kml'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/achen2/0work/ge_plugin/libkml-0.9.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/achen2/0work/ge_plugin/libkml-0.9.0'
make: *** [all] Error 2

What version of the product are you using? On what operating system?
0.9.0

Did you run the unit test suite that comes with the project? Did all tests
pass?

Please provide any additional information below.

Original issue reported on code.google.com by aijunc...@gmail.com on 20 Feb 2009 at 8:24

GoogleCodeExporter commented 9 years ago
Looks like you don't have expat installed anywhere we can find it. I'm 
surprised the
configure check passes here:
http://code.google.com/p/libkml/source/browse/trunk/configure.ac#16

Original comment by kml.mash...@gmail.com on 2 Mar 2009 at 9:34

GoogleCodeExporter commented 9 years ago
I got this same error running RHEL4.
I think by default an older version of Expat is installed in /usr/

I believe XML_GetParsingStatus and other things are only available in later 
version
of Expat.

If you build and install Expat using the defaults, the "make install" will put 
it in
/usr/local.

The libkml configure scripts don't seem to check for the Expat version number.  

Additionally, the search order looks for /usr before /usr/local, so even if you 
do
have it installed in /usr/local, it won't use it.

There's no --with-expat-lib-dir or --with-expat-include-dir options, so you 
can't
point it at alternate locations.  (--libdir and --includedir doesn't help 
either)

You could manually modify the Makefiles that require it after the fact by 
changing
the LIBS = /usr/local/lib/libexpat.so but that is teadious.

One (undesirable) solution is to make Expat using --prefix=/usr.  When you do a 
"make
install" it will overwrite the /usr/lib/libexpat.so and /usr/include/expat.h.

I've also gotten a curl warning, since -lssh2 couldn't find libssh2.  I 
installed
libssh2 & libssh2-devel using RPMs and that solved the compilation but with 
warnings.
 But, the "make check" tests pass.  I'm not sure if the tests cover this case though.

"sudo make install" doesn't work for me now.  It seems to install libgtest,
liburiparser, and libminizip, but then fails on libgtest_main:

 /bin/sh ../libtool --mode=install /usr/bin/install -c  'libgtest_main.la'
'/usr/local/lib/libgtest_main.la'
libtool: install: warning: relinking `libgtest_main.la'
(cd /home/rretting/download/libkml-0.9.0/third_party; /bin/sh ../libtool  
--tag=CXX
--mode=relink g++ -g -O2 -o libgtest_main.la -rpath /usr/local/lib gtest_main.lo
../third_party/libgtest.la )
mv: cannot move `libgtest_main.so.0.0.0' to `libgtest_main.so.0.0.0U': 
Permission denied
libtool: install: error: relink `libgtest_main.la' with the above command before
installing it
make[2]: *** [install-libLTLIBRARIES] Error 1
make[2]: Leaving directory `/home/rretting/download/libkml-0.9.0/third_party'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/rretting/download/libkml-0.9.0/third_party'
make: *** [install-recursive] Error 1

Original comment by RyanRett...@gmail.com on 4 Mar 2009 at 1:22

GoogleCodeExporter commented 9 years ago
Thanks, you guys.
Please let me know which version of expat I should use?
Can I install it in non-default path and point to it while I configure? If yes, 
which
parameter name I should use?

Original comment by aijunc...@gmail.com on 16 Mar 2009 at 6:03

GoogleCodeExporter commented 9 years ago
--with-expat-include-dir=... --with-expat-lib-dir
http://code.google.com/p/libkml/source/detail?r=525

Original comment by kml.mash...@gmail.com on 16 Mar 2009 at 9:10