Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 119347 - games-action/d1x-20040118 fixes (gcc4, amd64 support)
Summary: games-action/d1x-20040118 fixes (gcc4, amd64 support)
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Games
URL: http://d1x.warpcore.org/
Whiteboard:
Keywords:
Depends on:
Blocks: 117482
  Show dependency tree
 
Reported: 2006-01-17 15:54 UTC by Robert Führicht
Modified: 2007-01-09 18:39 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
20040118-r1.patch (20040118-r1.patch,1.12 KB, patch)
2006-01-17 15:59 UTC, Robert Führicht
Details | Diff
d1x-cflags.patch (d1x-cflags.patch,524 bytes, patch)
2006-01-17 15:59 UTC, Robert Führicht
Details | Diff
d1x-gcc4.patch (d1x-gcc4.patch,363 bytes, patch)
2006-01-17 16:00 UTC, Robert Führicht
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Führicht 2006-01-17 15:54:30 UTC
I tried to compile d1x with gcc 4.0.2 on amd64, and it failed. So I created the following fixes to make this work. I don't know if I did it the proper way, but this works for me (tm)
Comment 1 Robert Führicht 2006-01-17 15:59:19 UTC
Created attachment 77382 [details, diff]
20040118-r1.patch

d1x-20040118.ebuild -> d1x-20040118-r1.ebuild

Changes:
 - Uses multilib.eclass to safely compile d1x as a 32bit binary
 - Patches d1x's makefiles to make use of custom CFLAGS (d1x-cflags.patch)
 - Fixes a small gcc4 compilation error (d1x-gcc4.patch)
Comment 2 Robert Führicht 2006-01-17 15:59:48 UTC
Created attachment 77383 [details, diff]
d1x-cflags.patch
Comment 3 Robert Führicht 2006-01-17 16:00:04 UTC
Created attachment 77384 [details, diff]
d1x-gcc4.patch
Comment 4 Marcelo Goes (RETIRED) gentoo-dev 2006-01-17 16:41:36 UTC
Was that an "invalid lvalue in increment" error?

If it were, you don't have to assign it to new variable, you just can't increment stuff at the same time you're assigning stuff.

That is, something like

*(((int *)p)) = j;
p += sizeof(int);

would be a cleaner fix.

Otherwise, I'm just talking out of my ass and you should ignore me.
Comment 5 Robert Führicht 2006-01-18 01:37:59 UTC
Thanks, I'll use this. As my C knowledge is limited, I tried something that was guaranteed to work, sorry. 

Someone in the forums suggested to use yasm instead of nasm, which allows producing 64 Bit assamblies. This seemed to work with d2x (i.e. it linked without warnings) but I did not test that yet.
Comment 6 Chris Gianelloni (RETIRED) gentoo-dev 2006-08-23 16:34:06 UTC
So... this stuff works or no?
Comment 7 Chris Gianelloni (RETIRED) gentoo-dev 2006-10-13 09:38:59 UTC
Any word on this?  I'd like to get this fixed soon in the tree, as I want to mask all of the games packages that fail with GCC 4.1 and don't have fixes coming.

Thanks
Comment 8 Paul Bredbury 2006-11-09 12:40:35 UTC
The successor of this package is d1x-rebirth (bug #154590).
Comment 9 Chris Gianelloni (RETIRED) gentoo-dev 2007-01-09 00:26:17 UTC
So is this a correct patch?  Is it worth fixing?
Comment 10 Paul Bredbury 2007-01-09 00:54:43 UTC
(In reply to comment #9)
> Is it worth fixing?

No, it's dead upstream for about 6 years. Use d1x-rebirth.
Comment 11 Chris Gianelloni (RETIRED) gentoo-dev 2007-01-09 18:39:28 UTC
OK... this has been masked for removal, since d1x-rebirth is in the tree now and works great (at least for me).