[+] b

Tematy związane z oprogramowaniem, instalacją, konfiguracją
lolasher
Posty: 10
Rejestracja: 03 lutego 2010, 18:55

[+] błędy przy kompilacji Tibii

Post autor: lolasher »

Witam.
Już od paru dni próbuję odnaleźć przez Google rozwiązanie tego problemu. Przeglądając to forum zauważyłem, ze macie dużą odporność na ,,dzieci Tibii'', które instalując Linuksa myślą, że wszystko będzie tak samo, albo jeszcze bardziej łatwe niż na Windowsie.

Otóż, przyszło mnie nieszczęsnemu skompilować silnik serwera do znienawidzonej przeze mnie Tibii. I męczyłem się długo z tym zadaniem i nadal się męczę. Zainstalowałem wszystkie wymagane biblioteki podane tutaj: http://otland.net/f137/linux-ultimate-c ... uded-2868/ czyli:

Kod: Zaznacz cały

apt-get install libboost1.38-dev libboost-system1.38-dev libboost-filesystem1.38-dev libboost-date-time1.38-dev libboost-regex1.38-dev libboost-thread1.38-dev 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 libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 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
Co prawda nie było bibliotek w wersji 1.38, więc wgrałem 1.39 a potem 1.40 i nadal był ten sam błąd podczas kompilacji (wywołania ostatecznego make, po configure nie zwracającym błędów).

Kod: Zaznacz cały

