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

User avatar
GuntherDW
Posts: 117
Joined: Sat Nov 12, 2005 1:53
Location: Belgium, Antwerp
Contact:

Post by GuntherDW »

i would say that you're free to look for other methods but that would be rude because you actually don't even support linux 100% in the first place :P

i've deleted the gzdoom folder, regot the sources (@r64 now)
but still get this one

Code: Select all

Compiling fmodsound.cpp:                                              [OK]     
src/svnrevision_gz.h is up to date at revision 64M.
make[1]: Entering directory `/GuntherDW/src/svn/gzdoom.orig'
src/svnrevision_gz.h is up to date at revision 64M.
Compiling fmodsound.cpp:                                              [ERROR]  
g++ -c -pipe -Wall -Wno-unused -O2 -fomit-frame-pointer -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -DHAVE_FILELENGTH -D__forceinline=inline -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DNEED_STRUPR -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -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/ -I/usr/local/include/fmodex/ -Isnes_spc/snes_spc -DUSEASM=1 -DNDEBUG -o releaseobj/fmodsound.o -c src/sound/fmodsound.cpp
================================================================================src/sound/fmodsound.cpp: In member function ‘virtual bool FMODStreamCapsule::Play(bool, float, bool)’:
src/sound/fmodsound.cpp:295: error: no matching function for call to ‘FMOD::Channel::addDSP(FMOD::DSP*&)’
/usr/local/include/fmodex/fmod.hpp:317: note: candidates are: FMOD_RESULT FMOD::Channel::addDSP(FMOD::DSP*, FMOD::DSPConnection**)
src/sound/fmodsound.cpp: In static member function ‘static FMOD_RESULT FMODStreamCapsule::PCMReadCallback(FMOD_SOUND*, void*, unsigned int)’:
src/sound/fmodsound.cpp:366: warning: dereferencing type-punned pointer will break strict-aliasing rules
src/sound/fmodsound.cpp: In member function ‘bool FMODSoundRenderer::Init()’:
src/sound/fmodsound.cpp:535: error: ‘FMOD_INIT_ENABLE_DSPNET’ was not declared in this scope
src/sound/fmodsound.cpp: In member function ‘virtual void FMODSoundRenderer::UpdateListener(AActor*)’:
src/sound/fmodsound.cpp:1095: warning: dereferencing type-punned pointer will break strict-aliasing rules
make[1]: *** [releaseobj/fmodsound.o] Error 1
make[1]: Leaving directory `/GuntherDW/src/svn/gzdoom.orig'
make: *** [deps] Error 2
(i still had to apply my patch from r60, which still works correctly but is needed to compile :P)
which version of fmodex should i get?
User avatar
Torr Samaho
Developer
Developer
Posts: 160
Joined: Fri Apr 13, 2007 8:26
Location: Germany
Contact:

Post by Torr Samaho »

Graf Zahl wrote:I wish there'd be better project management tools for Linux/MinGW than the stone age method.
I heard Eclipse has reached a quite usable state, never tried it myself though.
User avatar
GuntherDW
Posts: 117
Joined: Sat Nov 12, 2005 1:53
Location: Belgium, Antwerp
Contact:

Post by GuntherDW »

owkey, i've "down"graded my fmodex install to v 4.11.03, so now the fmodex part compiles correctly, but i get an error at the xlatc part
(i thought you removed most of it from zdoom, is it still in gzdoom or not?)

[spoiler]

Code: Select all

