Kompilering av nanodc

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

Kompilering av nanodc

Inlägg av Victor »

Hejsan!

Jag försöker få igång nanodc (http://sourceforge.net/projects/nanodc/) men lyckas inte..

Jag följer detta:

Kod: Markera allt

Dependencies:
-------------
    * ncursesw
    * pthread
    * zlib
    * libbz2
    * scons
    * boost-thread
    * boost-signals
    * glib 2.0
    * openssl

Compiling:
----------

Debian/Ubuntu users can install everything with apt-get:
    * apt-get install libbz2-dev libncursesw5-dev pkg-config scons zlib1g-dev libglib2.0-dev libssl-dev libboost-thread-dev libboost-signals-dev

Check out the source with svn (apt-get install subversion)
    * svn co https://svn.kapsi.fi/nanodc-dev/

Change to correct directory in order to compile the source
    * cd nanodc-dev/trunk/src/

Run scons (apt-get install scons)
    * scons

To compile debug-version use 'scons debug=1'
    * ./nanodc
Men får ett kompileringsfel som er ut som sådant:

Kod: Markera allt

victor@staropramen-server:~/src/nanodc-dev/trunk/src$ scons
scons: Reading SConscript files ...                        
Checking for g++ >= 4.0...(cached) yes                     
Checking for pkg-config... yes                             
Checking for C++ header file tr1/functional... yes         
Checking for C++ library ncursesw... yes                   
Checking for C++ library pthread... yes                    
Checking for C++ library z... yes                          
Checking for C++ library bz2... yes                        
Checking for glib-2.0... yes                               
Checking for C++ library boost_signals... yes
Checking for C++ library boost_thread... yes
Checking for C++ library ssl... yes
Checking for C function backtrace()... yes
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/client/AdcCommand.o -c -DUSE_STACKTRACE=1 -ansi -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -rdynamic -I. -Iboost/boost/tr1/tr1 -Iboost client/AdcCommand.cpp
g++ -o build/client/AdcHub.o -c -DUSE_STACKTRACE=1 -ansi -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -rdynamic -I. -Iboost/boost/tr1/tr1 -Iboost client/AdcHub.cpp
client/AdcHub.cpp: In member function ‘void dcpp::AdcHub::handle(dcpp::AdcCommand::Type<5522759u>, dcpp::AdcCommand&)’:
client/AdcHub.cpp:523: error: ‘log’ was not declared in this scope
client/AdcHub.cpp:523: warning: comparison between signed and unsigned integer expressions
scons: *** [build/client/AdcHub.o] Error 1
scons: building terminated because of errors.
Jag testade att lägga till "#include <math.h>" i filen AdcHub.cpp vilket gjorde så att den gick vidare i kompileringen men fastnade på ett annat ställe.. Känner heller att jag inte pallar med att ändra i deras kod för att få det funka. Har de kodat dåligt eller har jag gjort något fel?

Tacksam för all hjälp!
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Användarvisningsbild
philip5
HC-IRCare
Inlägg: 1099
Blev medlem: 21 feb 2009, 14:32
OS: Kubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Uppsala
Kontakt:

Re: Kompilering av nanodc

Inlägg av philip5 »

Tror den där koden kan bli lite meckig att få igång med gcc 4.3.3 eftersom koden följer lite äldre standard och gcc har blivit lite striktare i sin syntax.

Ska man ge sig på att jaga cleanups i koden så kan man kanske kolla på att antingen använda #include "stdinc.h" för clientkod. stdinc.h i clientmappen verkar definiera just sånt du är ute efter men de använder inte den så mycket och inte när den behövs eller inte. Det är inte bara att kasta in de definitionerna rakt av överallt och hoppas att det ska funka. Undrar om det inte är bättre annars att köra #include <memory> istället för "#include <math.h>.
-------------------------------------------------------------
Min PPA för Ubuntu: http://launchpad.net/~philip5
Twitter: http://twitter.com/philip_johnsson
IRC: Philip5 @ freenode.net #ubuntu-se #kubuntu-se
Skriv svar

Återgå till "Terminalforum"