[TFS] Pełna instrukcja kompilacji dla Linux Debian oraz pochodne (np. Ubuntu)

 
Tibia.net.pl

Wróć   Tibia.net.pl > Czytelnia > Poradniki > Poradniki OpenTibia

#4 event Tibia.net.pl: W poszukiwaniu zgrania... (Start - Sobota, godz. 20:00)

#1 konkurs Tibia.net.pl: Czy jesteś gotów stoczyć walkę?


  Tibia.net.pl (#?)
[TFS] Pełna instrukcja kompilacji dla Linux Debian oraz pochodne (np. Ubuntu)

Dyskusja dotycząca tematu [TFS] Pełna instrukcja kompilacji dla Linux Debian oraz pochodne (np. Ubuntu), który znajduje się w kategorii Poradniki (Pomocne teksty, artykuły i najczęściej zadawane pytania.), na forum Poradniki OpenTibia (Poradniki związane ze światem otwartej Tibii). Treść: Z góry dodam, iż jest to mój poradnik - link do oryginalnego tematu: . Owa instalacja pozwala skompilować praktycznie każdy silnik ...



Odpowiedz
 
21-04-2008, 05:07  
Elf
Maniak
 
Użytkownik Elf na Tibia.net.pl

[TFS] Pełna instrukcja kompilacji dla Linux Debian oraz pochodne (np. Ubuntu)


Z góry dodam, iż jest to mój poradnik - link do oryginalnego tematu: .
Owa instalacja pozwala skompilować praktycznie każdy silnik MySQL i SQLite - nie tylko TFSa, ale tylko on był przeze mnie testowany.
Jeżeli coś nie działa - wyłącznie Twój błąd, ewentualnie piszcie błędy kompilacji (gdyż mogłem ominąc jeden, ważny moment, który uzupełniłem w locie).
Zaczynamy!


1. Ten punkt jest wyłącznie dla użytkowników Debiana, niestety nie mam linków do repozytoriów np. Ubuntu.
Najpierw musimy uzupełnić /etc/apt/sources.list, aby móc pobrać paczuszki.
Otwieramy owy plik, usuwamy starą zawartość i wklejamy:
Kod:
deb http://mir1.ovh.net/debian/ etch main
deb-src http://mir1.ovh.net/debian/ etch main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian testing main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
deb-src http://security.debian.org stable/updates main contrib non-free
deb http://security.debian.org testing/updates main contrib non-free
deb-src http://security.debian.org testing/updates main contrib non-free
Zapisujemy i zamykamy.

2. Żeby aktualizować nasz system, musimy jeszcze ustawićcache dla apt, gdyż niektóre pliki mogą przeładować program. W /etc/apt tworzymy plik apt.conf i umieszczamy w nim:
Kod:
APT::Cache-Limit "125829120";
Zapisujemy i zamykamy.

3. Teraz wpisujemy, aby zaktualizować listę repozytoriów:
Kod:
apt-get update
i nasz system
Kod:
apt-get upgrade
4. Następnie zabieramy się do instalacji długiej listy pakietów, potrzebnych do kompilacji silnika (zarówno MySQL jak i SQLite):
Kod:
apt-get install libboost-date-time-dev libboost-date-time1.34.1 libboost-dev libboost-regex-dev libboost-regex1.34.1 libboost-signals-dev libboost-signals1.34.1 libboost-thread-dev libboost-thread1.34.1 libxml2 liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 libsqlite0 libsqlite0-dev libsqlite3-0 libsqlite3-dev sqlite3 lua5.1 libmysql++-dev libgmp3-dev subversion make g++ libxml2-dev libxml++2.6-dev liblua5.1-sql-mysql-dev liblua5.1-sql-mysql-2 liblua5.1-sql-sqlite-dev liblua5.1-sql-sqlite2 libmysqlclient15-dev mysql-client-5.0 mysql-common mysql-server-5.0 gcc cpp
5. Po długiej i nudnej instalacji wykonujemy następujące polecenia, dzięki którym zainstalujemy boost::asio:
Kod:
cd ~
Kod:
wget http://kent.dl.sourceforge.net/sourceforge/asio/boost_asio_0_3_8.tar.gz
Kod:
wget http://switch.dl.sourceforge.net/sourceforge/boost/boost_1_34_1.tar.gz
Kod:
tar -zxvf boost_asio_0_3_8.tar.gz
Kod:
tar -zxvf boost_1_34_1.tar.gz
Kod:
cp boost_asio_0_3_8/boost /usr/local/include -r
Kod:
cp boost_asio_0_3_8/libs boost_1_34_1 -r
Kod:
cd boost_1_34_1/libs/system/src/
Kod:
g++ -shared -Wl,-soname,libboost_system.so.1 -o libboost_system.so.1.0.1 error_code.cpp -lc -fPIC
Kod:
cp libboost_system.so.1.0.1 /usr/local/lib
Kod:
ln -s /usr/local/lib/libboost_system.so.1.0.1 /usr/local/lib/libboost_system.so
Kod:
ldconfig
Kod:
cd ~
Kod:
rm -rf boost_asio_0_3_8* boost_1_34_1*
3. Ok, właśnie zainstalowałeś wszystko, co ostatecznie potrzebne do kompilacji. Możemy się wziąć za pobranie i kompilację źródeł:
Kod:
svn co http://forgottenserver.svn.sourceforge.net/svnroot/forgottenserver/forgottenserver/tags/0.2
Kod:
mv 0.2 forgottenserver
Kod:
cd forgottenserver
Kod:
make
Kod:
mkdir source
Kod:
mv Makefile *.ico *.rc *.o *.cpp *.h source
Serwer jest skompilowany i gotowy do konfiguracji oraz późniejszego uruchomienia!
 


08-05-2008, 16:31  
Pomoc techniczna
 
Użytkownik Jack na Tibia.net.pl

Witam. Bardz dobry poradnik, napewno się przyda doświadczonym i nie doświadczony Otsiarzą, bo zrobienie takiej kompilacji jest tródne, więc bardzo Ci gratuluję. Widać, że jesteś bardzo dobry. Poradnik 10/10. Pozdrawiam, Jack Kamus.
 
08-05-2008, 17:16  
Początkujący
 
Użytkownik RyoW#b na Tibia.net.pl

Cytat:
Napisał Jack Kamus Zobacz post
Witam. Bardz dobry poradnik, napewno się przyda doświadczonym i nie doświadczony Otsiarzą, bo zrobienie takiej kompilacji jest tródne, więc bardzo Ci gratuluję. Widać, że jesteś bardzo dobry. Poradnik 10/10. Pozdrawiam, Jack Kamus.

Więc naucz się wpierw sam pisać po polsku ,a potem dodaj sobie sygnaturke na forum i deklaruj swoją wypowiedź.
 
08-05-2008, 18:54  
Gaduła
 
Użytkownik Pakito na Tibia.net.pl

Do takich silników trzeba mieć coś typu webserv?
 
08-05-2008, 22:02  
Początkujący
 
Użytkownik RyoW#b na Tibia.net.pl

Cytat:
Napisał OTS'siarz Zobacz post
Do takich silników trzeba mieć coś typu webserv?

Trzeba chyba że da się zrobić acc menagera. :P
 
20-05-2008, 10:44  
Bywalec

Problem


Witam. Wykonałem wszysko krok po kroku na najnowszym ubuntu (Hardy...) i mam problem:
Kod:
/usr/bin/ld: cannot find -llua5.1-sql-sqlite
Help!
 
20-05-2008, 13:12  
Elf
Maniak
 
Użytkownik Elf na Tibia.net.pl

Kod:
apt-get install liblua5.1-sql-sqlite-dev
jak nie zadziała, to:
Kod:
apt-get install liblua5.1-sql-sqlite3-dev
 
20-05-2008, 16:07  
Bywalec

Krok po kroku:

1.
Kod:
# apt-get install liblua5.1-sql-sqlite-dev
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
Uwaga, wybieranie liblua5.1-sql-sqlite3-dev zamiast liblua5.1-sql-sqlite-dev
liblua5.1-sql-sqlite3-dev jest już w najnowszej wersji.

2.
Kod:
/usr/bin/ld: cannot find -llua5.1-sql-sqlite

3.
Kod:
# apt-get install liblua5.1-sql-sqlite3-dev
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
liblua5.1-sql-sqlite3-dev jest już w najnowszej wersji.

4.
Kod:
/usr/bin/ld: cannot find -llua5.1-sql-sqlite
I nic....



EDIT:
Zmieniłem w makefile -llua5.1-sql-sqlite na -llua5.1-sql-sqlite3 i działa.
 
20-05-2008, 16:33  
Elf
Maniak
 
Użytkownik Elf na Tibia.net.pl

To nie ma powiązania.
Wygląda na to, że port jest używany(?).
 
20-05-2008, 21:56  
Bywalec

Witam,
mam drobny problem z kompilacją. Na co dzień zajmuje się programowaniem więc z instalacją bibliotek etc nie miałem problemów ale podczas kompilacji OTSa dostaje błąd, że nie może odnaleźć biblioteki libxml2 (która CHYBA jest zainstalowana! <tak przynajmniej pisze przy próbie jej instalacji>)

Zacznę może od tego, że wg. logu kompilatora szuka go w tym katalogu:
Cytat:
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -Werror -O1 -c account.cpp
Taki katalog u mnie w systemie nie istnieje. Zresztą w pliku Makefile jest to samo w bardziej czytelny sposób:
Cytat:
CFLAGS = -I. -I/usr/include/libxml2 -I/usr/include/lua5.1

LIBLINK = -L/usr/lib -lxml2 -lpthread -llua5.1 -lboost_thread -lgmp -lmysqlclient -lboost_regex -lsqlite3 -llua5.1-sql-mysql -llua5.1-sql-sqlite -ldl -lboost_system
Po drugie komenda
Cytat:
whereis libxml2
zwraca pustą linijkę, co oznacza że nigdzie jej nie ma. Już w sumie nie wiem jak mam to rozumieć.

Może mnie ktoś oświecić co jest nie tak i co muszę zrobić?

[edit]
No tak, najprostsze rozwiązania zawsze są najtrudniejsze. Wystarczyło
Kod PHP:
apt-get install libxml2-dev 
Po jeszcze paru błędach dotarłem do tego:

Kod PHP:
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -Werror -O1 -./TheForgottenServer account.o actions.o admin.o allocator.o baseevents.o beds.o creature.o creatureevent.o chat.o combat.o commands.o condition.o configmanager.o connection.o container.o cylinder.o database.o databasemysql.o databasesqlite.o depot.o exception.o fileloader.o game.o gui.o house.o housetile.o ioban.o ioguild.o iologindata.o iomap.o iomapserialize.o inputbox.o item.o items.o logger.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 player.o playerbox.o position.o protocol.o protocolgame.o protocollogin.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 vocation.o waitlist.o weapons.o  -L/usr/lib -lxml2 -lpthread -llua5.1 -lboost_thread -lgmp -lmysqlclient -lboost_regex -lsqlite3 -llua5.1-sql-mysql -llua5.1-sql-sqlite -ldl -lboost_system
/usr/bin/ldcannot find -lboost_system
collect2
ld returned 1 exit status
make
: *** [theforgottenserverError 1 
Co to za monstrum? x.X
 
21-05-2008, 01:52  
Elf
Maniak
 
Użytkownik Elf na Tibia.net.pl

Krok po kroku jest napisane co zrobić, nie wiem dlaczego nie trzymasz się poradnika.
 
21-05-2008, 16:50  
Bywalec

Czytanie ze zrozumieniem nie boli, gdybyś pofatygował się aby przeczytać co napisałem, zobaczyłbyś że Twój tutorial w moim przypadku na nic się nie zdał ponieważ brakowało bibliotek.

Rozwiązaniem problemu było zainstalowanie libxml2-dev oraz mysqlc++-dev <czy coś w ten deseń, w tej chwili już nie pamiętam>. Co więcej, w najnowszym SVN otsa był błąd składniowy w pliku players.cpp, który musiałem poprawić.
Na sam koniec jeszcze musiałem kombinować z libboost_system [tworząc dowiązanie symboliczne] aby kompilator go wykrył, bo jeszcze raz korzystając z Twojego opisu - tam go nie znajdował.

Pozdrawiam i sugeruję abyś dopisał pakiet libxml2-dev do listy apt-get [wiem, że jest tam libxml++2.6-dev ale nie każdy korzysta akurat z tych repozytoriów które wskazujesz w swoim poście a nie za bardzo miałem ochotę to zmieniać]

Miłego dnia wszystkim.
 
21-05-2008, 18:03  
Elf
Maniak
 
Użytkownik Elf na Tibia.net.pl

Cytat:
Napisał Snowak Zobacz post
Czytanie ze zrozumieniem nie boli, gdybyś pofatygował się aby przeczytać co napisałem, zobaczyłbyś że Twój tutorial w moim przypadku na nic się nie zdał ponieważ brakowało bibliotek.

Rozwiązaniem problemu było zainstalowanie libxml2-dev oraz mysqlc++-dev <czy coś w ten deseń, w tej chwili już nie pamiętam>. Co więcej, w najnowszym SVN otsa był błąd składniowy w pliku players.cpp, który musiałem poprawić.
Na sam koniec jeszcze musiałem kombinować z libboost_system [tworząc dowiązanie symboliczne] aby kompilator go wykrył, bo jeszcze raz korzystając z Twojego opisu - tam go nie znajdował.

Pozdrawiam i sugeruję abyś dopisał pakiet libxml2-dev do listy apt-get [wiem, że jest tam libxml++2.6-dev ale nie każdy korzysta akurat z tych repozytoriów które wskazujesz w swoim poście a nie za bardzo miałem ochotę to zmieniać]

Miłego dnia wszystkim.
Zgłosiłeś błędy nie na temat. Tak, nie na temat, ponieważ tylko częściowo wykorzystałes mój tutorial, a pisałeś, że to w nim jest błąd.
Następnym razem zastanów się co piszesz.
Cytat:
Czy kiedykolwiek zastanawiałeś się jak szybko potrafi działac ots na Linuxie 4gb ram z łączem 100 MBiT? Przekonaj się na własne oczy! Dołącz się na:
refugia.no-ip.eu : 7171
Najszybszy OTS pod słońcem!
Niestety, nie jest najszybszy, brakuje Ci 900Mbps łącza, aby dogonić WypasOTS.
 
21-05-2008, 21:37  
Gaduła
 
Użytkownik Keraxel na Tibia.net.pl

Przypadkiem repozytoria debiana nie działają na ubuntu?
Skompilowałem serwer według poradnika, próbuje otorzyć go i nic... coś robię źle, czy jest źle skompilowany?
BTW. jest jakieś HOWTO o otsie na linuxa?
 
22-05-2008, 04:45  
Elf
Maniak
 
Użytkownik Elf na Tibia.net.pl

Cytat:
Pełna instrukcja kompilacji dla Linux Debian oraz pochodne (np. Ubuntu)
Chyba to mówi samo za siebie.
 


Odpowiedz

Narzędzia tematu
Wygląd

Podobne wątki

Instrukcja obsługi TFS i acc maker by Gęsior - Instrukcja obsługi TFS i acc makera do niego Treść i opracowanie: Hoxaver Spis treści: 1. Wstęp: a) Dlaczego SQL? B) Dlaczego TFS? c) Opis... Hoxaver, Wczoraj Legend of Shinigami - Koder C++, oraz grafik - Poszukuje KODERA C++ oraz grafika. Tematyką serwera jest anime oraz manga Bleach (Bleach.pl). Więcej informacji na los.fsl.pl/start-t1.html. Kontakt... GneX, 28-09-2008 [TFS] Debian, łonczenie - zainstalowałem system operacyjny debian i mam problem nie wiem jak sie z nim połoonczyc a NX nie chce działac :/ Puszkin, 04-09-2008 [TFS] Pomocy ots z windowsa na ubuntu. - Witam, czy jezeli mam silnik pod windowsa moge zrobic jakos tak zeby dzialal na linuxie. ... chodzilo by mi o to zeby nie tracic soruce takich jak... schikell, 28-08-2008 Naruto OTs (Nowon) 8.1 Hoster, Mapper, Grafik, Spriter, Skrypter oraz Webmaster - Dzieńdobry mam małą sprawe co do naruto ots'a poszukuję pare osób do Zespołu są to: Mapper - Poszukuje osobę która zna się na map editorze.... Sarvarex, 12-07-2008


