Compiling on Suse 10.3

Get help, report and discuss bugs.
Post Reply
nobody

Compiling on Suse 10.3

Post by nobody » 11 Mar 2008, 08:02

Hello,

No question, but just some remark about OpenSuse 10.3. I tried to compile on Suse 10.3 (after install libpar2 and libsigc++2.0) and I got the error message about not being able to link. I have changed the Makefile to add the sigc-2.0 libary and now in links;

LIBS = -lncurses -lxml2 -lpthread -lpar2 -lsigc-2.0


g++ -g -O2 -L/usr/lib -L/usr/lib -L/usr/lib -L/usr/lib -o nzbget ArticleDownloader.o ColoredFrontend.o Connection.o Decoder.o DiskState.o DownloadInfo.o Frontend.o Log.o LoggableFrontend.o NCursesFrontend.o NNTPConnection.o NZBFile.o NetAddress.o NewsServer.o Observer.o Options.o ParChecker.o PrePostProcessor.o QueueCoordinator.o QueueEditor.o RemoteClient.o RemoteServer.o ServerPool.o Thread.o Util.o nzbget.o -lncurses -lxml2 -lpthread -lpar2
ParChecker.o: In function `slot_rep':
/usr/include/sigc++-2.0/sigc++/functors/slot_base.h:84: undefined reference to `sigc::trackable::trackable()'
ParChecker.o: In function `slot1<sigc::bound_mem_functor1<void, ParChecker, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >':
/usr/include/sigc++-2.0/sigc++/functors/slot.h:526: undefined reference to `sigc::slot_base::slot_base(sigc::internal::slot_rep*)'
ParChecker.o: In function `sigc::signal1<void, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, sigc::nil>::connect(sigc::slot<void, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> const&)':
/usr/include/sigc++-2.0/sigc++/signal.h:1799: undefined reference to `sigc::signal_base::connect(sigc::slot_base const&)'
ParChecker.o: In function `~slot1':
/usr/include/sigc++-2.0/sigc++/functors/slot.h:495: undefined reference to `sigc::slot_base::~slot_base()'
/usr/include/sigc++-2.0/sigc++/functors/slot.h:495: undefined reference to `sigc::slot_base::~slot_base()'
ParChecker.o: In function `slot_rep':
/usr/include/sigc++-2.0/sigc++/functors/slot_base.h:84: undefined reference to `sigc::trackable::trackable()'
/usr/lib/libpar2.so: undefined reference to `sigc::slot_base::slot_base()'
/usr/lib/libpar2.so: undefined reference to `sigc::slot_base::~slot_base()'
/usr/lib/libpar2.so: undefined reference to `sigc::internal::signal_impl::sweep()'
/usr/lib/libpar2.so: undefined reference to `sigc::signal_base::~signal_base()'
/usr/lib/libpar2.so: undefined reference to `sigc::signal_base::signal_base()'
/usr/lib/libpar2.so: undefined reference to `sigc::slot_base::slot_base(sigc::slot_base const&)'
collect2: ld returned 1 exit status
make[1]: *** [nzbget] Error 1
make[1]: Leaving directory `/home/edwin/nzbget/nzbget-0.3.1'
make: *** [all] Error 2


nobody

RE: Compiling on Suse 10.3

Post by nobody » 11 Mar 2008, 08:57

a search for "opensuse" in this forum would have helped....
there's a thread "compile error"

Quote:
##########################################################
I checked libpar2 from Suse-repository and it is not OK. The "libsigc++" was compiled into "libpar2" instead of be linked as a shared library (this is wrong).
Download the correct version of libpar2 from "http://sourceforge.net/project/showfile ... _id=390591" -
File: "libpar2-0-0.2-2.i386.rpm".
Unpack rmp (probably few times) until you get a file "libpar2.so.0.0.1", then replace the existing file in "usr/lib" with an unpacked file. You can also try to just install th rpm, but I'm not sure if it will accepted by your package-manager.
Then try "ldd /usr/lib/libpar2.so.0"; it should print "libsigc-2.0.so.0" in dependencies now.
If "ldd /usr/lib/libpar2.so.0" works, you can make nzbget.
If it not helps you need to build and install libpar2 from source code.
##########################################################

Post Reply

Who is online

Users browsing this forum: No registered users and 54 guests