g++ -lFLAC++ -lFLAC -lz -lmodplug -lfmod -lSDL -lpthread -ljpeg -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lGL -lGLU -lfmodex -Wl,-Map=gzdoom.map releaseobj/autostart.o releaseobj/a.o releaseobj/misc.o releaseobj/tmap2.o releaseobj/tmap3.o releaseobj/tmap.o releaseobj/am_map.o releaseobj/bbannouncer.o releaseobj/b_bot.o releaseobj/b_func.o releaseobj/b_game.o releaseobj/b_move.o releaseobj/b_think.o releaseobj/c_bind.o releaseobj/c_cmds.o releaseobj/c_console.o releaseobj/c_cvars.o releaseobj/c_dispatch.o releaseobj/c_expr.o releaseobj/cmdlib.o releaseobj/colormatcher.o releaseobj/configfile.o releaseobj/ct_chat.o releaseobj/d_dehacked.o releaseobj/decallib.o releaseobj/d_main.o releaseobj/d_net.o releaseobj/d_netinfo.o releaseobj/dobject.o releaseobj/dobjgc.o releaseobj/dobjtype.o releaseobj/doomdef.o releaseobj/doomstat.o releaseobj/d_protocol.o releaseobj/dsectoreffect.o releaseobj/dthinker.o releaseobj/empty.o releaseobj/farchive.o releaseobj/f_finale.o releaseobj/files.o releaseobj/f_wipe.o releaseobj/gameconfigfile.o releaseobj/g_game.o releaseobj/g_hub.o releaseobj/gi.o releaseobj/g_level.o releaseobj/hu_scores.o releaseobj/i_net.o releaseobj/info.o releaseobj/infodefaults.o releaseobj/lumpconfigfile.o releaseobj/m_alloc.o releaseobj/m_argv.o releaseobj/m_bbox.o releaseobj/m_cheat.o releaseobj/m_menu.o releaseobj/m_misc.o releaseobj/m_options.o releaseobj/m_png.o releaseobj/m_random.o releaseobj/mus2midi.o releaseobj/name.o releaseobj/nodebuild_classify_nosse2.o releaseobj/nodebuild_classify_sse2.o releaseobj/nodebuild.o releaseobj/nodebuild_events.o releaseobj/nodebuild_extract.o releaseobj/nodebuild_gl.o releaseobj/nodebuild_utility.o releaseobj/p_3dfloors.o releaseobj/p_3dmidtex.o releaseobj/p_acs.o releaseobj/p_buildmap.o releaseobj/p_ceiling.o releaseobj/p_conversation.o releaseobj/p_doors.o releaseobj/p_effect.o releaseobj/p_enemy_a_lookex.o releaseobj/p_enemy.o releaseobj/p_floor.o releaseobj/p_interaction.o releaseobj/p_lights.o releaseobj/p_linkedsectors.o releaseobj/p_lnspec.o releaseobj/p_map.o releaseobj/p_maputl.o releaseobj/p_mobj.o releaseobj/po_man.o releaseobj/p_pillar.o releaseobj/p_plats.o releaseobj/p_pspr.o releaseobj/p_saveg.o releaseobj/p_sectors.o releaseobj/p_setup.o releaseobj/p_sight.o releaseobj/p_spec.o releaseobj/p_switch.o releaseobj/p_teleport.o releaseobj/p_terrain.o releaseobj/p_things.o releaseobj/p_tick.o releaseobj/p_trace.o releaseobj/p_user.o releaseobj/p_writemap.o releaseobj/p_xlat.o releaseobj/r_anim.o releaseobj/r_bsp.o releaseobj/r_data.o releaseobj/r_draw.o releaseobj/r_drawt.o releaseobj/r_main.o releaseobj/r_plane.o releaseobj/r_polymost.o releaseobj/r_segs.o releaseobj/r_sky.o releaseobj/r_things.o releaseobj/r_translate.o releaseobj/s_advsound.o releaseobj/sc_man.o releaseobj/s_environment.o releaseobj/skins.o releaseobj/s_playlist.o releaseobj/s_sndseq.o releaseobj/s_sound.o releaseobj/stats.o releaseobj/stringtable.o releaseobj/st_stuff.o releaseobj/tables.o releaseobj/teaminfo.o releaseobj/tempfiles.o releaseobj/v_collection.o releaseobj/v_draw.o releaseobj/v_font.o releaseobj/v_palette.o releaseobj/v_pfx.o releaseobj/v_text.o releaseobj/v_video.o releaseobj/wi_stuff.o releaseobj/w_wad.o releaseobj/zstrformat.o releaseobj/zstring.o releaseobj/a_arachnotron.o releaseobj/a_archvile.o releaseobj/a_bossbrain.o releaseobj/a_bruiser.o releaseobj/a_cacodemon.o releaseobj/a_cyberdemon.o releaseobj/a_demon.o releaseobj/a_doomimp.o releaseobj/a_doommisc.o releaseobj/a_doomweaps.o releaseobj/a_fatso.o releaseobj/a_keen.o releaseobj/a_lostsoul.o releaseobj/a_painelemental.o releaseobj/a_possessed.o releaseobj/a_revenant.o releaseobj/a_scriptedmarine.o releaseobj/a_spidermaster.o releaseobj/doom_sbar.o releaseobj/a_chicken.o releaseobj/a_dsparil.o releaseobj/a_hereticartifacts.o releaseobj/a_hereticimp.o releaseobj/a_hereticmisc.o releaseobj/a_hereticweaps.o releaseobj/a_ironlich.o releaseobj/a_knight.o releaseobj/a_wizard.o releaseobj/heretic_sbar.o releaseobj/a_bats.o releaseobj/a_bishop.o releaseobj/a_blastradius.o releaseobj/a_boostarmor.o releaseobj/a_centaur.o releaseobj/a_clericboss.o releaseobj/a_clericflame.o releaseobj/a_clericholy.o releaseobj/a_clericmace.o releaseobj/a_clericstaff.o releaseobj/a_dragon.o releaseobj/a_fighteraxe.o releaseobj/a_fighterboss.o releaseobj/a_fighterhammer.o releaseobj/a_fighterplayer.o releaseobj/a_fighterquietus.o releaseobj/a_firedemon.o releaseobj/a_flechette.o releaseobj/a_fog.o releaseobj/a_healingradius.o releaseobj/a_heresiarch.o releaseobj/a_hexenspecialdecs.o releaseobj/a_iceguy.o releaseobj/a_korax.o releaseobj/a_mageboss.o releaseobj/a_magecone.o releaseobj/a_magelightning.o releaseobj/a_magestaff.o releaseobj/a_magewand.o releaseobj/a_pig.o releaseobj/a_serpent.o releaseobj/a_spike.o releaseobj/a_summon.o releaseobj/a_teleportother.o releaseobj/a_weaponpieces.o releaseobj/a_wraith.o releaseobj/hexen_sbar.o releaseobj/a_artitele.o releaseobj/a_minotaur.o releaseobj/a_action.o releaseobj/a_armor.o releaseobj/a_artifacts.o releaseobj/a_bridge.o releaseobj/a_camera.o releaseobj/a_debris.o releaseobj/a_decals.o releaseobj/a_flashfader.o releaseobj/a_fountain.o releaseobj/a_hatetarget.o releaseobj/a_keys.o releaseobj/a_lightning.o releaseobj/a_mapmarker.o releaseobj/a_morph.o releaseobj/a_movingcamera.o releaseobj/a_pickups.o releaseobj/a_puzzleitems.o releaseobj/a_quake.o releaseobj/a_secrettrigger.o releaseobj/a_sectoraction.o releaseobj/a_setcolor.o releaseobj/a_skies.o releaseobj/a_soundenvironment.o releaseobj/a_soundsequence.o releaseobj/a_spark.o releaseobj/a_waterzone.o releaseobj/a_weaponpiece.o releaseobj/a_weapons.o releaseobj/hudmessages.o releaseobj/sbarinfo_display.o releaseobj/sbarinfo_parser.o releaseobj/shared_hud.o releaseobj/shared_sbar.o releaseobj/a_acolyte.o releaseobj/a_alienspectres.o releaseobj/a_coin.o releaseobj/a_crusader.o releaseobj/a_entityboss.o releaseobj/a_inquisitor.o releaseobj/a_loremaster.o releaseobj/a_macil.o releaseobj/a_oracle.o releaseobj/a_programmer.o releaseobj/a_reaver.o releaseobj/a_rebels.o releaseobj/a_sentinel.o releaseobj/a_spectral.o releaseobj/a_stalker.o releaseobj/a_strifeitems.o releaseobj/a_strifestuff.o releaseobj/a_strifeweapons.o releaseobj/a_templar.o releaseobj/a_thingstoblowup.o releaseobj/strife_sbar.o releaseobj/fmopl.o releaseobj/mlkernel.o releaseobj/mlopl.o releaseobj/mlopl_io.o releaseobj/opl_mus_player.o releaseobj/fmodsound.o releaseobj/i_music.o releaseobj/i_sound.o releaseobj/music_cd.o releaseobj/music_midi_base.o releaseobj/music_midi_midiout.o releaseobj/music_midistream.o releaseobj/music_midi_timidity.o releaseobj/music_modplug.o releaseobj/music_mus_midiout.o releaseobj/music_mus_opl.o releaseobj/music_spc.o releaseobj/music_stream.o releaseobj/music_win_mididevice.o releaseobj/t_cmd.o releaseobj/t_fspic.o releaseobj/t_func.o releaseobj/t_load.o releaseobj/t_oper.o releaseobj/t_parse.o releaseobj/t_prepro.o releaseobj/t_script.o releaseobj/t_spec.o releaseobj/t_variable.o releaseobj/olddecorations.o releaseobj/thingdef_codeptr.o releaseobj/thingdef.o releaseobj/thingdef_exp.o releaseobj/thingdef_main.o releaseobj/thingdef_properties.o releaseobj/thingdef_states.o releaseobj/hardware.o releaseobj/i_cd.o releaseobj/i_input.o releaseobj/i_main.o releaseobj/i_movie.o releaseobj/i_system.o releaseobj/sdlglvideo.o releaseobj/sdlvideo.o releaseobj/st_start.o releaseobj/a_dynlight.o releaseobj/gfxfuncs.o releaseobj/gl_bsp.o releaseobj/gl_clipper.o releaseobj/gl_cycler.o releaseobj/gl_data.o releaseobj/gl_decal.o releaseobj/gl_drawinfo.o releaseobj/gl_dynlight.o releaseobj/gl_fakeflat.o releaseobj/gl_flats.o releaseobj/gl_framebuffer.o releaseobj/gl_geometric.o releaseobj/gl_glow.o releaseobj/gl_hirestex.o releaseobj/gl_light.o releaseobj/gl_menu.o releaseobj/gl_missinglines.o releaseobj/gl_missingtexture.o releaseobj/gl_models.o releaseobj/gl_models_md2.o releaseobj/gl_models_md3.o releaseobj/gl_nodes.o releaseobj/gl_portal.o releaseobj/gl_scene.o releaseobj/gl_shader.o releaseobj/gl_sky.o releaseobj/gl_skydome.o releaseobj/gl_sprite.o releaseobj/gl_swshaders.o releaseobj/gl_texture.o releaseobj/gltexture.o releaseobj/gl_translate.o releaseobj/gl_vertex.o releaseobj/gl_walls.o releaseobj/gl_walls_draw.o releaseobj/gl_weapon.o releaseobj/gl_wipe.o releaseobj/r_opengl.o releaseobj/automaptexture.o releaseobj/buildtexture.o releaseobj/canvastexture.o releaseobj/ddstexture.o releaseobj/flattexture.o releaseobj/imgztexture.o releaseobj/jpegtexture.o releaseobj/multipatchtexture.o releaseobj/patchtexture.o releaseobj/pcxtexture.o releaseobj/pngtexture.o releaseobj/rawpagetexture.o releaseobj/texture.o releaseobj/texturemanager.o releaseobj/tgatexture.o releaseobj/warptexture.o releaseobj/crashcatcher.o releaseobj/autozend.o -o gzdoom snes_spc/libsnes_spc.a
releaseobj/tempfiles.o: In function `FTempFileName::FTempFileName(char const*)':
tempfiles.cpp:(.text+0x73): warning: the use of `tempnam' is dangerous, better use `mkstemp'
releaseobj/p_setup.o: In function `P_SetupLevel(char*, int)':
p_setup.cpp:(.text+0x79e9): undefined reference to `P_LoadTranslator(char const*)'
releaseobj/p_xlat.o: In function `P_TranslateLineDef(line_t*, maplinedef_t*)':
p_xlat.cpp:(.text+0x166): undefined reference to `SimpleLineTranslations'
p_xlat.cpp:(.text+0x172): undefined reference to `NumBoomish'
p_xlat.cpp:(.text+0x188): undefined reference to `Boomish'
p_xlat.cpp:(.text+0x18f): undefined reference to `Boomish'
p_xlat.cpp:(.text+0x203): undefined reference to `SimpleLineTranslations'
releaseobj/p_xlat.o: In function `P_TranslateSectorSpecial(int)':
p_xlat.cpp:(.text+0x5f9): undefined reference to `SectorMasks'
p_xlat.cpp:(.text+0x60d): undefined reference to `SectorMasks'
p_xlat.cpp:(.text+0x659): undefined reference to `SectorTranslations'
p_xlat.cpp:(.text+0x692): undefined reference to `SectorTranslations'
releaseobj/t_load.o: In function `T_LoadScripts(MapData*)':
t_load.cpp:(.text+0x89e): undefined reference to `SimpleLineTranslations'
collect2: ld returned 1 exit status
[/spoiler]

i still had to apply my patch for r60 since it's still not applied to the upstream svn code :P

Code: Select all

patching file src/sound/i_sound.cpp
patching file src/sdl/i_system.cpp
patching file src/sdl/hardware.cpp
patching file src/actor.h
Hunk #1 succeeded at 768 (offset 1 line).
patching file src/gl/gl_menu.cpp
patching file src/fragglescript/t_func.cpp
Hunk #9 succeeded at 3438 (offset -8 lines).
Hunk #10 succeeded at 3465 (offset -8 lines).
Hunk #11 succeeded at 3502 (offset -8 lines).
Hunk #12 succeeded at 3551 (offset -8 lines).
Hunk #13 succeeded at 3580 (offset -8 lines).
Hunk #14 succeeded at 3792 (offset -8 lines).
patching file src/fragglescript/t_load.cpp
Hunk #1 succeeded at 328 (offset 40 lines).
patching file src/fragglescript/t_variable.cpp
patching file src/fragglescript/t_script.h
Hunk #1 succeeded at 655 with fuzz 1.
patching file src/sound/sample_flac.h
patching file snes_spc/Makefile
patching file Makefile.linux
but i also had to dos2unix fmodsound.cpp for g++ to correctly find it
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

GuntherDW, try this patch. I moved lemon .y-file to xlat2 dir, so make should not try to yacc it. The patch is not as clean as usual, because I used dos2unix too much to fix 'no source files' errors.
I think SNES_SPC and modplug library/implementation and include files should be separated.
Btw, does it compile gzdoom for you without -lmodplug? It compiled for me in both cases, but I didn't carefully check that with make clean; make, so I'm not sure.
Attachments
patch02.zip
patch for GZ1.1.02 [fmodex 4.12.06]
(83.56 KiB) Downloaded 149 times
User avatar
GuntherDW
Posts: 117
Joined: Sat Nov 12, 2005 1:53
Location: Belgium, Antwerp
Contact:

Post by GuntherDW »

it compiles correctly now, but i can no longer use brightmaps apperantly, don't know if it's my drivers or gzdoom though
couldn't enable it again after i disabled it, noticed it wasn't enabled (or gzdoom was just damn dark) and after that i just could put it back on

gzdoom also hogs my CPU so much my entire PC just freezes for a couple of seconds, when i'm looking at a certain point in a level, and it doesn't even have to be a user made level
(for ex KDiZD has this one a lot, especially in for ex Z1M3 in the room with the "fly" bug, or the one with the stairs with the 'secret' (?) attic
when i look upwards it happens a lot, with only 0.15 to 0.2 secs of "move" frames
this bug is irritating as hell though

also, (but this also occurs with zdoom), fmodex doesn't like my install apperantly, some sounds seem to crash zdoom and i have to run zdoom with -nomusic, because otherwise i'd just get a black screen and i have to kill -9 zdoom
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

Made another patch based on Jim's one

Differences between this patch and Jim's one:
  • Small snes_spc/Makefile fix
  • Fixed and renamed tools/lemon/Makefile.mgw to Makefile
  • Small tools/updaterevision/Makefile fix
  • wadsrc/Makefile cleaned zdoom.pk3 instead of gzdoom.pk3, fixed
  • Modplug compilation fixes
  • Brightmaps and lights pk3 are now compiled via main makefile
  • distclean target now should remove all generated files
  • $(ZDOOMBIN) target should now have complete dependencies
I changed some makefiles so compilation on Mingw should be rechecked.

ADDED: Brightmaps definitely work for me (To test them I use 'summon cyberdemon' in start area of the Entryway and then go to the hallway with god mode enabled).
I can't play gzdoom without -nomusic too and it seems to be known zdoom bug.
Attachments
patch02.zip
Patch for GZ1.1.02r0, tested on Ubuntu 7.10
(7.91 KiB) Downloaded 161 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 »

Just for the record: I won't install any more Linux compile fixes unless someone seriously tries to make one that is based as closely on ZDoom's makefile as possible. As long as there are larger differences I can't just make simple updates because my comparison tools are of no help if the differences are too large - which would mean you'd have to do it over and over again.
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

Ok, are only makefiles must be as close to ZDoom's ones as possible or other files too? If not only makefiles must, I think I should stop using dos2unix util.
Could someone explain current differences between not patched zdoom's and not patched gzdoom's linux makefiles, especially the RESTART thing?
On what zdoom revisions are GZ1.1.02r0 and r78 based on?
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

If you really want to help, please fix the makefile for the latest revision (r82), which is based on ZDoom r862. Please note that the DEHSUPP compiler is not present in the GZDoom project and I won't add it again because it's too much of a hassle to keep it around. Unfortunately Randy disagrees and prefers to keep this instead of fixing the Dehacked code... :(
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

The patch contains minimal changes needed compile on my Ubuntu + few modifications to make Makefile.linux closer to zdoom's one.

As updaterevision tool didn't recognized my changes to Makefile.linux I decided to change the corresponding line:

Code: Select all

-	tools/updaterevision/updaterevision src src/svnrevision_gz.h
+	@tools/updaterevision/updaterevision . src/svnrevision_gz.h
ADDED1: forgot to mention: tools/lemon/Makefile.mgw should be deleted

ADDED2: patch_r82_1.dif contains more aggressive changes to Makefile.linux (for example the whole RESTART thing is removed) and a small change to snes_spc/Makefile
Attachments
patch_r82_1.dif.zip
TEST patch for r82 (generated by kdesvn), see details in the post.
Again, tools/lemon/Makefile.mgw should be deleted
(2.98 KiB) Downloaded 151 times
patch_r82.dif.zip
Minimal patch for r82 (generated by kdesvn)
Additionally tools/lemon/Makefile.mgw should be deleted
(1.96 KiB) Downloaded 144 times
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

Graf Zahl, was any part of patch_r82_1.dif (TEST/agressive patch) useful?

Patch for r89 attached.
Attachments
patch_r89.dif.zip
Linux patch for GZDoom r89
(1.59 KiB) Downloaded 143 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 »

Patch applied - after removing the parts that changed source code files. My local copy is always up to date with the latest ZDoom revision so this was already fixed.
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

Little patch for r92:
UPDATED2: Not working patch removed. Full patch is below.

Graf Zahl, should I do additional changes to the makefile to make it easier for automatic updates from zdoom's one? For example should I make GZDoom additions to be in their own lines rather than being appended to ZDoom's original lines?

ADDED: It seems I posted a patch too early. GZDoom crashes for me, crashlog attached
UPDATED: Debug build crashlog
UPDATED2: Crash fixed, see details below
Attachments
zdoom-crash.log.zip
Debug build crashlog
(5.09 KiB) Downloaded 132 times
Last edited by Costja on Mon Apr 14, 2008 17:08, edited 1 time in total.
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

Sorry, I couldn't find reasons of the crash and I don't have time to investigate it better. I didn't saw anything strange within extp and extensions vars via gdb (actually via graphical interface to it - insight).
As I said in the previous post, I replaced release build crashlog within debug build crashlog. I hope someone who has more knowledge can easily fix this crash.
Costja
Posts: 59
Joined: Thu Sep 08, 2005 20:02
Contact:

Post by Costja »

Fixed the crash. It was

Code: Select all

src/gl/gl_hirestex.cpp: In member function ‘int FGLTexture::CheckExternalFile(bool&)’:
src/gl/gl_hirestex.cpp:314: warning: cannot pass objects of non-POD type ‘class FString’ through ‘...’; call will abort at runtime
The patch is attached.

Copied to be not missed:
Graf Zahl, should I do additional changes to the makefile to make it easier for automatic updates from zdoom's one? For example should I make GZDoom additions to be in their own lines rather than being appended to ZDoom's original lines?

ADDED:
Damn,
nonPODWarn.cc:6: warning: cannot pass objects of non-POD type `struct
std::string' through `...'; call will abort at runtime

This warning should IMHO really be turned into an error. The diagnostic ends
with "... call will abort at runtime", which sounds pretty severe to me!
It cannot be as it is only undefined behavior and the C++ (and C standard by the way) says that
undefined behavior cannot be an error only a warning.

--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
Attachments
patch_r92.dif.zip
Patch for r92
(711 Bytes) Downloaded 145 times
Locked

Return to “GZDoom”