|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support::Linux Servers Support forum for Linux EQEMu users. |
|
|
|
10-09-2006, 09:31 PM
|
Hill Giant
|
|
Join Date: Jul 2006
Posts: 166
|
|
Patch for compiling EQEmu with gcc 4.1
After looking a bit closer into the matter and getting enlightened by two collegues it turned out to be much more trivial then I thought it was.
Here is a patch against 0.7.0-857. It also includes some changes to the Makefiles I discussed in the Linux Guide.
Code:
--- EQEmu-0.7.0-857/Makefile 2006-10-07 07:22:52.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/Makefile 2006-10-10 08:55:04.084514500 +0000
@@ -8,4 +8,2 @@
$(MAKE) -C utils
- $(MAKE) -C eqemucollector
- $(MAKE) -C eqextractor
@@ -35,4 +33,2 @@
$(MAKE) -C eqlaunch clean
- $(MAKE) -C eqemucollector clean
- $(MAKE) -C eqextractor clean
--- EQEmu-0.7.0-857/common/EQStream.h 2006-05-13 02:35:58.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/common/EQStream.h 2006-10-10 08:44:27.344720750 +0000
@@ -225,3 +225,3 @@
inline const EQStreamType GetStreamType() const { return StreamType; }
- static const char *EQStream::StreamTypeString(EQStreamType t);
+ static const char *StreamTypeString(EQStreamType t);
EQEmu-0.7.0-857-gcc4.1/common/rulesys.h
--- EQEmu-0.7.0-857/common/rulesys.h 2006-07-18 13:29:49.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/common/rulesys.h 2006-10-10 08:53:56.692302750 +0000
@@ -85,3 +85,3 @@
- RuleManager::RuleManager();
+ RuleManager();
EQEmu-0.7.0-857-gcc4.1/eqlaunch/makefile
--- EQEmu-0.7.0-857/eqlaunch/makefile 2006-04-17 13:59:13.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/eqlaunch/makefile 2006-10-10 09:13:33.993879500 +0000
@@ -13,3 +13,3 @@
MYSQL_FLAGS=-I/usr/include/mysql
-MYSQL_LIB=-L/usr/include/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv
+MYSQL_LIB=-L/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv
DFLAGS=-DEQDEBUG=5
--- EQEmu-0.7.0-857/utils/Makefile 2006-01-15 18:31:18.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/utils/Makefile 2006-10-10 08:34:57.997138750 +0000
@@ -2,3 +2,3 @@
all: cleanipc spell_explorer
- gmake -C azone
+ make -C azone
@@ -12,3 +12,3 @@
rm -f cleanipc
- gmake -C azone clean
+ make -C azone clean
EQEmu-0.7.0-857-gcc4.1/zone/PlayerCorpse.h
--- EQEmu-0.7.0-857/zone/PlayerCorpse.h 2006-07-09 19:50:57.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/zone/PlayerCorpse.h 2006-10-10 08:51:00.289278250 +0000
@@ -31,10 +31,10 @@
public:
- static void Corpse::SendEndLootErrorPacket(Client* client);
- static void Corpse::SendLootReqErrorPacket(Client* client, int8 response = 2);
- static Corpse* Corpse::LoadFromDBData(int32 in_corpseid, int32 in_charid, char* in_charname, uchar* in_data, int32 in_datasize, float in_x, float in_y, float in_z, float in_heading, char* timeofdeath, bool rezzed = false);
-
- Corpse::Corpse(NPC* in_npc, ItemList* in_itemlist, int32 in_npctypeid, const NPCType** in_npctypedata, int32 in_decaytime = 600000);
- Corpse::Corpse(Client* client, sint32 in_rezexp);
- Corpse::Corpse(int32 in_corpseid, int32 in_charid, char* in_charname, ItemList* in_itemlist, int32 in_copper, int32 in_silver,
int32 in_gold, int32 in_plat, float in_x, float in_y, float in_z, float in_heading, float in_size, int8 in_gender, int16 in_race, int8
in_class, int8 in_deity, int8 in_level, int8 in_texture, int8 in_helmtexture,int32 in_rezexp);
- Corpse::~Corpse();
+ static void SendEndLootErrorPacket(Client* client);
+ static void SendLootReqErrorPacket(Client* client, int8 response = 2);
+ static Corpse* LoadFromDBData(int32 in_corpseid, int32 in_charid, char* in_charname, uchar* in_data, int32 in_datasize, float in_x, float in_y, float in_z, float in_heading, char* timeofdeath, bool rezzed = false);
+
+ Corpse(NPC* in_npc, ItemList* in_itemlist, int32 in_npctypeid, const NPCType** in_npctypedata, int32 in_decaytime = 600000);
+ Corpse(Client* client, sint32 in_rezexp);
+ Corpse(int32 in_corpseid, int32 in_charid, char* in_charname, ItemList* in_itemlist, int32 in_copper, int32 in_silver, int32 in_gold, int32 in_plat, float in_x, float in_y, float in_z, float in_heading, float in_size, int8 in_gender, int16 in_race, int8 in_class, int8 in_deity, int8 in_level, int8 in_texture, int8 in_helmtexture,int32 in_rezexp);
+ ~Corpse();
--- EQEmu-0.7.0-857/zone/beacon.h 2006-07-09 19:50:57.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/zone/beacon.h 2006-10-10 08:49:32.515792750 +0000
@@ -29,4 +29,4 @@
public:
- Beacon::Beacon(Mob *at_mob, int lifetime);
- Beacon::~Beacon();
+ Beacon(Mob *at_mob, int lifetime);
+ ~Beacon();
--- EQEmu-0.7.0-857/zone/makefile 2006-03-03 04:21:24.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/zone/makefile 2006-10-10 09:12:27.273709750 +0000
@@ -13,3 +13,3 @@
MYSQL_FLAGS=-I/usr/include/mysql
-MYSQL_LIB=-L/usr/include/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv
+MYSQL_LIB=-L/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv
DFLAGS=-DEQDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -DFIELD_ITEMS -DCOMBINED -DAPP_OPCODE_SIZE=2 -Di386
--- EQEmu-0.7.0-857/zone/map.h 2005-09-09 04:54:36.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/zone/map.h 2006-10-10 08:49:49.312842500 +0000
@@ -112,3 +112,3 @@
public:
- static Map* Map::LoadMapfile(const char* in_zonename, const char *directory = NULL);
+ static Map* LoadMapfile(const char* in_zonename, const char *directory = NULL);
Map();
--- EQEmu-0.7.0-857/zone/net.h 2004-12-21 17:02:43.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/zone/net.h 2006-10-10 08:50:09.986134500 +0000
@@ -39,4 +39,4 @@
public:
- NetConnection::~NetConnection();
- NetConnection::NetConnection();
+ ~NetConnection();
+ NetConnection();
--- EQEmu-0.7.0-857/zone/zone.h 2006-10-03 03:13:21.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/zone/zone.h 2006-10-10 08:51:30.035137250 +0000
@@ -69,4 +69,4 @@
public:
- static bool Zone::Bootup(int32 iZoneID, bool iStaticZone = false);
- static void Zone::Shutdown(bool quite = false);
+ static bool Bootup(int32 iZoneID, bool iStaticZone = false);
+ static void Shutdown(bool quite = false);
Unfortunately this patch might not apply cleanly due to the snap&paste into here. I have no Webspace right now for a direct download.
Last edited by eq4me; 10-10-2006 at 06:21 AM..
|
|
|
|
10-10-2006, 01:47 AM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
This would so kick ass if I do not have to re-install yet another Linux just to get an old gcc to work. Thank you, eq4me. I'll host the file for you if you PM it to me.
Looks clean at first glance, though (copy/paste into a notepad doc). No extra spaces, which I think is what you're talking about.
|
10-10-2006, 02:16 AM
|
Hill Giant
|
|
Join Date: Jul 2006
Posts: 166
|
|
Quote:
Originally Posted by John Adams
I'll host the file for you if you PM it to me..
|
Unfortunately you can't attach a file to a PM, I would have to snap&paste it into the message.
You could do the changes manually if the patch does not apply and diff again.
The commandline would be
Code:
diff -N -u1 -r <orig-src-dir> <modified-src-dir> >EQEmu-gcc-4.1.patch
I would recommend doing this with a newly untared archive as the compiling, even after a `make clean`, does leave some files which you dont want to clutter your patch with.
Last edited by eq4me; 10-10-2006 at 10:41 AM..
|
10-10-2006, 05:37 AM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
Ok I'll check that out when I get home. I need to learn this Diff stuff anyway.
|
10-13-2006, 06:10 PM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
I am having the worst luck with this. Replacing the lines manually worked perfectly. I can compile and run my world on Linux no problem. Even made a few tweaks to make sure I was really getting it done right.
However, I cannot get this patch above to apply no matter what I do. Even taking just one simple thing (Makefile) and trying to patch gives me an error, thinking it's already been patched and wanting to -R it... but the file still has the extra MAKEs in it, so it's not already patched.
And, I was able to do the diff to re-make the patch the other night perfectly - following your diff example above (except on my Fedora, it says -u1 is obsolete and to use -u 1). Now, tonight, out of nowhere, I cannot even Diff anymore. Now it says my second dir is an extra operand lol... I give up.
Need sleep. I'll try again tomorrow.
|
10-13-2006, 07:19 PM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
Stupid edit button. I knew as soon as I cried and whined like a noob, I'd fix it. I finally got the Diff to work again (upper-case U, not lower case u oops).
Here's a link to the diff file for anyone interested in what eq4me did above. I tested it on a virgin 070-857 tar and got no errors so I think it's formatted right.
http://members.cox.net/raahvinmt/fil...57-gcc41.patch
(btw, it's tomorrow...)
|
|
|
|
12-27-2006, 02:14 PM
|
Fire Beetle
|
|
Join Date: Dec 2006
Posts: 2
|
|
I was making an attempt to get the installation done under Suse 10.0. gcc 4.1. I had to modify each make file in one place from <errmsg.h> to "errmsg.h". It was not finding the header.
Once I got it to find the mysql*.h files and the libmysqlclient file, I got down to cleanipc error.
I figgure I was stuck, too new gcc and mysql and installed Suse 9.1 to roll back a bit.
It made just fine with no links to mysql or changes to the make files ( EQEmu-0.7.0-940 ) but it halted in the same place - cleanipc.
I mention it in hopes it helps someone else.
I also ask for help on what to do next. I saw a message to do g++ cleanipc.cpp -o cleanipc, which I did. Truthfully, what to do with all the peices in what fashion next is too scattered to find. 'Secially on 24k dial-up.
EQ4ME's wiki shows to copy the exe over to the server folder, what else do you do? Do I go for the data bases? Copy the files from the EQ game installation over ( to where ) is there a better file structure set up and server launch sequence please?
Thanks
Kumado
|
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 01:22 AM.
|
|
|
|
|
|
|
|
|
|
|
|
|