• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[Compiling]Error in make

Monter

New Member
Joined
May 8, 2011
Messages
16
Reaction score
0
Location
Poland
Hello,
While compiling trunk.r3884 error occurs on the content:
Code:
g++ -I/usr/include/libxml2  -I/usr/include/lua5.1   -O2 -fomit-frame-pointer -D__USE_MYSQL__ -D__USE_SQLITE__   -D__ENABLE_SERVER_DIAGNOSTIC__ -D_THREAD_SAFE -D_REENTRANT -Wall -Wextra -Werror -Wno-strict-aliasing -pipe   -o theforgottenserver actions.o  allocator.o baseevents.o beds.o chat.o combat.o condition.o configmanager.o connection.o container.o creature.o creatureevent.o cylinder.o database.o databasemanager.o databasemysql.o databasesqlite.o  depot.o dispatcher.o exception.o fileloader.o game.o  globalevent.o group.o house.o housetile.o ioban.o ioguild.o iologindata.o iomap.o iomapserialize.o item.o itemattributes.o items.o luascript.o mailbox.o manager.o map.o monster.o monsters.o movement.o networkmessage.o npc.o otserv.o outfit.o outputmessage.o party.o player.o position.o protocol.o protocolgame.o protocolhttp.o protocollogin.o protocolold.o quests.o raids.o rsa.o scheduler.o scriptmanager.o server.o spawn.o spells.o status.o talkaction.o teleport.o textlogger.o thing.o tile.o tools.o trashholder.o waitlist.o weapons.o vocation.o -llua5.1   -lsqlite3 -lmysqlclient -lcryptopp -lboost_filesystem-mt -lboost_date_time-mt -lboost_system-mt -lboost_regex-mt -lboost_thread-mt -lz -lgmp  -lxml2
otserv.o: In function `otserv(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, ServiceManager*)':
otserv.cpp:(.text+0x459b): undefined reference to `boost::this_thread::sleep(boost::posix_time::ptime const&)'
collect2: ld returned 1 exit status
make[1]: *** [theforgottenserver] Błąd 1
make[1]: Opuszczenie katalogu `/home/ots/trunk.r3777'
make: *** [all] Błąd 2
I don't know what might be the reason error why I have installed boost in the latest version...
Please answer quickly.
Thank all.
 
@up cut the crap ;)
"Everything should be as simple as possible, but not simpler."

@topic
apt-get remove --purge libboost*

apt-get install libboost1.40-dev libboost-system1.40-dev libboost-filesystem1.40-dev libboost-date-time1.40-dev libboost-regex1.40-dev libboost-thread1.40-dev

@home language (cause he is pol)
Debian 5.0 nie posiada w repozytoriach bibliotek 1.41 zawartych w poradnikach do kompilacji dlatego skorzystac z 1.40, które działają identycznie.
To rozwiąże problem.
 
Bo go nie ma dlatego podałem stronę z której możesz sobie pobrać i zainstalować pakiet ręcznie, teraz dodam tylko jak to trzeba zrobić.

Ściągnij paczkę libboost (jaka ci pasuje);

po wypakowaniu wchodzisz do katalogu...

Code:
./bootstrap.sh

następnie

Code:
./bjam install --prefix=/usr/


Oczywiście z poziomu roota wszystko.
 
Pobrałem..
Code:
./bootstrap.sh
Następnie
Code:
./bjam
Kompilacja chwilę trwała, lecz ja już to robiłem, wiec nie widzę sensu jeszcze raz instalować ;/
 
Ale w tym momencie robisz bez prefixa, dziś instalowałem koledze na dedyku bo też miał problem. Daj prefixa i wszystko będzie śmigało.
 
Na koniec otrzymałem to:
Code:
common.copy /usr/lib/libboost_wave.a
...failed updating 2 targets...
...skipped 6 targets...
...updated 6455 targets...
I nadal to samo, znasz jeszcze jakieś propozycje ?
 
Code:
apt-get install  libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-client-5.1 mysql-server-5.1 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++8

Zainstaluj to, tu są trochę starsze pakiety więc wszystko powinno wskoczyć, ale jak zgłosi jakiś błąd, że czegoś nie może znaleźć to zrób np:

Code:
apt-cache search mysql-server

Wtedy znajdzie Ci pakiet, który posiadasz i będziesz mógł go dopisać.
To są wszystkie potrzebne pakiety do kompilacji TFS, więc może któregoś Ci brakuje..
 
Dzięki :)
Teraz podczas kompilacji wyskakuje mi
Code:
/usr/bin/ld: connection.o: undefined reference to symbol 'pthread_getspecific@@GLIBC_2.0'
/usr/bin/ld: note: 'pthread_getspecific@@GLIBC_2.0' is defined in DSO //lib/libpthread.so.0 so try adding it to the linker command line
//lib/libpthread.so.0: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[1]: *** [theforgottenserver] Błąd 1
make[1]: Opuszczenie katalogu `/home/ots/trunk.r3777'
make: *** [all] Błąd 2
Wiesz może czym to skutkuje?
#Edit Dodałem do LIBS -lpthread
i znowu
Code:
otserv.o: In function `void boost::this_thread::sleep<boost::posix_time::seconds>(boost::posix_time::seconds const&)':
otserv.cpp:(.text._ZN5boost11this_thread5sleepINS_10posix_time7secondsEEEvRKT_[void boost::this_thread::sleep<boost::posix_time::seconds>(boost::posix_time::seconds const&)]+0xa9): undefined reference to `boost::this_thread::sleep(boost::posix_time::ptime const&)'
collect2: ld returned 1 exit status
make[1]: *** [theforgottenserver] Błąd 1
make[1]: Opuszczenie katalogu `/home/ots/trunk.r3777'
make: *** [all] Błąd 2
Widocznie tfs mnie nie lubi..
 
Last edited:
To make sure install the necesary tools used to compile in debian systems.

apt-get install build-essential

This is package that includes all compilers and most of popular lib's used in making things from source.
 
Tak, oprócz libcrypto++8, ponieważ tego nie znalazło.
Wersja:
Code:
# uname -a
Linux vps10594 2.6.26-2-686 #1 SMP Thu Nov 25 01:53:57 UTC 2010 i686 GNU/Linux
# cat /etc/debian_version
wheezy/sid
System 32 bitowy.
Aktualnie wyskakuje :
Code:
otserv.o: In function `void boost::this_thread::sleep<boost::posix_time::seconds>(boost::posix_time::seconds const&)':
otserv.cpp:(.text._ZN5boost11this_thread5sleepINS_10posix_time7secondsEEEvRKT_[void boost::this_thread::sleep<boost::posix_time::seconds>(boost::posix_time::seconds const&)]+0xa9): undefined reference to `boost::this_thread::sleep(boost::posix_time::ptime const&)'
collect2: ld returned 1 exit status
make[1]: *** [theforgottenserver] Błąd 1
 
Code:
apt-get install libcrypto++7
albo w dół.

Wszystko z poziomu roota robisz?

Jest jeszcze taka opcja z zainstalowaniem libboost systemowych które masz w repo, aby się tam dostać musisz wejść w System>Administracja>Synaptic Menadżer Pakietów i w wyszukiwarce wpisujesz libboost, wyskoczą Ci te, które masz w repo zaznacz i niech się zainstalują, zobaczymy co wtedy powie, o ile robisz to na PC u siebie w domu.
 
Okay, but this is error in source. Linux is an operating system that will tell you whats wrong. Learn to read it :)

otserv.cpp:(.text._ZN5boost11this_thread5sleepINS_10posix_time7secondsEEEvRKT_[void boost::this_thread::sleep<boost::posix_time::seconds>(boost::posix_time::seconds const&)]+0xa9): undefined reference to `boost::this_thread::sleep(boost::posix_time::ptime const&)'

boost, boost, boost, boost. See? Everything is related here to boost library. As I told you. Install boost lib's from repo not manualy. Believe me I tried to go this road in my centos.
Is it debian 5? If you have a VPS server or dedicated server I can help you. If you have it just installed at home you are on your own.
If this is one time compiling I could give you for few hours shell account at one of my virtual servers based on ubuntu 9.10 that I made for compiling this shit only ;)
My proposal? Get yourself a real OS not this debian. It is... Just to simple and is lacking too many things. Get ubuntu 9.10 or 10.10 and all that you will be needing will be in repo. Just few commands and you are home :) Think about it. I have come a long way on debian making it work with TFS.
 
@up
Myślę, że mogę napisać po polsku bo jesteś z gdańska(tak przynajmniej masz napisane)
Jest to vps, dlaczego sądzisz, że na ubuntu będzie lepiej ? Na debianie tego nie znajdę ? Jeżeli mógłbyś mi pomóc napisz na priv.
 
Back
Top