• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Compiling Using "make" TFS 0.4 Debian 7.6

oen432

Legendary OT User
Joined
Oct 3, 2014
Messages
2,189
Solutions
56
Reaction score
2,662
Location
Poland
GitHub
Oen44
Hello,

I'm using this tutorial to create TFS server on Debian.
http://otland.net/threads/nothing-t...t-how-to-configure-a-dedicated-server.207051/

After uploading source files and using "make" command, i'm getting this error:

Code:
[ 1%] Building CXX object CMakeFiles/tfs.dir/src/baseevents.cpp.o
In file included from /root/forgottenserver/src/baseevents.cpp:17:0:
/root/forgottenserver/src/otpch.h:28:30: fatal error: libxml/xmlmemory.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/tfs.dir/src/baseevents.cpp.o] Error 1
make[1]: *** [CMakeFiles/tfs.dir/all] Error 2
make: *** [all] Error 2

xmlmemory.h is in /usr/include/libxml2/libxml
 
Like I said before, you have to skip the compiling part from that tutorial and follow these steps:

1.
apt-get install build-essential libxml2-dev libxml++2.6-dev liblua5.1-0-dev libboost-all-dev libmysql++-dev libgmp3-dev liblua5.1-sql-mysql-dev zlib1g-dev dh-autoreconf
2.
sh autogen.sh
3.
./configure --enable-mysql
4.
make

before executing these commands use make clean to clear whatever you did before with cmake
 
Code:
root@Debian-7:~/forgottenserver/src# make clean
make: *** No rule to make target `clean'.  Stop.
How to clean this?

After using sh autogen.sh
Code:
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
autoreconf: Leaving directory `.'

After using ./configure --enable-mysql
Code:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for uint8_t... yes
checking for ptrdiff_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for working memcmp... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for ceil... yes
checking for floor... yes
checking for ftime... yes
checking for gethostbyname... yes
checking for gethostname... yes
checking for memset... yes
checking for pow... yes
checking for sqrt... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strstr... yes
checking for strtol... yes
checking for xml2-config... /usr/bin/xml2-config
checking for libxml - version >= 2.6.5... yes (version 2.8.0)
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for main in -lz... yes
checking for main in -lboost_thread-gcc-mt... no
checking for main in -lboost_thread-mt... yes
checking for main in -lboost_regex-gcc-mt... no
checking for main in -lboost_regex-mt... yes
checking for main in -lboost_system-gcc-mt... no
checking for main in -lboost_system-mt... yes
checking for main in -lboost_date_time-gcc-mt... no
checking for main in -lboost_date_time-mt... yes
checking for main in -lboost_filesystem-gcc-mt... no
checking for main in -lboost_filesystem-mt... yes
checking boost/tr1/unordered_set.hpp usability... yes
checking boost/tr1/unordered_set.hpp presence... yes
checking for boost/tr1/unordered_set.hpp... yes
checking cryptopp/sha.h usability... yes
checking cryptopp/sha.h presence... yes
checking for cryptopp/sha.h... yes
checking cryptopp/md5.h usability... yes
checking cryptopp/md5.h presence... yes
checking for cryptopp/md5.h... yes
checking cryptopp/adler32.h usability... yes
checking cryptopp/adler32.h presence... yes
checking for cryptopp/adler32.h... yes
checking cryptopp/hex.h usability... yes
checking cryptopp/hex.h presence... yes
checking for cryptopp/hex.h... yes
checking cryptopp/base64.h usability... yes
checking cryptopp/base64.h presence... yes
checking for cryptopp/base64.h... yes
checking cryptopp/hmac.h usability... yes
checking cryptopp/hmac.h presence... yes
checking for cryptopp/hmac.h... yes
checking cryptopp/cryptlib.h usability... yes
checking cryptopp/cryptlib.h presence... yes
checking for cryptopp/cryptlib.h... yes
checking for main in -lcryptopp... yes
checking openssl/rsa.h usability... yes
checking openssl/rsa.h presence... yes
checking for openssl/rsa.h... yes
checking openssl/bn.h usability... yes
checking openssl/bn.h presence... yes
checking for openssl/bn.h... yes
checking openssl/err.h usability... yes
checking openssl/err.h presence... yes
checking for openssl/err.h... yes
checking for main in -lcrypto... yes
checking for LUA... no
checking lua.hpp usability... no
checking lua.hpp presence... no
checking for lua.hpp... no
configure: error: "Lua header not found."

And after make
Code:
make: *** No targets specified and no makefile found.  Stop.
 
Last edited:
Code:
cd src && make linux
make[1]: Entering directory `/home/cloudsigma/lua-5.1.4/src'
make all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
make[2]: Entering directory `/home/cloudsigma/lua-5.1.4/src'
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lapi.o lapi.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lcode.o lcode.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o ldebug.o ldebug.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o ldo.o ldo.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o ldump.o ldump.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lfunc.o lfunc.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lgc.o lgc.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o llex.o llex.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lmem.o lmem.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lobject.o lobject.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lopcodes.o lopcodes.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lparser.o lparser.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lstate.o lstate.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lstring.o lstring.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o ltable.o ltable.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o ltm.o ltm.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lundump.o lundump.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lvm.o lvm.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lzio.o lzio.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lauxlib.o lauxlib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lbaselib.o lbaselib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o ldblib.o ldblib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o liolib.o liolib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lmathlib.o lmathlib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o loslib.o loslib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o ltablib.o ltablib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lstrlib.o lstrlib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o loadlib.o loadlib.c
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o linit.o linit.c
ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o
ranlib liblua.a
gcc -O2 -Wall -DLUA_USE_LINUX  -c -o lua.o lua.c
gcc -o lua  lua.o liblua.a -lm -Wl,-E -ldl -lreadline -lhistory -lncurses
/usr/bin/ld: cannot find -lncurses
collect2: error: ld returned 1 exit status
make[2]: *** [code=lua] Error 1
make[2]: Leaving directory `/home/cloudsigma/lua-5.1.4/src'
make[1]: *** [linux] Error 2
make[1]: Leaving directory `/home/cloudsigma/lua-5.1.4/src'
make: *** [linux] Error 2

./configure same error
Code:
configure: error: "Lua header not found."
 
I have little problems with this:
Code:
luascript.cpp:5157:3: error: ‘displayError’ was not declared in this scope
But i'm removing every displayError from luascript.cpp

@Edit
Looks like it helped, no more errors.

@Edit2
make -j 4
Code:
g++ -I/usr/include/libxml2  -O2 -fomit-frame-pointer -D__USE_MYSQL__  -D_THREAD_SAFE -D_REENTRANT -Wall -Wextra -Wno-strict-aliasing -Wno-unused-parameter -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  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 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  -lmysqlclient -llua -lcrypto -lcryptopp -lboost_filesystem-mt -lboost_date_time-mt -lboost_system-mt -lboost_regex-mt -lboost_thread-mt -lz  -L/usr/lib -lxml2
make[1]: Leaving directory `/root/forgottenserver'
 
Last edited:
Code:
> Broadcasted message: "Game map cleaned, next clean in 2 hours.".
> Broadcasted message: "Full server save within 120 seconds, please mind it may freeze!".
> Broadcasted message: "Full server save within 120 seconds, please mind it may freeze!".
> Broadcasted message: "Full server save within 120 seconds, please mind it may freeze!".
> Broadcasted message: "Full server save within 120 seconds, please mind it may freeze!".
> Broadcasted message: "Full server save within 120 seconds, please mind it may freeze!".
> Broadcasted message: "Full server save within 120 seconds, please mind it may freeze!".
> Broadcasted message: "Game map cleaning within 30 seconds, please pick up your items!".
> Broadcasted message: "Full server save within 120 seconds, please mind it may freeze!".
> Broadcasted message: "Full server save within 120 seconds, please mind it may freeze!".
[17:9:44.881] > CLEAN: Removed 0 items from 0 tiles (0 were marked) in 0 seconds.
> Broadcasted message: "Game map cleaned, next clean in 2 hours.".
How to fix this spam?
 
Last edited:
Back
Top