Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 10-01-2014, 04:44 PM
amraist
Fire Beetle
 
Join Date: Aug 2005
Posts: 29
Default

I've managed to get it compiled with clang and perl.

There are a lot of patches that need to be in place for it to actually run though. There's a difference in the way gcc and clang process function arguments(basically they are reversed, left to right vs right to left).

For example the line is fine with GCC, but creates a segfault when compiled with clang:
Code:
if (RunQuery(query, MakeAnyLenString(&query, "SELECT count(slot) from aa_effects where aaid=%i", skill_id), errbuf, &result)) {
Code needs to be rewritten as follows
Code:
uint32 len_query = MakeAnyLenString(&query, "SELECT count(slot) from aa_effects where aaid=%i", skill_id);
if (RunQuery(query, len_query, errbuf, &result)) {
According to the c++ spec, the compiler is allowed to determine the order of parameter resolution.

As far as what I did to get Perl working correctly, I don't remember at this point, but I remember fighting with it, so I'm pretty sure I have that worked out. It's just been a while since I got it all working last. Might be just a simple change to the cmake files.

I can share my work if there is any interest.
Reply With Quote
  #2  
Old 10-01-2014, 06:44 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Thanks for bringing that to my attention, we're slowly phasing out that style of query anyway at least.

Fixing perl appears to be needing to either update to a newer version or actually modifying the perl headers in some key spots to add spaces between identifiers.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:40 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3