Icon of Sin / Baphomet
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > 64 bit linux?
 
Author
All times are GMT. The time now is 23:21. Post New Thread    Post A Reply
exp(x)


Posts: 2595
Registered: 04-04


I tried to compile revision 421 on 64-bit linux, but got the following:
code:
gcc -DPACKAGE_NAME=\"eternity\" -DPACKAGE_TARNAME=\"eternity\" -DPACKAGE_VERSION=\"3.33.50\" -DPACKAGE_STRING=\"eternity\ 3.33.50\" -DPACKAGE_BUGREPORT=\"haleyjd@hotmail.com\" -DPACKAGE=\"eternity\" -DVERSION=\"3.33.50\" -I. -I/usr/include/SDL -I/usr/local/include/SDL -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -Wall -D_SDL_VER -DNDEBUG -DAMX_NODYNALOAD -DR_LINKEDPORTALS -DR_PORTALS -DOVER_UNDER -DPOLYOBJECTS -D_CONSOLE -DLINUX -lSDL_net -g -O2 -MT m_misc.o -MD -MP -MF .deps/m_misc.Tpo -c -o m_misc.o m_misc.c m_misc.c:142: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:143: error: initializer element is not constant m_misc.c:143: error: (near initialization for ‘defaults[2].defaultvalue’) m_misc.c:313: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:313: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:327: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:551: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:552: error: initializer element is not constant m_misc.c:552: error: (near initialization for ‘defaults[56].defaultvalue’) m_misc.c:559: error: initializer element is not constant m_misc.c:559: error: (near initialization for ‘defaults[57].defaultvalue’) m_misc.c:565: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:566: error: initializer element is not constant m_misc.c:566: error: (near initialization for ‘defaults[58].defaultvalue’) m_misc.c:573: error: initializer element is not constant m_misc.c:573: error: (near initialization for ‘defaults[59].defaultvalue’) m_misc.c:580: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:581: error: initializer element is not constant m_misc.c:581: error: (near initialization for ‘defaults[60].defaultvalue’) m_misc.c:588: error: initializer element is not constant m_misc.c:588: error: (near initialization for ‘defaults[61].defaultvalue’) m_misc.c:922: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:923: error: initializer element is not constant m_misc.c:923: error: (near initialization for ‘defaults[106].defaultvalue’) m_misc.c:930: error: initializer element is not constant m_misc.c:930: error: (near initialization for ‘defaults[107].defaultvalue’) m_misc.c:937: error: initializer element is not constant m_misc.c:937: error: (near initialization for ‘defaults[108].defaultvalue’) m_misc.c:944: error: initializer element is not constant m_misc.c:944: error: (near initialization for ‘defaults[109].defaultvalue’) m_misc.c:951: error: initializer element is not constant m_misc.c:951: error: (near initialization for ‘defaults[110].defaultvalue’) m_misc.c:958: error: initializer element is not constant m_misc.c:958: error: (near initialization for ‘defaults[111].defaultvalue’) m_misc.c:965: error: initializer element is not constant m_misc.c:965: error: (near initialization for ‘defaults[112].defaultvalue’) m_misc.c:972: error: initializer element is not constant m_misc.c:972: error: (near initialization for ‘defaults[113].defaultvalue’) m_misc.c:979: error: initializer element is not constant m_misc.c:979: error: (near initialization for ‘defaults[114].defaultvalue’) m_misc.c:986: error: initializer element is not constant m_misc.c:986: error: (near initialization for ‘defaults[115].defaultvalue’) m_misc.c:1247: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:1254: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:1571: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:1585: warning: dereferencing type-punned pointer will break strict-aliasing rules m_misc.c:1586: error: initializer element is not constant m_misc.c:1586: error: (near initialization for ‘defaults[199].defaultvalue’) m_misc.c: In function ‘default_hash’: m_misc.c:1651: warning: division by zero m_misc.c: In function ‘M_SaveDefaults’: m_misc.c:1751: warning: cast to pointer from integer of different size m_misc.c:1776: warning: cast to pointer from integer of different size m_misc.c: In function ‘M_LoadDefaults’: m_misc.c:1950: warning: cast to pointer from integer of different size m_misc.c:1950: warning: cast from pointer to integer of different size make[2]: *** [m_misc.o] Error 1 make[2]: Leaving directory `/opt/eternity/source' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/eternity/source' make: *** [all-recursive] Error 1

Old Post 03-09-08 03:32 #
exp(x) is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 6088
Registered: 08-00


EE has not been ported to 64-bit so even if you get it to compile I would not expect it to work. The Doom codebase has serious problems with making data-type size assumptions. If short is not 16-bit, int is not 32-bit, and unsigned long is not 32-bit, most of the engine will stop working. Unfortunately most C compilers have chosen to promote long to a 64-bit type.

The only way to remedy this is to change ALL variables in the program to use C99 portably-sized data types. As you can imagine, that will be quite an undertaking.

Also, EE must be compiled with -fno-strict-aliasing for all GNU compiler targets. Doom has always relied on the ability to alias structure pointers and will continue to do so in order to achieve pseudo-polymorphism. GNU guys need to learn how to support strict aliasing and allow structure pointer casting at the same time IMO.

Old Post 03-10-08 21:37 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
exp(x)


Posts: 2595
Registered: 04-04


:(

Oh well, I was able to compile 32-bit, and it works fine.

Last edited by exp(x) on 03-11-08 at 00:12

Old Post 03-11-08 00:01 #
exp(x) is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
sgtcrispy
Forum Regular


Posts: 792
Registered: 06-00



Quasar said:
EE has not been ported to 64-bit so even if you get it to compile I would not expect it to work.


Crap....
/me tries Wine....

Old Post 01-17-09 01:28 #
sgtcrispy is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
exp(x)


Posts: 2595
Registered: 04-04



sgtcrispy said:
Crap....
/me tries Wine....


Heh, it's not hard to set up your distro to compile and run 32-bit binaries. Using wine is silly.

Old Post 01-17-09 03:49 #
exp(x) is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
sgtcrispy
Forum Regular


Posts: 792
Registered: 06-00



exp(x) said:

Heh, it's not hard to set up your distro to compile and run 32-bit binaries. Using wine is silly.



True, but it worked! Better than I thought actually.

Meh anyways...
/me goes back to Cave Story.

Old Post 01-17-09 03:53 #
sgtcrispy is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 23:21. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > 64 bit linux?

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum 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
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.