• 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 [Linux] Ultimate compile guide for Debian (Ubuntu included)

When I'm using command

Code:
make

I get this one:

Code:
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -Werror -O1 -c admin.cpp
In file included from /usr/include/c++/4.3/ext/hash_map:64,
                 from definitions.h:151,
                 from otpch.h:10,
                 from admin.cpp:20:
/usr/include/c++/4.3/backward/backward_warning.h:32:2: error: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
make: *** [admin.o] Error 1

Can someone tell me what is wrong?
 
When I'm using command

Code:
make

I get this one:

Code:
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -Werror -O1 -c admin.cpp
In file included from /usr/include/c++/4.3/ext/hash_map:64,
                 from definitions.h:151,
                 from otpch.h:10,
                 from admin.cpp:20:
/usr/include/c++/4.3/backward/backward_warning.h:32:2: error: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
make: *** [admin.o] Error 1

Can someone tell me what is wrong?

I got the same problem but instead of admin.cpp i got account.cpp
 
when running g++ i get the following errors

Code:
In file included from error_code.cpp:26:
/usr/local/include/boost/system/error_code.hpp:149: error: expected class-name before ‘{’ token
/usr/local/include/boost/system/error_code.hpp:192: error: ‘enable_if’ in namespace ‘boost’ does not name a type
/usr/local/include/boost/system/error_code.hpp:192: error: expected ‘,’ or ‘...’ before ‘<’ token
/usr/local/include/boost/system/error_code.hpp:206: error: ‘enable_if’ in namespace ‘boost’ does not name a type
/usr/local/include/boost/system/error_code.hpp:206: error: expected unqualified-id before ‘<’ token
/usr/local/include/boost/system/error_code.hpp:279: error: ‘enable_if’ in namespace ‘boost’ does not name a type
/usr/local/include/boost/system/error_code.hpp:279: error: expected ‘,’ or ‘...’ before ‘<’ token
/usr/local/include/boost/system/error_code.hpp:292: error: ‘enable_if’ in namespace ‘boost’ does not name a type
/usr/local/include/boost/system/error_code.hpp:292: error: expected unqualified-id before ‘<’ token
 
I've got the same problem of another guy
Code:
SE_MYSQL__ -D__USE_SQLITE__ -Werror -O1 -o ./TheForgottenServer account.o actions.o admin.o allocator.o ban.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 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/ld: cannot find -llua5.1-sql-sqlite
collect2: ld returned 1 exit status
make: ** [theforgottenserver] Error 1
I really don't know how to solve it :x

Yours Tprocheira
 

I really don't know how to solve it :x

If you're going to use MySQL, open Makefile and remove
Code:
-llua5.1-sql-sqlite
from there. I tested it with MySQL and that runs fine. Haven't tested with SqLite but I don't think that will work..
 
I've got the same problem of another guy
Code:
SE_MYSQL__ -D__USE_SQLITE__ -Werror -O1 -o ./TheForgottenServer account.o actions.o admin.o allocator.o ban.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 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/ld: cannot find -llua5.1-sql-sqlite
collect2: ld returned 1 exit status
make: ** [theforgottenserver] Error 1
I really don't know how to solve it :x

Yours Tprocheira


http://otland.net/showpost.php?p=68772&postcount=4

i had the same problem, and evidently your distro is using too knew of libraries so just remove the newer ones and manually install the ones that work, hope it helps
 
revision 1030 is the last revision that can be compiled with this tutorial, any later revision gives boost errors. Rev 1038:
Code:
In file included from scheduler.h:29,
                 from game.h:35,
                 from actions.cpp:26:
tasks.h:75: error: condition_variable in namespace boost does not name a type
In file included from game.h:35,
                 from actions.cpp:26:
scheduler.h:42: error: system_time in namespace boost does not name a type
scheduler.h:56: error: system_time in namespace boost does not name a type
scheduler.h: In member function bool SchedulerTask::operator<(const SchedulerTask&) const:
scheduler.h:46: error: getCycle was not declared in this scope
scheduler.h:46: error: const class SchedulerTask has no member named getCycle
scheduler.h: In constructor SchedulerTask::SchedulerTask(uint32_t, boost::function<void ()(), std::allocator<void> >):
scheduler.h:52: error: m_cycle was not declared in this scope
scheduler.h:52: error: get_system_time is not a member of boost
scheduler.h:52: error: boost::posix_time has not been declared
scheduler.h: At global scope:
scheduler.h:101: error: condition_variable in namespace boost does not name a type
make: *** [actions.o] Error 1

It compiles fine under windows, though.
 
PHP:
vicusek:~# apt-get install lua5.1 liblua5.1-0 liblua5.1-0-dev libboost-dev libboost-regex-dev libboost-thread-dev libmysql++-dev libgmp3-dev  libxml2 libxml2-dev libxml++2.6-dev subversion autoconf automake make g++
Reading package lists... Done
Building dependency tree... Done
make is already the newest version.
g++ is already the newest version.
The following extra packages will be installed:
  libapr1 libaprutil1 libboost-regex1.33.1 libboost-thread1.33.1 libexpat1
  libglib2.0-0 libglib2.0-dev libglibmm-2.4-1c2a libglibmm-2.4-dev libgmp3c2
  libgmpxx4 libicu36 libicu36-dev libmysql++2c2a libmysqlclient15-dev
  libmysqlclient15off libncurses5-dev libneon26 libpq4 libreadline5-dev
  libsigc++-2.0-dev libsqlite3-0 libsvn1 libxml++2.6-2 mysql-common perl
  perl-modules pkg-config
Suggested packages:
  autoconf2.13 autobook autoconf-archive gnu-standards autoconf-doc
  automake1.10-doc libboost-doc libboost-date-time-dev libboost-filesystem-dev
  libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev
  libboost-python-dev libboost-serialization-dev libboost-signals-dev
  libboost-test-dev libboost-wave-dev libglib2.0-doc libgtkmm-2.4-dev
  libgtkmm-2.4-doc libgmp3-doc libmpfr-dev icu-doc libsigc++-2.0-doc
  libxml++2.6-doc libterm-readline-gnu-perl libterm-readline-perl-perl
  libgnome-dev subversion-tools db4.4-util patch
Recommended packages:
  automaken libglib2.0-data xml-core perl-doc
The following NEW packages will be installed:
  autoconf automake libapr1 libaprutil1 libboost-dev libboost-regex-dev
  libboost-regex1.33.1 libboost-thread-dev libboost-thread1.33.1 libexpat1
  libglib2.0-0 libglib2.0-dev libglibmm-2.4-1c2a libglibmm-2.4-dev libgmp3-dev
  libgmp3c2 libgmpxx4 libicu36 libicu36-dev liblua5.1-0 liblua5.1-0-dev
  libmysql++-dev libmysql++2c2a libmysqlclient15-dev libmysqlclient15off
  libncurses5-dev libneon26 libpq4 libreadline5-dev libsigc++-2.0-dev
  libsqlite3-0 libsvn1 libxml++2.6-2 libxml++2.6-dev libxml2 libxml2-dev
  lua5.1 mysql-common perl perl-modules pkg-config subversion
0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded.
Need to get 42.2MB of archives.
After unpacking 153MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://ftp.pl.debian.org stable/main perl-modules 5.8.8-7etch3 [2314kB]
Err http://security.debian.org stable/updates/main libxml2 2.6.27.dfsg-4       
  404 Not Found [IP: 128.31.0.36 80]
Err http://security.debian.org stable/updates/main libxml2-dev 2.6.27.dfsg-4   
  404 Not Found [IP: 128.31.0.36 80]
Get:2 http://ftp.pl.debian.org stable/main perl 5.8.8-7etch3 [3584kB]
Get:3 http://ftp.pl.debian.org stable/main autoconf 2.61-4 [448kB]
Get:4 http://ftp.pl.debian.org stable/main automake 1:1.10+nogfdl-1 [369kB]
Get:5 http://ftp.pl.debian.org stable/main libapr1 1.2.7-8.2 [109kB]
Get:6 http://ftp.pl.debian.org stable/main libexpat1 1.95.8-3.4 [62.9kB]
Get:7 http://ftp.pl.debian.org stable/main libpq4 8.1.11-0etch1 [277kB]
Get:8 http://ftp.pl.debian.org stable/main libsqlite3-0 3.3.8-1.1 [194kB]
Get:9 http://ftp.pl.debian.org stable/main libaprutil1 1.2.7+dfsg-2 [68.5kB]
Get:10 http://ftp.pl.debian.org stable/main libboost-dev 1.33.1-10 [1657kB]
Get:11 http://ftp.pl.debian.org stable/main libicu36 3.6-2etch1 [5469kB]
Get:12 http://ftp.pl.debian.org stable/main libboost-regex1.33.1 1.33.1-10 [546kB]
Get:13 http://ftp.pl.debian.org stable/main libicu36-dev 3.6-2etch1 [6466kB]   
Get:14 http://ftp.pl.debian.org stable/main libboost-regex-dev 1.33.1-10 [1073kB]
Get:15 http://ftp.pl.debian.org stable/main libboost-thread1.33.1 1.33.1-10 [33.1kB]
Get:16 http://ftp.pl.debian.org stable/main libboost-thread-dev 1.33.1-10 [40.5kB]
Get:17 http://ftp.pl.debian.org stable/main libglib2.0-0 2.12.4-2 [504kB]      
Get:18 http://ftp.pl.debian.org stable/main pkg-config 0.21-1 [67.5kB]         
Get:19 http://ftp.pl.debian.org stable/main libglib2.0-dev 2.12.4-2 [540kB]    
Get:20 http://ftp.pl.debian.org stable/main libglibmm-2.4-1c2a 2.12.0-1 [133kB]
Get:21 http://ftp.pl.debian.org stable/main libsigc++-2.0-dev 2.0.17-2 [141kB] 
Get:22 http://ftp.pl.debian.org stable/main libglibmm-2.4-dev 2.12.0-1 [1097kB]
Get:23 http://ftp.pl.debian.org stable/main libgmp3c2 2:4.2.1+dfsg-4 [430kB]   
Get:24 http://ftp.pl.debian.org stable/main libgmpxx4 2:4.2.1+dfsg-4 [217kB]   
Get:25 http://ftp.pl.debian.org stable/main libgmp3-dev 2:4.2.1+dfsg-4 [511kB] 
Get:26 http://ftp.pl.debian.org stable/main liblua5.1-0 5.1.1-2 [77.2kB]       
Get:27 http://ftp.pl.debian.org stable/main libncurses5-dev 5.5-5 [1396kB]     
Get:28 http://ftp.pl.debian.org stable/main libreadline5-dev 5.2-2 [221kB]     
Get:29 http://ftp.pl.debian.org stable/main liblua5.1-0-dev 5.1.1-2 [103kB]    
Get:30 http://ftp.pl.debian.org stable/main mysql-common 5.0.32-7etch6 [54.2kB]
Get:31 http://ftp.pl.debian.org stable/main libmysqlclient15off 5.0.32-7etch6 [1792kB]
Get:32 http://ftp.pl.debian.org stable/main libmysql++2c2a 2.0.7-3 [109kB]     
Get:33 http://ftp.pl.debian.org stable/main libmysqlclient15-dev 5.0.32-7etch6 [6959kB]
Get:34 http://ftp.pl.debian.org stable/main libmysql++-dev 2.0.7-3 [1712kB]    
Get:35 http://ftp.pl.debian.org stable/main libneon26 0.26.2-4 [119kB]         
Get:36 http://ftp.pl.debian.org stable/main libsvn1 1.4.2dfsg1-2 [593kB]       
Get:37 http://ftp.pl.debian.org stable/main libxml++2.6-2 2.14.0-0.1 [64.0kB]  
Get:38 http://ftp.pl.debian.org stable/main libxml++2.6-dev 2.14.0-0.1 [93.1kB]
Get:39 http://ftp.pl.debian.org stable/main lua5.1 5.1.1-2 [123kB]             
Get:40 http://ftp.pl.debian.org stable/main subversion 1.4.2dfsg1-2 [1027kB]   
Fetched 40.8MB in 18s (2167kB/s)                                               
Failed to fetch http://security.debian.org/pool/updates/main/libx/libxml2/libxml2_2.6.27.dfsg-4_i386.deb  404 Not Found [IP: 128.31.0.36 80]
Failed to fetch http://security.debian.org/pool/updates/main/libx/libxml2/libxml2-dev_2.6.27.dfsg-4_i386.deb  404 Not Found [IP: 128.31.0.36 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
 
so i can use database from lampp ? or not ? because when i want to use it it shows me error var/run/mysqld/mysqld.sock'(111) what's that?
 
Last edited:
xxx:~/tfs# ./theforgottenserver

./theforgottenserver: error while loading shared libraries: libboost_system.so.1: cannot open shared object file: No such file or directory
When I compiling the server there aren't any problems. How can i fix it? (i compile the library two times)
 
@Victor

shared libraries:
You are installed the libraries? (all libboost)

cannot open shared object file:
The server do not was compilled correcty.

If you are compiling the TFS 0.3a3pl1, have instructions on file "README".

Past your make compillation code.
 
Btw, don't try to compile TFS 0.3~, for me, it doesn't work, try using 0.2.19, it worked perfectly (MySQL only...).

Tprocheira
 
I'm scared to rent a dedicated server because I don't know if I will succeed compiling it to Debian.. I'm using TFS Alpha 0.4.. will this really work because I don't wanna "guess" and lose 250€ for a dedicated server from leaseweb.
 
Yeah same here, going to rent a dedicated server with Ubuntu, hopefully it will work. (don't really know anything about Linux)
 
Man it takes awsomely long time to compile on my computer. btw change two things in the tutorial
Code:
svn co http://forgottenserver.svn.sourceforge.net/svnroot/forgottenserver/forgottenserver/tags/0.2
Should now be
Code:
svn co http://svn.otland.net/public/forgottenserver/tags/0.2pl20/
and
Code:
mv 0.2 forgottenserver
Should now be
Code:
mv 0.2pl20 forgottenserver
There you go ;)
 
Last edited:
Back
Top