Mailinglist Archive: opensuse-packaging (284 mails)

< Previous Next >
Re: [opensuse-packaging] Re: undefined reference to wxXmlNode::GetNodeContent() const
  • From: Cristian Morales Vega <cmorve69@xxxxxxxx>
  • Date: Tue, 22 Feb 2011 20:53:54 +0100
  • Message-id: <AANLkTi=HfyCEuHRRgMYkoXW1KfyDysWABi6gmWbosAv2@mail.gmail.com>
2011/2/22 Stanislav Brabec <sbrabec@xxxxxxx>:
Philipp Thomas wrote:
* Stanislav Brabec (sbrabec@xxxxxxx) [20110222 16:33]:

for opensuse and mandrivia I am getting an undefined reference to
wxXmlNode::GetNodeContent() const
when compiling textclient.o

It's strange, this symbol should be available in all instances of
libwx_base*_xml*. I see it in the header, in the source code, in the
shared library, in the linker command line, but for some reason it
fails.

His problem must have been that we should have BuildRequired
wxwidgets-wxcontainer-devel instead of wxwidgets-devel.

We should have wxWidgets-devel. Packages that are not ready for
STL-enabled wxWidgets have to use wxWidgets-wxcontainer-devel. And
packages that are not ready for Unicode strings have to use
wxWidgets-ansi-devel.

The package in question does not compile with any of them.

I'm feeling ignored :-( I suppose you are not subscribed to
opensuse-packaging? This time I send this to everybody.

The difference that makes the package from home:arcticblaze build and
the one from home:pelliott11:maitreya fail is that the former has an
"export SUSE_ASNEEDED=0" line in the %build section.

The command that fails is

g++ -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables
/usr/lib64/libfontconfig.so -o maitreya_textclient textclient.o
-L/usr/lib64/wx-2.8-stl -pthread -Wl,-rpath,/usr/lib64/wx-2.8-stl
-L/usr/lib64 -Wl,-rpath,/usr/lib64/wx-2.8-stl
-lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8
-lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8
-lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8
-lwx_baseu-2.8 libjyotish.a ../base/libmaitreya_base.a
../swe/libswe.a

and fails because it should be

g++ -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables
/usr/lib64/libfontconfig.so -o maitreya_textclient textclient.o
libjyotish.a ../base/libmaitreya_base.a ../swe/libswe.a
-L/usr/lib64/wx-2.8-stl -pthread -Wl,-rpath,/usr/lib64/wx-2.8-stl
-L/usr/lib64 -Wl,-rpath,/usr/lib64/wx-2.8-stl
-lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8
-lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8
-lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8
-lwx_baseu-2.8

libjyotish.a and libmaitreya_base.a contain code that used wxWidgets
and the "-lwx*" entries are before them, when should be after.

Not the best place but, again, it's explained at
http://en.opensuse.org/openSUSE:Packaging_Perl#Linking_fails_with:_undefined_reference_to_.22function_name.22
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >