PtokaX forum

PtokaX => Support => Topic started by: navatwo on 02 October, 2012, 18:44:41

Title: Compiling on GNU/Linux Ubuntu 12.04
Post by: navatwo on 02 October, 2012, 18:44:41
Hello,

So I stumbled upon PtokaX instead of Verlihub, and liked what I found (it's actually active).

I'm having troubles compiling it on a fresh install of Ubuntu 12.04.

I have followed the Wiki page here (http://wiki.ptokax.org/doku.php/settingup/compile_and_setting_debian_bugbuntu), but still have errors in compiling.

I have also compiled lua from source, and the static library is in /usr/local/lib/liblua.a.

My errors are:
/home/kevin/PtokaX/obj/LuaTmrManLib.o: In function `RegTmrMan(lua_State*)':
/home/kevin/PtokaX/core/LuaTmrManLib.cpp:266: undefined reference to `luaL_register'
/home/kevin/PtokaX/obj/LuaUDPDbgLib.o: In function `Reg':
/home/kevin/PtokaX/core/LuaUDPDbgLib.cpp:78: undefined reference to `lua_tonumber'
/home/kevin/PtokaX/obj/LuaUDPDbgLib.o: In function `RegUDPDbg(lua_State*)':
/home/kevin/PtokaX/core/LuaUDPDbgLib.cpp:166: undefined reference to `luaL_register'
/home/kevin/PtokaX/obj/PtokaX.o: In function `main':
/home/kevin/PtokaX/core/PtokaX-nix.cpp:191: undefined reference to `pthread_sigmask'
/home/kevin/PtokaX/obj/RegThread.o: In function `RegThread::Resume()':
/home/kevin/PtokaX/core/RegThread.cpp:318: undefined reference to `pthread_create'
/home/kevin/PtokaX/obj/RegThread.o: In function `RegThread::WaitFor()':
/home/kevin/PtokaX/core/RegThread.cpp:481: undefined reference to `pthread_join'
/home/kevin/PtokaX/obj/ServerManager.o: In function `ServerInitialize()':
/home/kevin/PtokaX/obj/LuaTmrManLib.o: In function `RegTmrMan(lua_State*)':
/home/kevin/PtokaX/core/LuaTmrManLib.cpp:266: undefined reference to `luaL_register'
/home/kevin/PtokaX/obj/LuaUDPDbgLib.o: In function `Reg':
/home/kevin/PtokaX/core/LuaUDPDbgLib.cpp:78: undefined reference to `lua_tonumber'
/home/kevin/PtokaX/obj/LuaUDPDbgLib.o: In function `RegUDPDbg(lua_State*)':
/home/kevin/PtokaX/core/LuaUDPDbgLib.cpp:166: undefined reference to `luaL_register'
/home/kevin/PtokaX/obj/PtokaX.o: In function `main':
/home/kevin/PtokaX/core/PtokaX-nix.cpp:191: undefined reference to `pthread_sigmask'
/home/kevin/PtokaX/obj/RegThread.o: In function `RegThread::Resume()':
/home/kevin/PtokaX/core/RegThread.cpp:318: undefined reference to `pthread_create'
/home/kevin/PtokaX/obj/RegThread.o: In function `RegThread::WaitFor()':
/home/kevin/PtokaX/core/RegThread.cpp:481: undefined reference to `pthread_join'
/home/kevin/PtokaX/obj/ServerManager.o: In function `ServerInitialize()':
/home/kevin/PtokaX/core/ServerManager.cpp:473: undefined reference to `timer_create'
/home/kevin/PtokaX/core/ServerManager.cpp:485: undefined reference to `timer_create'
/home/kevin/PtokaX/obj/ServerManager.o: In function `ServerStart()':
/home/kevin/PtokaX/core/ServerManager.cpp:506: undefined reference to `timer_settime'
/home/kevin/PtokaX/core/ServerManager.cpp:784: undefined reference to `timer_settime'
/home/kevin/PtokaX/obj/ServerManager.o: In function `ServerFinalClose()':
/home/kevin/PtokaX/core/ServerManager.cpp:972: undefined reference to `timer_delete'
/home/kevin/PtokaX/core/ServerManager.cpp:973: undefined reference to `timer_delete'
/home/kevin/PtokaX/obj/ServerManager.o: In function `ServerStop()':
/home/kevin/PtokaX/core/ServerManager.cpp:809: undefined reference to `timer_settime'
/home/kevin/PtokaX/core/ServerManager.cpp:839: undefined reference to `timer_settime'
/home/kevin/PtokaX/obj/ServerManager.o: In function `ServerUpdateAutoRegState()':
/home/kevin/PtokaX/core/ServerManager.cpp:1175: undefined reference to `timer_settime'
/home/kevin/PtokaX/core/ServerManager.cpp:1192: undefined reference to `timer_settime'
/home/kevin/PtokaX/obj/ServerThread.o: In function `ServerThread::Resume()':
/home/kevin/PtokaX/core/ServerThread.cpp:117: undefined reference to `pthread_create'
/home/kevin/PtokaX/obj/ServerThread.o: In function `ServerThread::WaitFor()':
/home/kevin/PtokaX/core/ServerThread.cpp:256: undefined reference to `pthread_join'
/home/kevin/PtokaX/obj/UDPThread.o: In function `UDPRecvThread::Resume()':
/home/kevin/PtokaX/core/UDPThread.cpp:139: undefined reference to `pthread_create'
/home/kevin/PtokaX/obj/UDPThread.o: In function `UDPRecvThread::WaitFor()':
/home/kevin/PtokaX/core/UDPThread.cpp:195: undefined reference to `pthread_join'
/home/kevin/PtokaX/obj/ZlibUtility.o: In function `clsZlibUtility::CreateZPipe(char const*, unsigned long const&, unsigned int&)':/home/kevin/PtokaX/core/ZlibUtility.cpp:120: undefined reference to `deflateInit_'
/home/kevin/PtokaX/core/ZlibUtility.cpp:129: undefined reference to `deflate'/home/kevin/PtokaX/core/ZlibUtility.cpp:130: undefined reference to `deflateEnd'
/home/kevin/PtokaX/core/ZlibUtility.cpp:139: undefined reference to `deflateEnd'/home/kevin/PtokaX/obj/ZlibUtility.o: In function `clsZlibUtility::CreateZPipe(char*, unsigned long const&, char*, unsigned long&, unsigned long&)':/home/kevin/PtokaX/core/ZlibUtility.cpp:192: undefined reference to `deflateInit_'/home/kevin/PtokaX/core/ZlibUtility.cpp:201: undefined reference to `deflate'
/home/kevin/PtokaX/core/ZlibUtility.cpp:202: undefined reference to `deflateEnd'/home/kevin/PtokaX/core/ZlibUtility.cpp:210: undefined reference to `deflateEnd'
/home/kevin/PtokaX/obj/ZlibUtility.o: In function `clsZlibUtility::CreateZPipe(char*, unsigned int const&, char*, unsigned int&, unsigned int&, unsigned int)':
/home/kevin/PtokaX/core/ZlibUtility.cpp:288: undefined reference to `deflateInit_'
/home/kevin/PtokaX/core/ZlibUtility.cpp:297: undefined reference to `deflate'
/home/kevin/PtokaX/core/ZlibUtility.cpp:298: undefined reference to `deflateEnd'
/home/kevin/PtokaX/core/ZlibUtility.cpp:306: undefined reference to `deflateEnd'
/usr/local/lib/liblua.a(loadlib.o): In function `ll_loadfunc':
loadlib.c:(.text+0x7d0): undefined reference to `dlsym'
loadlib.c:(.text+0x836): undefined reference to `dlopen'
loadlib.c:(.text+0x8b1): undefined reference to `dlerror'
loadlib.c:(.text+0x8d1): undefined reference to `dlerror'
/usr/local/lib/liblua.a(loadlib.o): In function `gctm':
loadlib.c:(.text+0xba0): undefined reference to `dlclose'
collect2: ld returned 1 exit status
make: *** [PtokaX] Error 1


This would mean that `ld` can't find the resources, but I can not seem to figure out why. I have double checked that LD_LIBRARY_PATH is set properly:
$ echo $LD_LIBRARY_PATH
:/usr/local/lib:/usr/lib


My make file is as follows:
#*******************************************************************************
#
# Makefile for PtokaX.
#
#*******************************************************************************

#*******************************************************************************
# Compiler
#*******************************************************************************
CXX = g++

#*******************************************************************************
# Debug flags
#*******************************************************************************
#CXXFLAGS = -g -Wall -Wextra

#*******************************************************************************
# Release flags
#*******************************************************************************
CXXFLAGS = -O -g -Wall -Wextra

#*******************************************************************************
# Include
#*******************************************************************************
INCLUDE = -Itinyxml -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/pkg/include -I/usr/include/lua -I/usr/include/lua/5.1

#*******************************************************************************
# Binary to create
#
# Lua in Debian is lua5.1. Other known names are lua-5.1, lua51 and lua.
# If you have Lua lib with another name than lua5.1 change it in -llua5.1.
#
# In case when you don't have Lua as dynamic library (in debian liblua5.1.so)
# but as static library (liblua.a default when you compile Lua from sources)
# then remove -llua5.1 and after tinyxml/tinyxml.a add /usr/local/lib/liblua.a (default path when is Lua compiled from sources).
#*******************************************************************************
LIBS = -ldl -lpthread -lz -lrt -L$(CURDIR)/obj/

PtokaX: $(CURDIR)/obj/ClientTagManager.o $(CURDIR)/obj/colUsers.o $(CURDIR)/obj/DcCommands.o $(CURDIR)/obj/DeFlood.o $(CURDIR)/obj/eventqueue.o $(CURDIR)/obj/globalQueue.o $(CURDIR)/obj/hashBanManager.o $(CURDIR)/obj/hashUsrManager.o \
  $(CURDIR)/obj/hashRegManager.o $(CURDIR)/obj/HubCommands.o $(CURDIR)/obj/IP2Country.o $(CURDIR)/obj/LanguageManager.o $(CURDIR)/obj/LuaBanManLib.o $(CURDIR)/obj/LuaCoreLib.o $(CURDIR)/obj/LuaIP2CountryLib.o $(CURDIR)/obj/LuaProfManLib.
o \
  $(CURDIR)/obj/LuaRegManLib.o $(CURDIR)/obj/LuaScript.o $(CURDIR)/obj/LuaScriptManager.o $(CURDIR)/obj/LuaScriptManLib.o $(CURDIR)/obj/LuaSetManLib.o $(CURDIR)/obj/LuaTmrManLib.o $(CURDIR)/obj/LuaUDPDbgLib.o $(CURDIR)/obj/ProfileManager
.o \
  $(CURDIR)/obj/PtokaX.o $(CURDIR)/obj/pxstring.o $(CURDIR)/obj/RegThread.o $(CURDIR)/obj/ResNickManager.o $(CURDIR)/obj/ServerManager.o $(CURDIR)/obj/ServerThread.o $(CURDIR)/obj/serviceLoop.o $(CURDIR)/obj/SettingManager.o \
  $(CURDIR)/obj/TextFileManager.o $(CURDIR)/obj/UdpDebug.o $(CURDIR)/obj/UDPThread.o $(CURDIR)/obj/User.o $(CURDIR)/obj/utility.o $(CURDIR)/obj/ZlibUtility.o
        $(CXX) $(LIBS) -o PtokaX \
        $(CURDIR)/obj/ClientTagManager.o $(CURDIR)/obj/colUsers.o $(CURDIR)/obj/DcCommands.o $(CURDIR)/obj/DeFlood.o $(CURDIR)/obj/eventqueue.o $(CURDIR)/obj/globalQueue.o $(CURDIR)/obj/hashBanManager.o $(CURDIR)/obj/hashUsrManager.o \
        $(CURDIR)/obj/hashRegManager.o $(CURDIR)/obj/HubCommands.o $(CURDIR)/obj/IP2Country.o $(CURDIR)/obj/LanguageManager.o $(CURDIR)/obj/LuaBanManLib.o $(CURDIR)/obj/LuaCoreLib.o $(CURDIR)/obj/LuaIP2CountryLib.o \
        $(CURDIR)/obj/LuaProfManLib.o $(CURDIR)/obj/LuaRegManLib.o $(CURDIR)/obj/LuaScript.o $(CURDIR)/obj/LuaScriptManager.o $(CURDIR)/obj/LuaScriptManLib.o $(CURDIR)/obj/LuaSetManLib.o $(CURDIR)/obj/LuaTmrManLib.o \
        $(CURDIR)/obj/LuaUDPDbgLib.o $(CURDIR)/obj/ProfileManager.o $(CURDIR)/obj/PtokaX.o $(CURDIR)/obj/pxstring.o $(CURDIR)/obj/RegThread.o $(CURDIR)/obj/ResNickManager.o $(CURDIR)/obj/ServerManager.o $(CURDIR)/obj/ServerThread.o \
        $(CURDIR)/obj/serviceLoop.o $(CURDIR)/obj/SettingManager.o $(CURDIR)/obj/TextFileManager.o $(CURDIR)/obj/UdpDebug.o $(CURDIR)/obj/UDPThread.o $(CURDIR)/obj/User.o $(CURDIR)/obj/utility.o $(CURDIR)/obj/ZlibUtility.o \
        $(CURDIR)/tinyxml/tinyxml.a /usr/local/lib/liblua.a

#*******************************************************************************# Files to compile
#*******************************************************************************
## SNIP


I've cut some parts out that were not changed from the stock makefile shipped.

Any help is appreciated here.
Title: Re: Compiling on GNU/Linux Ubuntu 12.04
Post by: PPK on 06 October, 2012, 14:38:12
http://forum.ptokax.org/index.php?topic=8924.0  ::)