[r501] Linux patch

Bugs that have been resolved.

Moderator: Graf Zahl

Locked
Chris
Posts: 29
Joined: Fri Nov 28, 2008 1:18

[r501] Linux patch

Post by Chris »

Here's a patch to fix GZDoom to compile on Linux. However, there was one issue external to GZDoom that I needed to fix. On my system, the default glext.h header was a bit out of date and didn't include a number of typedefs. I switched it out for nVidia's, however it seems to have a bug that doesn't define the prototypes for glMapBufferRange/PFNGLMAPBUFFERRANGEPROC properly (it declares them to return void, not void*). I fixed that on my machine, and it built. I'll report the header problem to nVidia, if no one else has yet.

http://kcat.strangesoft.net/linux.patch (I can't upload it here since it keeps crashing my browser when I try)

When run, I get a bunch of shader warnings/errors:

Code: Select all

(0) : fatal error C9999: Bad scope in ConvertLocalReferences()
One for each shader, it seems. On an earlier revision, everything still looked okay, except the invulnerability effect didn't have an inverted grayscale look.. it was just fullbright. And on the latest revision, there's a bunch of texture problems.. they'll blink in and out, replaced by a flat-shaded grayscale color, or periodically warp badly. I don't know if these are problems on Windows too or not, though.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: [r501] Linux patch

Post by Graf Zahl »

About the compiler error all I can say is to update the driver. I had the same problem on Windows with 185.xx but it went away with 190.62. Looks like a driver bug.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: [r501] Linux patch

Post by Graf Zahl »

Patch applied.
jengelh
Posts: 41
Joined: Sat Jun 24, 2006 10:21
Contact:

Re: [r501] Linux patch

Post by jengelh »

Chris wrote:Here's a patch to fix GZDoom to compile on Linux. However, there was one issue external to GZDoom that I needed to fix. On my system, the default glext.h header was a bit out of date and didn't include a number of typedefs. I switched it out for nVidia's, however it seems to have a bug that doesn't define the prototypes for glMapBufferRange/PFNGLMAPBUFFERRANGEPROC properly (it declares them to return void, not void*). I fixed that on my machine, and it built. I'll report the header problem to nVidia, if no one else has yet.
All you need is Mesa-devel >= 7.3. Since most systems do not use the include files provided by Nvidia (only their libGL.so), there is nothing you need to do w.r.t. nvidia.
(FWIW, the nvidia include files already have the above-mentioned PFNG..PROC as of 185.18.36/173.14.20/96.43.13/71.86.11; perhaps earlier)
jengelh
Posts: 41
Joined: Sat Jun 24, 2006 10:21
Contact:

Re: [r501] Linux patch

Post by jengelh »

While it works on 501, linking on trunk-503 is incomplete again however:

Code: Select all

Linking CXX executable ../gzdoom
CMakeFiles/zdoom.dir/tempfiles.o: In function `FTempFileName::FTempFileName(char const*)':
tempfiles.cpp:(.text+0x73): warning: the use of `tempnam' is dangerous, better use `mkstemp'
CMakeFiles/zdoom.dir/gl/renderer/gl_renderer.o: In function `FGLRenderer::~FGLRenderer()':
gl_renderer.cpp:(.text+0xfbc): undefined reference to `FLightBuffer::~FLightBuffer()'
CMakeFiles/zdoom.dir/gl/renderer/gl_renderer.o: In function `FGLRenderer::~FGLRenderer()':
gl_renderer.cpp:(.text+0x107c): undefined reference to `FLightBuffer::~FLightBuffer()'
CMakeFiles/zdoom.dir/gl/renderer/gl_renderer.o: In function `FGLRenderer::Initialize()':
gl_renderer.cpp:(.text+0x11d0): undefined reference to `FLightBuffer::FLightBuffer()'
CMakeFiles/zdoom.dir/gl/scene/gl_walls.o: In function `GLWall::CollectLights()':
gl_walls.cpp:(.text+0x174): undefined reference to `FLightBuffer::AddLight(ADynamicLight*, bool)'
collect2: ld returned 1 exit status
make[2]: *** [gzdoom] Error 1
Locked

Return to “Closed Bugs”