libpsf icon indicating copy to clipboard operation
libpsf copied to clipboard

undefined references in libpsf

Open hohe opened this issue 11 years ago • 3 comments

I get errors when I try to compile libpsf:

...
libtool: link: g++ -I../include -g -O2 -o .libs/psftest psftest-psftest.o  ./.libs/libpsf.so -Wl,-rpath -Wl,/usr/local/lib
./.libs/libpsf.so: undefined reference to `PropertyBlock::deserialize(char const*)'
./.libs/libpsf.so: undefined reference to `PropertyBlock::find(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const'
./.libs/libpsf.so: undefined reference to `vtable for PropertyBlock'
./.libs/libpsf.so: undefined reference to `PropertyBlock::hasprop(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const'
./.libs/libpsf.so: undefined reference to `PropertyBlock::append_prop(Property const&)'
collect2: ld returned 1 exit status
make[1]: *** [psftest] Fehler 1
make[1]: Leaving directory `/tmp/libpsf/src'
make: *** [all-recursive] Fehler 1

With git bisect I figured out, that the error occurs only with the newest revision.

hohe avatar Jan 17 '15 15:01 hohe

I confirm the problem in RedHat EL 7.0.

taimurrabuske avatar Jan 20 '15 04:01 taimurrabuske

Have the same on OpenSuse 13.1 was able to compile if I add depcomp to line 86 in Makefile

COPYING config.guess config.sub depcomp install-sh missing \
ltmain.sh

Pepitokater avatar Jun 29 '15 11:06 Pepitokater

think my previous is not correct, solution is here: File: src/Makefile.am lib_LTLIBRARIES = libpsf.la

bin_PROGRAMS = psftest psftest_SOURCES = psftest.cc psftest_CXXFLAGS = -I../include ${BOOST_CPPFLAGS} psftest_LDFLAGS = libpsf.la

libpsf_la_SOURCES = psf.cc psfdata.cc psfproperty.cc psfchunk.cc
psfcontainer.cc psfindexedcontainer.cc psfgroup.cc psffile.cc
psftype.cc psfstruct.cc psfsections.cc psftrace.cc
psfnonsweepvalue.cc psfsweepvalue.cc psfpropertyblock.cc

libpsf_la_CXXFLAGS =
-I../include ${BOOST_CPPFLAGS}

psfpropertyblock.cc was not in the list

Pepitokater avatar Jun 29 '15 11:06 Pepitokater