The purpose of this document is to help people that may have installed mysql RPM's directly from MySql's site. Trying to do a make on EMuShareMem will generate the following error:
	Quote:
	
	
		
			
				EMuShareMem]# make  
gcc -g -shared -Wl,-soname,libEMuShareMem.so -o libEMuShareMem.so MMFMutex.o Doors.o Items.o Spells.o NPCTypes.o NPCFactionLists.o MMF.o Loot.o ../common/timer.o ../common/unix.o ../common/EMuShareMem.o -L. -lstdc++ -lm -lz `mysql_config --libs`  
/usr/bin/ld: cannot find -lmysqlclient  
collect2: ld returned 1 exit status  
make: *** [libEMuShareMem.so] Error 1
			
		 | 
	
	
 
This is caused by incorrect RPM install path in MySql's RPM file (not pointing to the right location of mysqlclient). Below is a NEW makefile that will fix your problem. You can copy and paste this into your EMuShareMem makefile and do a regular make (NOTE:If this still does not work for you, check your mysql directories and make the change in the makefile accordingly):
	Quote:
	
	
		
			
				APP=libEMuShareMem.so 
SF=MMFMutex.o Doors.o Items.o Spells.o NPCTypes.o NPCFactionLists.o MMF.o Loot.o ../common/timer.o ../common/unix.o ../common/EMuShareMem.o 
 
CC=gcc 
LD=ld 
DFLAGS=-DDEBUG=1 -DSHAREMEM -DCATCH_CRASH 
WFLAGS=-Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wno-deprecated -Wnested-externs -Wcomment -Wcast-align 
OPTS=$(WFLAGS) $(DFLAGS) -g -fPIC -O2 -D_GNU_SOURCE -DINVERSEXY -DFX `/usr/bin/mysql_config --cflags` -DEMUSHAREMEM  
LINKOPTS=-L. -lstdc++ -lm -lz -L/usr/lib/mysql -L/usr/local/mysql/lib -lmysqlclient -ldl  
 
 
 
 
 
all: $(APP) 
 
	 
 
$(APP): $(SF) 
	$(CC) -g -shared -Wl,-soname,$(APP) -o $(APP) $(SF) $(LINKOPTS) 
 
clean: 
	rm -f $(SF) $(APP) 
 
%.o: %.cpp 
	$(CC) $(COPTS) -c $< -o $@ 
 
.obj/debug.o: ../common/debug.h ../common/debug.cpp 
	mkdir -p .obj 
	$(CC) $(COPTS) -c ../common/debug.cpp -o .obj/debug.o 
 
			
		 | 
	
	
 
I hope this works for you. Please post here if you have any questions or comments or just want to date me.
The Acolyte
ADDENDUM:
If you get the following error when loading world:
	Quote:
	
	
		
			
				[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.4  
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.4  
Loading Variables, zone names & items...  
LoadEMuShareMemDLL::Load() failed to load library error=Error: Could not load item data. But ignoring  
...done.  
LoginServer.ini read.  
Loading guild ranks...done.  
Loading EQ time of day...failed.  
Deleted 0 stale player corpses from database.  
Deleted -1 stale player backups from database.  
Breaking linux compiles....  
TCP listening on: xxx.xxx.xxx.xxx:9000  
World server listening on: xxx.xxx.xxx.xxx:9000  
Connected to LoginServer: eqlogin2.eqemu.net:5999  
Login server responded with FatalError. Disabling reconnect.  
Error message: 'Bad server name. Unknown reason.'  
xxx.xxx.xxx.xxx:5999: TCPConnection::SendData(): send(): Errorcode: Broken pipe
			
		 | 
	
	
 Put EQEmuShareMem.so into /usr/lib 
Also take note of: 
	Quote:
	
	
		| 
			
				Error message: 'Bad server name. Unknown reason.'
			
		 | 
	
	
 You can't use the word SERVER in your Servername, nor can it be 4? charachters or less.