root@lolasher2:~/Tibia/forgottenserver/source# make
make  all-am
make[1]: Wejście do katalogu `/root/Tibia/forgottenserver/source'
g++ -I/usr/include/libxml2  -I/usr/include/lua5.1    -D__USE_MYSQL__      -D_THREAD_SAFE -D_REENTRANT -Wall -g -O1   -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    depot.o exception.o fileloader.o game.o  globalevent.o group.o gui.o house.o housetile.o inputbox.o ioban.o ioguild.o iologindata.o iomap.o iomapserialize.o item.o itemattributes.o items.o luascript.o mailbox.o map.o md5.o monster.o monsters.o movement.o networkmessage.o npc.o otserv.o outfit.o outputmessage.o party.o playerbox.o player.o position.o protocol.o protocolgame.o protocollogin.o protocolold.o quests.o raids.o rsa.o scheduler.o scriptmanager.o server.o sha1.o spawn.o spells.o status.o talkaction.o tasks.o teleport.o textlogger.o thing.o tile.o tools.o trashholder.o waitlist.o weapons.o vocation.o -llua5.1   -lmysqlclient -lboost_filesystem-mt -lboost_date_time-mt -lboost_system-mt -lboost_regex-mt -lboost_thread-mt -lgmp  -lxml2
actions.o: In function `__static_initialization_and_destruction_0':
/usr/local/include/boost/system/error_code.hpp:172: undefined reference to `boost::system::get_posix_category()'
/usr/local/include/boost/system/error_code.hpp:175: undefined reference to `boost::system::get_posix_category()'
baseevents.o: In function `__static_initialization_and_destruction_0':
/usr/local/include/boost/system/error_code.hpp:172: undefined reference to `boost::system::get_posix_category()'
/usr/local/include/boost/system/error_code.hpp:175: undefined reference to `boost::system::get_posix_category()'
beds.o: In function `__static_initialization_and_destruction_0':
/usr/local/include/boost/system/error_code.hpp:172: undefined reference to `boost::system::get_posix_category()'
beds.o:/usr/local/include/boost/system/error_code.hpp:175: more undefined references to `boost::system::get_posix_category()' follow
collect2: ld returned 1 exit status
make[1]: *** [theforgottenserver] Błąd 1
make[1]: Opuszczenie katalogu `/root/Tibia/forgottenserver/source'
make: *** [all] Błąd 2
Totalnie nie mam pomysłu o co może chodzić, dużo czytałem o linkowaniu, ale nikt nigdzie nie napisze konkretnie co trzeba linkować i jak, tylko odsyłają do Google, gdzie można odnaleźć jeszcze więcej tego typu tematów, gdzie każą szukać w Google. Co powoduję, że Google indeksuje tylko strony z ,,poszukaj w Google'', przez co Google staje się bezużyteczne i jestem zmuszony prosić kogoś bardziej doświadczonego o pomoc.
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

lolasher pisze:Przeglądając to forum zauważyłem, ze macie dużą odporność na ,,dzieci Tibii'', które instalując Linuksa myślą, że wszystko będzie tak samo, albo jeszcze bardziej łatwe niż na Windowsie.
Też się dziwię, jak można coś kompilować nie mając przygotowanego do tego systemu. Jak przygotować system do kompilacji jest na forum, poszukaj.
lolasher
Posty: 10
Rejestracja: 03 lutego 2010, 18:55

Post autor: lolasher »

I takie pytanie, co masz na myśli mówiąc "system przygotowany do kompilacji"
g++ - zainstalowany
libboost wymagany przez te źródła -zainstalowany

Więc jak na mój bardziej jeszcze windowsowy niż linuksowy móżdżek wydaje mi się, że to już jest przygotowany system to prowadzenia nader skomplikowanej operacji jaką jest kompilowanie źródeł stworzonych w diabelskim i nie zrozumiałym dla Debiana c++, bo mi się już powoli w pale nie mieści, jak kompilator może nie widzieć biblioteki która jest zainstalowana.
Tak zauważyłem, że linuksowi deweloperzy się trochę wysprytnili: w Windowsie oni muszą się martwić o biblioteki wymagane przez program, a Linuksie cały ten ciężar spada na takiego biednego użytkownika jak ja, który musi skompilować te nieszczęsne źródła.
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

lolasher pisze:system przygotowany do kompilacji
To są podstawy pracy z Debianem. Zajrzyj do ,,Debian reference'' i działu dla początkujących.

Np.:
http://debian.linux.pl/viewtopic.php?p=113178#113178
lolasher
Posty: 10
Rejestracja: 03 lutego 2010, 18:55

Post autor: lolasher »

Wedle linka, który mi dałeś to system mam przygotowany do kompilacji - ładnie zaaktualizowany system, pobrane wszystkie biblioteki, problem w tym, że configure widzi wszystkie liby, a make już nie. Co do "Debian Reference" dzięki tobie mam już lekturę do poduszki ;) Coś mi się wydaje, że mam tam za mocno z nimi namieszane. Jest jakiś sposób, żeby usunąć totalnie wszystkie libboosty i ślady po nich i zainstalować na nowo ? (mówię oczywiście o czymś jeszcze oprócz apt-get remove i install)

W Debian Reference znalazłem tylko polecenie ldd, które sprawdza jakie biblioteki są wymagane do uruchomienia programu, ale to raczej nie to ...
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Spróbuj zbudować jakiś pakiet źródłowy. Według komunikatów o błędach masz dużo niezdefiniowanych odniesień. Informacji szukaj w plikach dokumentacji w źródłach. Np. README itp.
lolasher
Posty: 10
Rejestracja: 03 lutego 2010, 18:55

Post autor: lolasher »

Zainstalowałem debiana na wirtualnej maszynie na czysto, wykonałem idealnie wszystkie komendy jakie były w poradniku twórców i wszystko ładnie się skompilowało. Naśmieciłem tymi boostami oraz tworząc niepotrzebnie powiązania za pomocą ls
1. Da się je jakoś usunąć ?(te powiązania ls).
2. Chyba nie muszę kompilować silnika tam gdzie będe go uruchamiał ? Mogę go sobie teraz przenieść na mój serwer ?

Co do tego śmietniska z boostami i ls to mam nikłe nadzieje na odratowanie i dzięki za pomoc.

[ Dodano: |4 Lut 2010|, 2010 01:43 ]
Zainstalowałem debiana na wirtualnej maszynie na czysto, wykonałem idealnie wszystkie komendy jakie były w poradniku twórców i wszystko ładnie się skompilowało. Naśmieciłem tymi boostami oraz tworząc niepotrzebnie powiązania za pomocą ls
1. Da się je jakoś usunąć ?(te powiązania ls).
2. Chyba nie muszę kompilować silnika tam gdzie będe go uruchamiał ? Mogę go sobie teraz przenieść na mój serwer ?

Co do tego śmietniska z boostami i ls to mam nikłe nadzieje na odratowanie, ale dzięki za pomoc.
Awatar użytkownika
vimoco
Posty: 23
Rejestracja: 29 marca 2009, 20:11

Post autor: vimoco »

Też mam ten problem, też namieszałem z ,,boostami''.
Ale ja nie mogę systemu niestety przeinstalować. Ma ktoś rozwiązanie?
lolasher
Posty: 10
Rejestracja: 03 lutego 2010, 18:55

Post autor: lolasher »

Masz serwer dedykowany, tak? ¦ciągnij program w rodzaju VMware albo VirtualBox (na swój komputer) i na nim uruchom instalator Debiana (netinstall zajmuje z 200MB, ja instalowałem bez środowiska graficznego) i tam kompiluj, a potem skompilowany silnik sobie wyślij.

Ale to jest obejście problemu na około, mam nadzieję, że jest jakieś inne rozwiązanie tego problemu.

Co do poprzedniego pytania zbudowałem źródła kadu i poszły bez problemu.
radd
Posty: 1
Rejestracja: 05 lutego 2010, 04:40

Post autor: radd »

Podobny problem. Czy jest ktos w stanie pomoc?


Z gory dziekuje.
ODPOWIEDZ