Trying to compile GZDoom with Linux

Advanced OpenGL source port fork from ZDoom, picking up where ZDoomGL left off.
[Home] [Download] [Git builds (Win)] [Git builds (Mac)] [Wiki] [Repo] [Bugs&Suggestions]

Moderator: Graf Zahl

asdf
Posts: 1
Joined: Wed Oct 24, 2007 20:18

Post by asdf »

[spoiler]ZDoom v1.0.27 - 2.1.7xx - SVN revision 553 - SDL version
Compiled on Oct 23 2007

M_LoadDefaults: Load system defaults.
W_Init: Init WADfiles.
adding /home/abzde/gzdoom/gzdoom.pk3
adding /home/abzde//.gzdoom/doom2.wad (2956 lumps)
I_Init: Setting up machine state.
CPU Speed: ~0.051052 MHz
CPU Vendor ID: GenuineIntel
Name: Mobile Intel(R) Celeron(R) CPU 2.20GHzU 2.20GHz
Family 15, Model 2, Stepping 9
Features: MMX SSE SSE2
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
P_Init: Checking cmd-line parameters...
G_ParseMapInfo: Load map definitions.
S_InitData: Load sound definitions.
LoadDecorations: Load external actors.
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init miscellaneous info.
P_Init: Init Playloop state.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
Segmentation fault (core dumped)[/spoiler]

so, it compiles right and all (with the previous patch applied.) but when i run it, it gets to "player 1 of 1 (1 nodes)" and sits there for about... 5 minutes, and then segfaults...

anyone else have this problem/a solution to it?
User avatar
Daniele C.
Posts: 54
Joined: Sun Oct 21, 2007 23:24
Location: Roma

Post by Daniele C. »

asdf wrote:[spoiler]ZDoom v1.0.27 - 2.1.7xx - SVN revision 553 - SDL version
Compiled on Oct 23 2007

M_LoadDefaults: Load system defaults.
W_Init: Init WADfiles.
adding /home/abzde/gzdoom/gzdoom.pk3
adding /home/abzde//.gzdoom/doom2.wad (2956 lumps)
I_Init: Setting up machine state.
CPU Speed: ~0.051052 MHz
CPU Vendor ID: GenuineIntel
Name: Mobile Intel(R) Celeron(R) CPU 2.20GHzU 2.20GHz
Family 15, Model 2, Stepping 9
Features: MMX SSE SSE2
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
P_Init: Checking cmd-line parameters...
G_ParseMapInfo: Load map definitions.
S_InitData: Load sound definitions.
LoadDecorations: Load external actors.
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init miscellaneous info.
P_Init: Init Playloop state.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
Segmentation fault (core dumped)[/spoiler]

so, it compiles right and all (with the previous patch applied.) but when i run it, it gets to "player 1 of 1 (1 nodes)" and sits there for about... 5 minutes, and then segfaults...

anyone else have this problem/a solution to it?
When I use the -net 1 other-player mode I also am not able to connect to the other players (and I am giving the correct parameters), didnt wait so long to see any segfault.

But when I use the -join and -host I get also problems with netplaying: it lags after a few minutes (I have tried all possible combinations of parameters and GZDoom config, must be something relative to memory garbage) or otherwise it also segfaults.

I will post more details later - seems like there is still a dangerous bug preventing GZDoom to run correctly under Linux.
User avatar
Daniele C.
Posts: 54
Joined: Sun Oct 21, 2007 23:24
Location: Roma

Post by Daniele C. »

Network playing works fine with a LAN cable, while I can't play more than a few minutes when using a router.

In both cases there are huge lags, particularly when using the LAN cable (the message "out of sync with 2" never disappears), however I only get crashes (even in single player mode) when not using -nomusic
Hatta
Posts: 2
Joined: Sun Nov 11, 2007 17:30

Post by Hatta »