Tibia.net.pl: Poradniki OpenTibia (Poradniki związane ze światem otwartej Tibii)
Temat: [TFS] Pełna instrukcja kompilacji dla Linux Debian oraz pochodne (np. Ubuntu) Z góry dodam, iż jest to mój poradnik - link [...]


[Mapping] Wszystko o drzwiach! - Marszal (12) 22-11-2008 19:26 Poradnik jak zrobić ots by coolrapers [7.6] - coolrapers (12) Wczoraj 22:37 [Mapping] Poprawne wejścia i zejścia! - Marszal (4) 27-11-2008 18:45 no-ip z DUC - MGM (5) 11-11-2008 23:11 Wykrywanie i usuwanie keyloggerów! - Quairon (3) 05-11-2008 11:36 [8.22]Z 8.22 na Tibie 8.3x - Astant (6) 13-11-2008 21:09 Poradnik: jak połączyć dwie mapy w jedną - Thinker (8) 01-12-2008 21:20 Odblokowanie portów na każdym routerze! - Kamil (5) 25-11-2008 19:51 [x.x]konwertowanie mapy na inny protokół - Xart Irok (6) 01-11-2008 21:56 [TFS] Niekończące się runy, amunicja i spelle bez ... - Marszal (5) 29-11-2008 13:41


Czasy w strefie GMT +1. Teraz jest 00:49.




Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.2.0 © 2008, Crawlability, Inc.