PDA

View Full Version : Problem Compiling Emusharemem - 0.4.3


morpheus014
05-03-2003, 02:12 PM
Hello all, I am moving my server, the 8th hammer, to a dedicated linux box, which I have recently installed redhat 9 . Anyway, I got to compiling the emu after making sure mysql, etc was all working properly (website up =) and then built the world and zone binary files. Then I got to the emusharemem.dll make and started getting errors. *note: there were warnings in the make of the other binarys but they seemed to have built fine. The errors are as follows (taken from terminal, building as root):make EMuShareMem
cc EMuShareMem.o -o EMuShareMem
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0x18): In function `_start':
../sysdeps/i386/elf/start.S:77: undefined reference to `main'
EMuShareMem.o(.text+0x135): In function `LoadEMuShareMemDLL::Load()':
../common/EMuShareMem.cpp:58: undefined reference to `dlopen'
EMuShareMem.o(.text+0x145):../common/EMuShareMem.cpp:62: undefined reference to `dlerror'
EMuShareMem.o(.text+0x16c):../common/EMuShareMem.cpp:68: undefined reference to `dlsym'
EMuShareMem.o(.text+0x182):../common/EMuShareMem.cpp:69: undefined reference to `dlsym'
EMuShareMem.o(.text+0x198):../common/EMuShareMem.cpp:70: undefined reference to `dlsym'
EMuShareMem.o(.text+0x1ae):../common/EMuShareMem.cpp:71: undefined reference to `dlsym'
EMuShareMem.o(.text+0x1c3):../common/EMuShareMem.cpp:72: undefined reference to `dlsym'
EMuShareMem.o(.text+0x1d9):../common/EMuShareMem.cpp:73: more undefined references to
`dlsym' follow
EMuShareMem.o(.text+0x2fe): In function `LoadEMuShareMemDLL::Load()':
../common/EMuShareMem.cpp:83: undefined reference to `dlerror'
EMuShareMem.o(.text+0x31b):../common/EMuShareMem.cpp:105: undefined reference to `std::cerr'
EMuShareMem.o(.text+0x32c):../common/EMuShareMem.cpp:108: undefined reference to `std::cout'
EMuShareMem.o(.text+0x331):../common/EMuShareMem.cpp:108: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
EMuShareMem.o(.text+0x339):../common/EMuShareMem.cpp:108: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char>
>(std::basic_ostream<char, std::char_traits<char> >&)'
EMuShareMem.o(.text+0x341):../common/EMuShareMem.cpp:108: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
EMuShareMem.o(.text+0x34d):../common/EMuShareMem.cpp:115: undefined reference to `dlerror'
EMuShareMem.o(.text+0x362):../common/EMuShareMem.cpp:117: undefined reference to `std::cout'
EMuShareMem.o(.text+0x367):../common/EMuShareMem.cpp:117: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
EMuShareMem.o(.text+0x37f):../common/EMuShareMem.cpp:119: undefined reference to `std::cout'
EMuShareMem.o(.text+0x384):../common/EMuShareMem.cpp:119: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
EMuShareMem.o(.text+0x38c):../common/EMuShareMem.cpp:119: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char>
>(std::basic_ostream<char, std::char_traits<char> >&)'
EMuShareMem.o(.text+0x394):../common/EMuShareMem.cpp:119: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
EMuShareMem.o(.text+0x425): In function `LoadEMuShareMemDLL::Unload()':
../common/EMuShareMem.cpp:140: undefined reference to `dlclose'
EMuShareMem.o(.text+0x42a):../common/EMuShareMem.cpp:146: undefined reference to `dlerror'
EMuShareMem.o(.text+0x43f):../common/EMuShareMem.cpp:148: undefined reference to `std::cerr'
EMuShareMem.o(.text+0x444):../common/EMuShareMem.cpp:148: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
EMuShareMem.o(.text+0x450):../common/EMuShareMem.cpp:148: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
EMuShareMem.o(.text+0x458):../common/EMuShareMem.cpp:148: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char>
>(std::basic_ostream<char, std::char_traits<char> >&)'
EMuShareMem.o(.text+0x460):../common/EMuShareMem.cpp:148: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
EMuShareMem.o(.text+0x49d): In function `__static_initialization_and_destruction_0':
/usr/include/c++/3.2.2/iostream:63: undefined reference to `std::ios_base::Init::Init[in-charge]()'
EMuShareMem.o(.text+0x50a): In function `__tcf_0':
/usr/include/c++/3.2.2/iostream:63: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
EMuShareMem.o(.eh_frame+0x11):../common/EMuShareMem.cpp:28: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
make: *** [EMuShareMem] Error 1


I am still pretty new to linux so if anyone knows what is wrong here that would be a huge help to me =)[/code]

kathgar
05-04-2003, 12:57 AM
You shouldn't be making a dll for linux, I think you tried to make the windows set .. but its been a while since I compiled on *nix so I dunno

morpheus014
05-04-2003, 02:34 AM
Hmm, I may be wrong but I thought that the dll was needed on both win32 and linux to run the server, I started the world binary without it and got:
./world
Using database 'eq' at localhost
[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.3
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.3
Loading Variables, zone names & items...
LoadEMuShareMemDLL::Load() failed error=M???
Error: Could not load item data

(i think the item errors are due to my empty DB)
*edit* filled in my DB with telmets items etc, still get Error: Could not load item data, so it must be related to the Dll

Trumpcard
05-04-2003, 09:27 AM
when you make in the sharemem directory, you should end up with libsharemem.so , which has to be in your LD_LIBRARY_PATH

Make sure you compile it , and put it in there somewhere, I use a world / zone startscript that sets LD_LIB_PATH= .;$LD_LIB_PATH

Bigpull
05-07-2003, 10:14 AM
make EMuShareMem
cc EMuShareMem.o -o EMuShareMem


You don't have the makefile, atleast don't have the correct make file.