So I got GZDoom-Source-1-0-27.7z, extracted it, and applied the patch linux_gzdoom-v1.0.27L.patch. When I compile it I get this error:
g++ -c -pipe -Wall -Wno-unused `pkg-config gtk+-2.0 --cflags` -DHAVE_FILELENGTH -D__forceinline=inline `sdl-config --cflags` -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DNEED_STRUPR -Isrc/ -Isrc/g_doom/ -Isrc/g_heretic/ -Isrc/g_hexen/ -Isrc/g_raven/ -Isrc/g_shared/ -Isrc/g_strife/ -Isrc/oplsynth/ -Isrc/sound/ -Isrc/fragglescript/ -Isrc/thingdef/ -Isrc/Linux/ -Isrc/sdl/ -Isrc/gl/ -Isrc/gl/r_render/ -Isrc/textures/ -DUSEASM=1 -DNDEBUG -o releaseobj/gfxfuncs.o -c src/gl/gfxfuncs.cpp
In file included from src/gl/gl_pch.h:78,
from src/gl/gfxfuncs.cpp:1:
src/gl/platform.h:26:1: warning: "stricmp" redefined
<command-line>: warning: this is the location of the previous definition
In file included from src/gl/gfxfuncs.cpp:1:
src/gl/gl_pch.h:110:7: warning: no newline at end of file
src/gl/gfxfuncs.cpp: In function ‘PalEntry averageColor(const long unsigned int*, int, bool)’:
src/gl/gfxfuncs.cpp:161: error: ‘max’ was not declared in this scope
src/gl/gfxfuncs.cpp:161: error: ‘max’ was not declared in this scope
src/gl/gfxfuncs.cpp:161: error: declaration of ‘<typeprefixerror>max’
src/gl/gfxfuncs.cpp:161: error: conflicts with previous declaration ‘<typeprefixerror>max’
make[1]: *** [releaseobj/gfxfuncs.o] Error 1
make[1]: Leaving directory `/home/hatta/games/gzdoom'
make: *** [deps] Error 2
Any ideas?
Hatta
Posts: 2
Joined: Sun Nov 11, 2007 17:30

Post by Hatta »

I tracked down the #define for max(); and put it in src/gl/gfxfuncs.cpp. This allowed GZdoom to compile and run (with -nomusic). I played through the first level of Doom2 all right, but there were some serious rendering errors after I got to the second level.

Funny, on a second play through the first couple levels of Doom2 everything rendered fine. Beautiful work guys! I'll be looking forward to music support when it arrives.
stevenaaus
Posts: 35
Joined: Fri Sep 21, 2007 2:09
Location: Australia
Contact:

GRAF, Asdf, Hatta

Post by stevenaaus »

@ GRAF

This code is probably busted somehow (and my diff is a bit wonky) but it works for me. Could we include
something like this to check for colour depth:

Code: Select all

--- i_main.cpp.orig     2007-11-17 19:58:47.000000000 +1000
+++ i_main.cpp  2007-11-17 19:52:03.000000000 +1000
@@ -204,6 +204,13 @@
}
atterm (SDL_Quit);

+const SDL_VideoInfo *i = SDL_GetVideoInfo();
+
+if ((i->vfmt)->BytesPerPixel != 4) {
+  fprintf (stderr, "GZDoom requires 32 bit colour (try 'startx -- :1 -depth 24')\n");
+  exit (1);
+}
+

SDL_WM_SetCaption (GAMESIG " " DOTVERSIONSTR " (" __DATE__ ")", NULL);
Sorry i can't test out Daniele's comments about net code. No network!

----------------------------------------

@ Asdf :

> so, it compiles right and all (with the previous patch applied.) but
> when i run it, it gets to "player 1 of 1 (1 nodes)" and sits there for about.
> 5 minutes, and then segfaults...

You need to run your X server in 24bpp depth - See above.

----------------------------------------

@ Hatta

> Beautiful work guys! I'll be looking forward to music support when it arrives

Music works great when all the libs, and probably timidity, are installed correctly. Good luck getting it together ;>
stevenaaus
Posts: 35
Joined: Fri Sep 21, 2007 2:09
Location: Australia
Contact:

24bpp

Post by stevenaaus »

I realised my above code is in the wrong place. GZDoom can still be played in 16bpp depth ~if~ GL is disabled (vis the menus or ini file). So the above test should be either:
1. placed on SDL OpenGL init or somewhere else, or
2. not kill program, just issue a warning
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

.29 wasn't work for me without fixing so I made another patch. I didn't add the color depth check.
This patch contains Daniele's fixes for the makefile, working ccdv for filtering compilers output and "no newline in the end of file" fixes; some unix-specific defines were moved to platform.h
Attachments
patch29.zip
Patch for GZDoom 1.0.29
(10.25 KiB) Downloaded 151 times
stevenaaus
Posts: 35
Joined: Fri Sep 21, 2007 2:09
Location: Australia
Contact:

Post by stevenaaus »

Sorry Costja.. above comments were for you, not Graf. ... Forgot who's doing the coding..

I just finished Torment and Torture. Not too bad ;> That 4th episode should have been left out though - the boss was just shit-house.
User avatar
Boingo the Clown
Posts: 102
Joined: Sat Dec 03, 2005 17:40
Location: North of New York, West of Montreal, East of Toronto, and South of Hell
Contact:

Post by Boingo the Clown »

Sorry to jump in like this, but this is a lengthy thread, and I am too lazy to read it all.

Has anyone had any success compiling GZDooM for Linux yet?
suacy
Posts: 5
Joined: Thu Oct 11, 2007 1:49

Post by suacy »

Hi, gzdoom 1.029 with the above patch crashes for me during startup.
I'm using Ubuntu 7.10 with the open-source radeon drivers.
Here's the crash log. I'll recompile with symbols and see if that sheds any more light on it. Thanks for your help guys, especially Costja.

[spoiler]

Code: Select all

*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x4

System: Linux cybie 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux
GCC version: 4.1.3

GZDoom version 1.0.29 - 2.1.7xx (r563M) (Nov 29 2007)

Command line: ./gzdoom -iwad ../../zdoom/doom2.wad -nosound

Wad 0: gzdoom.pk3
Wad 1: doom2.wad

Not in a level.

Executing: gdb --quiet --batch --command=gdb-respfile-gQtG1u --pid=9086
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1224549904 (LWP 9086)]
[New Thread -1226024048 (LWP 9087)]
0xffffe410 in __kernel_vsyscall ()

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1224549904 (LWP 9086)]
0x08246543 in GLShader::Bind ()

* Loaded Libraries
From        To          Syms Read   Shared Object Library
0xb7ed4cd0  0xb7edad04  Yes         /usr/lib/libFLAC++.so.6
0xb7e8c170  0xb7ec4cb4  Yes         /usr/lib/libFLAC.so.8
0xb7e6e910  0xb7e7c104  Yes         /usr/lib/libz.so.1
0xb7decae0  0xb7e2cc49  Yes         /usr/lib/libfmod.so
0xb7d48470  0xb7da0844  Yes         /usr/lib/libSDL-1.2.so.0
0xb7d246b0  0xb7d3e3b4  Yes         /usr/lib/libjpeg.so.62
0xb79fbc40  0xb7c53af4  Yes         /usr/lib/libgtk-x11-2.0.so.0
0xb792d1d0  0xb79788e4  Yes         /usr/lib/libgdk-x11-2.0.so.0
0xb7902930  0xb790eb74  Yes         /usr/lib/libatk-1.0.so.0
0xb78e5f30  0xb78f5464  Yes         /usr/lib/libgdk_pixbuf-2.0.so.0
0xb78dc340  0xb78e0324  Yes         /usr/lib/libpangocairo-1.0.so.0
0xb78b3870  0xb78cb7e4  Yes         /usr/lib/libfontconfig.so.1
0xb78a2a90  0xb78ac724  Yes         /usr/lib/libXext.so.6
0xb7899250  0xb789e8f4  Yes         /usr/lib/libXrender.so.1
0xb78957e0  0xb7896264  Yes         /usr/lib/libXinerama.so.1
0xb788d370  0xb78927c4  Yes         /usr/lib/libXi.so.6
0xb78872b0  0xb788ae44  Yes         /usr/lib/libXrandr.so.2
0xb787f070  0xb78841e4  Yes         /usr/lib/libXcursor.so.1
0xb787a910  0xb787b3f4  Yes         /usr/lib/libXcomposite.so.1
0xb7877750  0xb7878154  Yes         /usr/lib/libXdamage.so.1
0xb7845600  0xb7864364  Yes         /usr/lib/libpango-1.0.so.0
0xb77c8cc0  0xb782ca44  Yes         /usr/lib/libcairo.so.2
0xb76e83a0  0xb77777f4  Yes         /usr/lib/libX11.so.6
0xb76cce00  0xb76cf134  Yes         /usr/lib/libXfixes.so.3
0xb76989d0  0xb76c2954  Yes         /usr/lib/libgobject-2.0.so.0
0xb768de60  0xb768ef24  Yes         /usr/lib/libgmodule-2.0.so.0
0xb7689a70  0xb768aa74  Yes         /lib/tls/i686/cmov/libdl.so.2
0xb75db690  0xb7646eb4  Yes         /usr/lib/libglib-2.0.so.0
0xb7585d10  0xb75b94e4  Yes         /usr/lib/libGL.so.1
0xb74fbb80  0xb7554a84  Yes         /usr/lib/libGLU.so.1
0xb7436a40  0xb74b3d34  Yes         /usr/lib/libstdc++.so.6
0xb73d2460  0xb73ec3f4  Yes         /lib/tls/i686/cmov/libm.so.6
0xb73c5970  0xb73cce64  Yes         /lib/libgcc_s.so.1
0xb728ee30  0xb738bb24  Yes         /lib/tls/i686/cmov/libc.so.6
0xb72753c0  0xb7277614  Yes         /usr/lib/libogg.so.0
0xb7260250  0xb726b224  Yes         /lib/tls/i686/cmov/libpthread.so.0
0xb71b8ca0  0xb7243744  Yes         /usr/lib/libasound.so.2
0xb714a110  0xb718ce14  Yes         /usr/lib/libdirectfb-0.9.so.25
0xb7139d60  0xb713c3b4  Yes         /usr/lib/libfusion-0.9.so.25
0xb712bf50  0xb7134d34  Yes         /usr/lib/libdirect-0.9.so.25
0xb7100a30  0xb7123944  Yes         /usr/lib/libpangoft2-1.0.so.0
0xb7092960  0xb70e4434  Yes         /usr/lib/libfreetype.so.6
0xb706d290  0xb7082a04  Yes         /usr/lib/libexpat.so.1
0xb70678a0  0xb7068514  Yes         /usr/lib/libXau.so.6
0xb7047da0  0xb7062c04  Yes         /usr/lib/libpng12.so.0
0xb703fe20  0xb7041a94  Yes         /usr/lib/libXdmcp.so.6
0xb7ef47f0  0xb7f091af  Yes         /lib/ld-linux.so.2
0xb703abb0  0xb703d864  Yes         /usr/lib/libXxf86vm.so.1
0xb7032720  0xb7037b84  Yes         /usr/lib/libdrm.so.2
0xb6ef3e70  0xb6ef8f44  Yes         /lib/tls/i686/cmov/libnss_compat.so.2
0xb6ede170  0xb6eebf14  Yes         /lib/tls/i686/cmov/libnsl.so.1
0xb6ed2920  0xb6ed8654  Yes         /lib/tls/i686/cmov/libnss_nis.so.2
0xb6ec7920  0xb6ece364  Yes         /lib/tls/i686/cmov/libnss_files.so.2
0xb6f0a370  0xb6f0ad84  Yes         /usr/lib/gconv/ISO8859-1.so
0xb633a9c0  0xb64a9bd4  Yes         /usr/lib/dri/r300_dri.so

* Threads
  2 Thread -1226024048 (LWP 9087)  0xffffe410 in __kernel_vsyscall ()
* 1 Thread -1224549904 (LWP 9086)  0x08246543 in GLShader::Bind ()

* FPU Status
  R7: Empty   0x3ffec800000000000000
  R6: Empty   0x3ffec800000000000000
  R5: Empty   0x3fff8000000000000000
  R4: Empty   0x3fff8000000000000000
  R3: Empty   0xffff0000000000011e40
  R2: Empty   0xffff000000a7006b006b
  R1: Empty   0xffff000100ff00000000
=>R0: Empty   0xffff0000000000000000

Status Word:         0x0122      DE          PE             C0         
                       TOP: 0
Control Word:        0x037f   IM DM ZM OM UM PM
                       PC: Extended Precision (64-bits)
                       RC: Round to nearest
Tag Word:            0xffff
Instruction Pointer: 0x73:0x08255a33
Operand Pointer:     0x7b:0x08628ef0
Opcode:              0xd9c9

* Registers
eax            0xffffffff	-1
ecx            0x0	0
edx            0x0	0
ebx            0x0	0
esp            0xbf9aec60	0xbf9aec60
ebp            0x0	0x0
esi            0x0	0
edi            0x0	0
eip            0x8246543	0x8246543 <GLShader::Bind(int, bool)+99>
eflags         0x10296	[ PF AF SF IF RF ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51

* Bytes near %eip:
0x8246540 <_ZN8GLShader4BindEib+96>:	0x8bff478d
0x8246543 <_ZN8GLShader4BindEib+99>:	0x83044d8b

* Backtrace
#0  0x08246543 in GLShader::Bind ()
No symbol table info available.
#1  0x0824ea2d in FGLTexture::BindPatch ()
No symbol table info available.
#2  0x0824eaff in FGLTexture::BindPatch ()
No symbol table info available.
#3  0x0822bff9 in gl_DrawTexture ()
No symbol table info available.
#4  0x08164d71 in DCanvas::DrawTexture ()
No symbol table info available.
#5  0x0807501a in D_PageDrawer ()
No symbol table info available.
#6  0x08075823 in D_Display ()
No symbol table info available.
#7  0x08076600 in D_DoomLoop ()
No symbol table info available.
#8  0x08077538 in D_DoomMain ()
No symbol table info available.
#9  0x0822060a in main ()
No symbol table info available.
Kill the program being debugged? (y or n) [answered Y; input not from terminal]
[/spoiler]
suacy
Posts: 5
Joined: Thu Oct 11, 2007 1:49

Post by suacy »

Here's the crash log with symbols:

[spoiler]

Code: Select all

*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x4

System: Linux cybie 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux
GCC version: 4.1.3

GZDoom version 1.0.29 - 2.1.7xx (r563M) (Dec  7 2007)

Command line: ./gzdoomd -iwad ../../zdoom/doom2.wad

Wad 0: gzdoom.pk3
Wad 1: doom2.wad

Not in a level.

Executing: gdb --quiet --batch --command=gdb-respfile-vIsjk6 --pid=14820
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1224218128 (LWP 14820)]
[New Thread -1242653808 (LWP 14823)]
[New Thread -1234261104 (LWP 14822)]
[New Thread -1225692272 (LWP 14821)]
0xffffe410 in __kernel_vsyscall ()

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1224218128 (LWP 14820)]
0x08291c94 in GLShader::Bind (this=0x0, cm=0, brightmap=false)
    at src/gl/gl_shader.cpp:565
565			sh = container->shader_light[brightmap][desat];

* Loaded Libraries
From        To          Syms Read   Shared Object Library
0xb7f25cd0  0xb7f2bd04  Yes         /usr/lib/libFLAC++.so.6
0xb7edd170  0xb7f15cb4  Yes         /usr/lib/libFLAC.so.8
0xb7ebf910  0xb7ecd104  Yes         /usr/lib/libz.so.1
0xb7e3dae0  0xb7e7dc49  Yes         /usr/lib/libfmod.so
0xb7d99470  0xb7df1844  Yes         /usr/lib/libSDL-1.2.so.0
0xb7d756b0  0xb7d8f3b4  Yes         /usr/lib/libjpeg.so.62
0xb7a4cc40  0xb7ca4af4  Yes         /usr/lib/libgtk-x11-2.0.so.0
0xb797e1d0  0xb79c98e4  Yes         /usr/lib/libgdk-x11-2.0.so.0
0xb7953930  0xb795fb74  Yes         /usr/lib/libatk-1.0.so.0
0xb7936f30  0xb7946464  Yes         /usr/lib/libgdk_pixbuf-2.0.so.0
0xb792d340  0xb7931324  Yes         /usr/lib/libpangocairo-1.0.so.0
0xb7904870  0xb791c7e4  Yes         /usr/lib/libfontconfig.so.1
0xb78f3a90  0xb78fd724  Yes         /usr/lib/libXext.so.6
0xb78ea250  0xb78ef8f4  Yes         /usr/lib/libXrender.so.1
0xb78e67e0  0xb78e7264  Yes         /usr/lib/libXinerama.so.1
0xb78de370  0xb78e37c4  Yes         /usr/lib/libXi.so.6
0xb78d82b0  0xb78dbe44  Yes         /usr/lib/libXrandr.so.2
0xb78d0070  0xb78d51e4  Yes         /usr/lib/libXcursor.so.1
0xb78cb910  0xb78cc3f4  Yes         /usr/lib/libXcomposite.so.1
0xb78c8750  0xb78c9154  Yes         /usr/lib/libXdamage.so.1
0xb7896600  0xb78b5364  Yes         /usr/lib/libpango-1.0.so.0
0xb7819cc0  0xb787da44  Yes         /usr/lib/libcairo.so.2
0xb77393a0  0xb77c87f4  Yes         /usr/lib/libX11.so.6
0xb771de00  0xb7720134  Yes         /usr/lib/libXfixes.so.3
0xb76e99d0  0xb7713954  Yes         /usr/lib/libgobject-2.0.so.0
0xb76dee60  0xb76dff24  Yes         /usr/lib/libgmodule-2.0.so.0
0xb76daa70  0xb76dba74  Yes         /lib/tls/i686/cmov/libdl.so.2
0xb762c690  0xb7697eb4  Yes         /usr/lib/libglib-2.0.so.0
0xb75d6d10  0xb760a4e4  Yes         /usr/lib/libGL.so.1
0xb754cb80  0xb75a5a84  Yes         /usr/lib/libGLU.so.1
0xb7487a40  0xb7504d34  Yes         /usr/lib/libstdc++.so.6
0xb7423460  0xb743d3f4  Yes         /lib/tls/i686/cmov/libm.so.6
0xb7416970  0xb741de64  Yes         /lib/libgcc_s.so.1
0xb72dfe30  0xb73dcb24  Yes         /lib/tls/i686/cmov/libc.so.6
0xb72c63c0  0xb72c8614  Yes         /usr/lib/libogg.so.0
0xb72b1250  0xb72bc224  Yes         /lib/tls/i686/cmov/libpthread.so.0
0xb7209ca0  0xb7294744  Yes         /usr/lib/libasound.so.2
0xb719b110  0xb71dde14  Yes         /usr/lib/libdirectfb-0.9.so.25
0xb718ad60  0xb718d3b4  Yes         /usr/lib/libfusion-0.9.so.25
0xb717cf50  0xb7185d34  Yes         /usr/lib/libdirect-0.9.so.25
0xb7151a30  0xb7174944  Yes         /usr/lib/libpangoft2-1.0.so.0
0xb70e3960  0xb7135434  Yes         /usr/lib/libfreetype.so.6
0xb70be290  0xb70d3a04  Yes         /usr/lib/libexpat.so.1
0xb70b88a0  0xb70b9514  Yes         /usr/lib/libXau.so.6
0xb7098da0  0xb70b3c04  Yes         /usr/lib/libpng12.so.0
0xb7090e20  0xb7092a94  Yes         /usr/lib/libXdmcp.so.6
0xb7f457f0  0xb7f5a1af  Yes         /lib/ld-linux.so.2
0xb708bbb0  0xb708e864  Yes         /usr/lib/libXxf86vm.so.1
0xb7083720  0xb7088b84  Yes         /usr/lib/libdrm.so.2
0xb6f44e70  0xb6f49f44  Yes         /lib/tls/i686/cmov/libnss_compat.so.2
0xb6f2f170  0xb6f3cf14  Yes         /lib/tls/i686/cmov/libnsl.so.1
0xb6f23920  0xb6f29654  Yes         /lib/tls/i686/cmov/libnss_nis.so.2
0xb6f18920  0xb6f1f364  Yes         /lib/tls/i686/cmov/libnss_files.so.2
0xb6f5b370  0xb6f5bd84  Yes         /usr/lib/gconv/ISO8859-1.so
0xb53899c0  0xb54f8bd4  Yes         /usr/lib/dri/r300_dri.so

* Threads
  4 Thread -1225692272 (LWP 14821)  0xffffe410 in __kernel_vsyscall ()
  3 Thread -1234261104 (LWP 14822)  0xffffe410 in __kernel_vsyscall ()
  2 Thread -1242653808 (LWP 14823)  0xffffe410 in __kernel_vsyscall ()
* 1 Thread -1224218128 (LWP 14820)  0x08291c94 in GLShader::Bind (this=0x0, 
    cm=0, brightmap=false) at src/gl/gl_shader.cpp:565

* FPU Status
  R7: Empty   0x3ffec800000000000000
  R6: Empty   0x3ffec800000000000000
  R5: Empty   0x00000000000000000000
  R4: Empty   0x00000000000000000000
  R3: Empty   0xffff0000000000011e40
  R2: Empty   0xffff000000a7006b006b
  R1: Empty   0xffff000100ff00000000
=>R0: Empty   0xffff0000000000000000

Status Word:         0x0122      DE          PE             C0         
                       TOP: 0
Control Word:        0x037f   IM DM ZM OM UM PM
                       PC: Extended Precision (64-bits)
                       RC: Round to nearest
Tag Word:            0xffff
Instruction Pointer: 0x73:0x082a276c
Operand Pointer:     0x7b:0x086ab020
Opcode:              0x0000

* Registers
eax            0x0	0
ecx            0x0	0
edx            0x0	0
ebx            0xc8	200
esp            0xbfd31f80	0xbfd31f80
ebp            0xbfd31fa8	0xbfd31fa8
esi            0xb7f5fce0	-1208615712
edi            0x82c0fe7	137105383
eip            0x8291c94	0x8291c94 <GLShader::Bind(int, bool)+100>
eflags         0x210246	[ PF ZF IF RF ID ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51

* Bytes near %eip:
0x8291c91 <_ZN8GLShader4BindEib+97>:	0x8b08458b
0x8291c94 <_ZN8GLShader4BindEib+100>:	0x0f04488b

* Backtrace
#0  0x08291c94 in GLShader::Bind (this=0x0, cm=0, brightmap=false)
    at src/gl/gl_shader.cpp:565
	desat = false
	sh = (FShader *) 0x0
#1  0x0829a7d5 in FGLTexture::BindPatch (this=0x8962a90, texunit=0, cm=0, 
    translation=0, translationtable=0x0) at src/gl/gl_texture.cpp:2026
	usebright = false
#2  0x0829a986 in FGLTexture::BindPatch (this=0x8962a90, cm=0, translation=0, 
    translationtable=0x0) at src/gl/gl_texture.cpp:2060
No locals.
#3  0x08271dae in gl_DrawTexture (texInfo=0xbfd320d0) at src/gl/gl_draw.cpp:119
	translationindex = 0
	x = 0
	y = 0
	w = 1280
	h = 1024
	ox = 3.14574269e-38
	oy = 1.40129846e-45
	cx = 0
	cy = 9.18354962e-41
	r = -1.64943409
	g = 4.49184723e-34
	b = 5.80677863e-34
	light = 1
	gltex = (FGLTexture *) 0x8962a90
	pti = (const PatchTextureInfo *) 0x8973050
	btm = 2
	space = -1209514720
#4  0x08190b30 in DCanvas::DrawTexture (this=0x8660750, img=0x86290f8, x0=0, 
    y0=0, tags_first=1073746838) at src/v_draw.cpp:430
	texInfo = {tex = 0x86290f8, font = 0x863eba8, x = 0, y = 0, 
  width = 1280, height = 1024, clipLeft = 0, clipRight = 1280, clipTop = 0, 
  clipBottom = 1024, windowLeft = 0, windowRight = 320, translation = 0x0, 
  loadAlpha = false, flipX = false, masked = false, alpha = 1, fillColor = -1, 
  RenderStyle = 1}
	unmaskedSpan = {{TopOffset = 0, Length = 0}, {TopOffset = 17, 
    Length = 0}}
	spanptr = (const FTexture::Span **) 0x0
	spans = (const FTexture::Span *) 0xb7df8820
	tags = 0xbfd3220c "Úå\t\bôÿ@·àüõ·š\"Ó¿åö\a\b\biA\b"
	tag = 0
	boolval = 0
	intval = -1076682424
	texwidth = 320
	texheight = 200
	windowleft = 0
	windowright = 320
	dclip = 1024
	uclip = 0
	lclip = 0
	rclip = 1280
	destwidth = 83886080
	destheight = 67108864
	top = 0
	left = 0
	alpha = 65536
	fillcolor = -1
	translation = (const BYTE *) 0x0
	alphaChannel = 0
	flipX = 0
	shadowAlpha = 0
	shadowColor = 0
	virtWidth = 320
	virtHeight = 200
	keepratio = 0
	style = STYLE_Normal
	mode = DoDraw1
	destorgsave = (BYTE *) 0xb5567008 ""
	identitymap = '\0' <repeats 255 times>
	bottomclipper = {0 <repeats 2048 times>}
	topclipper = {0 <repeats 2048 times>}
#5  0x0807ef92 in D_PageDrawer () at src/d_main.cpp:811
No locals.
#6  0x0807f6e5 in D_Display (screenshot=false) at src/d_main.cpp:600
	wipe = false
	cycles = 18446720858227070696
#7  0x0807ff3c in D_DoomLoop () at src/d_main.cpp:772
	lasttic = 0
#8  0x08081401 in D_DoomMain () at src/d_main.cpp:2456
	p = 5
	flags = 0
	file = "Doom.Autoload\000zdoom/skins", '\0' <repeats 2419 times>, "±\210|·°-Ó¿\000\235M\bl-Ó¿ŽÜô·¥ò\214·\232\210|·\000\000\000\000\000\000\000\000lé\214·", '\0' <repeats 16 times>, "ôÿõ·°-Ó¿\000\235M\bä-Ó¿Àßô·", '\0' <repeats 16 times>, "Œ¿õ·°-Ó¿\224.Ó¿Sç\021Œ\t\000\000\000\034ã\214·Àâ\214·\000\000\000\000Rç\021Œ\231\210|·0.Ó¿\000\235M\bì-Ó¿ŽÜô·Tò\214·}\210|·PU\216·\232\210|·Œç\214·\000\000\000\000\000\000\000\000ô"...
	v = 0x0
	wad = 0x0
	execFiles = (class DArgs *) 0x85013c8
	files = (class DArgs *) 0x86ab1d8
	files1 = (class DArgs *) 0x8501618
	files2 = (class DArgs *) 0x850eb00
	val = 0x0
	startupString = {0x82c14c8 "STARTUP1", 0x82c14d1 "STARTUP2", 
  0x82c14da "STARTUP3", 0x82c14e3 "STARTUP4", 0x82c14ec "STARTUP5"}
	one_hundred = "100"
#9  0x08264365 in main (argc=3, argv=0xbfd33494) at src/sdl/i_main.cpp:241
	s = {11, 4, 8, 7}
	slash = 0x83be6be "/"
	error = (CDoomError &) @0x82bb4f9: {
  m_Message = "\215»4úÿÿ\215\2034úÿÿ)ÇÃ
stevenaaus
Posts: 35
Joined: Fri Sep 21, 2007 2:09
Location: Australia
Contact:

Post by stevenaaus »

Boingo the Clown wrote:Sorry to jump in like this, but this is a lengthy thread, and I am too lazy to read it all.

Has anyone had any success compiling GZDooM for Linux yet?
Nice Avatar
stevenaaus
Posts: 35
Joined: Fri Sep 21, 2007 2:09
Location: Australia
Contact:

Post by stevenaaus »

Perhaps this is what we want. It merely disables GL if no 32 bpp found, and issues a error report.
[spoiler]--- hardware.cpp.orig 2007-12-18 17:58:21.000000000 +1000
+++ hardware.cpp 2007-12-18 18:08:15.000000000 +1000
@@ -164,6 +164,15 @@
UCVarValue val;

#ifndef NO_GL
+
+ // hack by stevenaaus to force software mode if no 32bpp
+ const SDL_VideoInfo *i = SDL_GetVideoInfo();
+ if ((i->vfmt)->BytesPerPixel != 4) {
+ fprintf (stderr, "n32 bit colour not found, disabling OpenGL.n");
+ fprintf (stderr, "To enable OpenGL, restart X with 32 color (try 'startx -- :1 -depth 24'), and enable OpenGL in the Display Options.nn");
+ gl_nogl=true;
+ }
+
gl_disabled = gl_nogl;
#endif
val.Bool = !!Args.CheckParm ("-devparm");[/spoiler]
Whats the story with GZDoom being half C++ anyway ? It's pretty unnerving, especially since i hardly know/like the language. ZDoom seems wholly C++.
Attachments
gzdoom_sdl_check.zip
32 bpp check
(564 Bytes) Downloaded 125 times
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

GZDoom is fully C++. The only exceptions are FLAC, zlib and libjpeg and all this code exists in ZDoom as well.

Or are you talking about the Linux crashcatcher module? That's also in ZDoom, btw.
Locked

Return to “GZDoom”