(cc'ing submitter of the port) 2010/8/31 Anonymous <[email protected]>: > René Ladan <[email protected]> writes: > >> Hi, >> >> I was trying to build the future port games/avp-demo (ports/138806) on >> my 9.0-amd64 laptop >> with system gcc, but this failed because of SDL errors: >> >> gcc -m32 -g -Wall -pipe -Isrc -Isrc/include -Isrc/win95 -Isrc/avp >> -Isrc/avp/win95 -Isrc/avp/support -Isrc/avp/win95/frontend >> -Isrc/avp/win95/gadgets -I/usr/local/include/SDL -I/usr/local/include >> -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include -c -o src/main.o >> src/main.c >> In file included from /usr/local/include/SDL/SDL_main.h:26, >> from /usr/local/include/SDL/SDL.h:30, >> from src/main.c:6: >> /usr/local/include/SDL/SDL_stdinc.h:131: error: size of array >> 'SDL_dummy_uint64' is negative >> /usr/local/include/SDL/SDL_stdinc.h:132: error: size of array >> 'SDL_dummy_sint64' is negative > > -m32 is not supported yet, especially not by the ports tree. And even if > you manage to compile sources it wouldn't link against 64bit libs. > Hmm ok, I'll add a NOT_FOR_ARCH / ONLY_FOR_ARCH to the port.
> There is a way to compile 32bit ports on amd64 but it involves either > using chroot() or different LOCALBASE. The wine approach. > >> >> Note the -m32 flag passed to gcc, which is used to force generating >> 32-bit code on 64-bit >> platforms. The flag is set in the Makefile of the game itself. When I >> removed the flag I ran into >> code snippets which would need a rewrite for 64-bit platforms >> (typecasting, extending hash >> functions on pointers, etc). > > This just means the port is BROKEN on amd64. > >> I guess SDL is tellng that I cannot have 64-bit values on a 32-bit >> target when I have devel/sdl12 >> compiled as the native 64-bit version. Is this a limitation of SDL itself? > > I guess SDL inherits some values from <machine/*.h> headers. > > BTW, the port doesn't respect CC/CXX and LDFLAGS in make.conf/environ as > well as overrides CXXFLAGS. > > Also audio/openal is pretty ancient. Does the port not support > audio/openal-soft? > I've replaced this with USE_OPENAL=yes in my local copy of the Makefile, as well using the DOCSDIR and DATADIR macros. I'll change the port to also respect the above flags. > %% > --- avp_git/Makefile~ > +++ avp_git/Makefile > @@ -1,15 +1,8 @@ > -CC = gcc > -CXX = g++ > - > -CFLAGS = -m32 -g -Wall -pipe > -#CFLAGS += -O2 > -#CFLAGS += -DNDEBUG -O6 -ffast-math -fomit-frame-pointer -march=pentium3 > -mtune=pentium4 > - > CFLAGS += -Isrc -Isrc/include -Isrc/win95 -Isrc/avp -Isrc/avp/win95 > -Isrc/avp/support -Isrc/avp/win95/frontend -Isrc/avp/win95/gadgets > CFLAGS += $(shell sdl-config --cflags) $(shell openal-config --cflags) > -CXXFLAGS = $(CFLAGS) > +CXXFLAGS += $(CFLAGS) > > -LDLIBS = -m32 $(shell sdl-config --libs) $(shell openal-config --libs) > +LDLIBS = $(shell sdl-config --libs) $(shell openal-config --libs) > > ROOT = main.c files.c winapi.c stubs.c version.c mathline.c opengl.c fmv.c > oglfunc.c openal.c cdplayer.c menus.c net.c frustum.c kshape.c map.c maths.c > md5.c mem3dc.c mem3dcpp.cpp module.c morph.c object.c shpanim.c sphere.c > tables.c vdb.c > AVP = ai_sight.c avpview.c bh_agun.c bh_ais.c bh_alien.c bh_binsw.c > bh_cable.c bh_corpse.c bh_deathvol.c bh_debri.c bh_dummy.c bh_fan.c bh_far.c > bh_fhug.c bh_gener.c bh_ldoor.c bh_lift.c bh_light.c bh_lnksw.c bh_ltfx.c > bh_marin.c bh_mission.c bh_near.c bh_pargen.c bh_plachier.c bh_plift.c > bh_pred.c bh_queen.c bh_rubberduck.c bh_selfdest.c bh_snds.c bh_spcl.c > bh_swdor.c bh_track.c bh_types.c bh_videoscreen.c bh_waypt.c bh_weap.c > bh_xeno.c bonusabilities.c cconvars.cpp cdtrackselection.cpp cheatmodes.c > comp_map.c comp_shp.c consolelog.cpp davehook.cpp deaths.c decal.c > detaillevels.c dynamics.c dynblock.c equipmnt.c extents.c game.c > game_statistics.c gamecmds.cpp gamevars.cpp hmodel.c hud.c inventry.c > language.c lighting.c load_shp.c los.c mempool.c messagehistory.c > missions.cpp movement.c paintball.c particle.c pfarlocs.c pheromon.c player.c > pmove.c psnd.c psndproj.c pvisible.c savegame.c scream.cpp secstats.c sfx.c > stratdef.c targeting.c track.c triggers.c weapons.c > @@ -48,7 +41,7 @@ OBJ = $(ROOTOBJ) $(AVPOBJ) $(SHAPESOBJ) > all: avp > > avp: $(OBJ) > - $(CXX) -o avp $(OBJ) $(LDLIBS) > + $(CXX) -o avp $(OBJ) $(LDLIBS) $(LDFLAGS) > > clean: > -rm -rf $(OBJ) avp > %% > Note that "openal-config" is replaced by "pkg-config openal", I've also patched that. Thanks, Rene _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "[email protected]"
