Trying to build latest .4 client when z-man merged sdl2

Help test release candidates for the next release
User avatar
compguygene
Adjust Outside Corner Grinder
Posts: 2342
Joined: Thu Aug 21, 2008 12:09 pm
Location: Cleveland, Ohio
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by compguygene »

All I can say is that I am certain that this is beyond my limited ability to debug. I have been reading the arma code and tinkering with integrating Z-man's Fortress AI into the current code. I just don't know enough about the whole codebase to really understand and figure out what is happening here. Hopefully what we have done will help provide Z-man with some ideas.
Armagetron: It's a video game that people should just play and enjoy :)
https://bit.ly/2KBGYjvCheck out the simple site about TheServerPharm
User avatar
kyle
Reverse Outside Corner Grinder
Posts: 1876
Joined: Thu Jun 08, 2006 3:33 pm
Location: Indiana, USA, Earth, Milky Way Galaxy, Universe, Multiverse
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by kyle »

I decided to pull and give it a go on Gentoo, configures compiles and builds just fine, However, it changes my screen resolution when it starts into full screen mode which makes my desktop icons/widgets get moved. (using KDE)

It also might help if you post the ./configure output as well as the full build log (probably in pastebin with links)
Image
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Trying to build latest .4 client when z-man merged sdl2

Post by Light »

kyle wrote:I decided to pull and give it a go on Gentoo, configures compiles and builds just fine, However, it changes my screen resolution when it starts into full screen mode which makes my desktop icons/widgets get moved. (using KDE)
Am I missing any packages, or do I have the wrong version of protobuf? It feels like from what the errors said that it's an issue with protobuf, but the older versions compiled just fine. I don't know if it's a realistic possibility, but any chance you could try a Debian-based distro?
User avatar
kyle
Reverse Outside Corner Grinder
Posts: 1876
Joined: Thu Jun 08, 2006 3:33 pm
Location: Indiana, USA, Earth, Milky Way Galaxy, Universe, Multiverse
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by kyle »

Don't really have a spare system / vm to try a debian based distro

Just found a really odd glitch though, going from full screen to windowed I get this, However it does eventually become readable

It seams so go to that odd offcolour backround when changing size until it looses focus and then is given focus again
You do not have the required permissions to view the files attached to this post.
Last edited by kyle on Wed Aug 19, 2015 4:11 am, edited 1 time in total.
Image
User avatar
aP|Nelg
Match Winner
Posts: 621
Joined: Wed Oct 22, 2014 10:22 pm
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by aP|Nelg »

kyle wrote:Don't really have a spare system / vm to try a debian based distro

Just found a really odd glitch though, going from full screen to windowed I get this, However it does eventually become readable
Eventually become readable?
User avatar
kyle
Reverse Outside Corner Grinder
Posts: 1876
Joined: Thu Jun 08, 2006 3:33 pm
Location: Indiana, USA, Earth, Milky Way Galaxy, Universe, Multiverse
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by kyle »

kyle wrote:It seams so go to that odd offcolour backround when changing size until it looses focus and then is given focus again
Just added that in, tested it a few more times and that seams to be how it becomes readable again
Image
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Trying to build latest .4 client when z-man merged sdl2

Post by Light »

kyle wrote:Don't really have a spare system / vm to try a debian based distro

Just found a really odd glitch though, going from full screen to windowed I get this, However it does eventually become readable
Looks like place holders for the text while it loads, but it shouldn't really take long enough to notice. Maybe if I get that far I'll let you know what happens to me. It could also be that it just resizes the text until it can redo it for the new resolution?

On a side note. Did you go to Google Code for protobuf, or did you use a distro supplied package?
User avatar
compguygene
Adjust Outside Corner Grinder
Posts: 2342
Joined: Thu Aug 21, 2008 12:09 pm
Location: Cleveland, Ohio
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by compguygene »

kyle wrote:It also might help if you post the ./configure output as well as the full build log (probably in pastebin with links)
Thanks for the guidance.

The full output from the configure command and make are found at http://pastebin.com/DZqnvv4W

I noticed that at line 156 there is some weird output from the configure command.

Code: Select all

./config.status: line 1239: `$as_dirname -- "$_am_arg" ||
$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \|   X"$_am_arg" : 'X\(//\)[^/]' \|          X"$_am_arg" : 'X\(//\)$' \|       X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$_am_arg" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
          }
          /^X\(\/\/\)[^/].*/{
            s//\1/
            q
          }
          /^X\(\/\/\)$/{
            s//\1/
            q
          }
          /^X\(\/\).*/{
            s//\1/
            q
          }
          s/.*/./; q'`/stamp-h1: Permission denied
I hope this helps.

Also. I installed protobuf from the ubuntu packages as specified on the wiki which has worked fine in past builds.
Armagetron: It's a video game that people should just play and enjoy :)
https://bit.ly/2KBGYjvCheck out the simple site about TheServerPharm
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Trying to build latest .4 client when z-man merged sdl2

Post by Light »

My configure output is ..

Code: Select all

checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether ln -s works... yes
checking for bison... bison -y
checking for m4... true
checking for style of include used by make... GNU
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking CXXFLAGS for gcc -nobodyreadsconfigureoutputanyway... no, unknown
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking how to run the C++ preprocessor... g++ -E
checking for gmake... no
checking for bash... yes
checking for boostlib >= 1.33.1... yes
checking whether make understands sinclude... yes
checking for socklen_t... yes
checking for X... libraries , headers 
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for xmlParseMemory in -lxml2... yes
checking for xmlParserInputBufferCreateFilenameDefault... yes
checking for _ZN5boost6system15system_categoryEv in -lboost_system... no
checking for _ZN5boost11this_thread5yieldEv in -lboost_thread... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for sys/stat.h... (cached) yes
checking for protoc... /usr/local/bin/protoc
checking for _ZN6google8protobuf7MessageD2Ev in -lprotobuf... yes
checking google/protobuf/message.h usability... yes
checking google/protobuf/message.h presence... yes
checking for google/protobuf/message.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for clock_gettime in -lrt... yes
checking for exp in -lm... yes
checking whether SDL2 is installed... yes
checking for SDL_GL_SetAttribute... yes
checking for Mix_OpenAudio in -lSDL2_mixer... yes
checking for XOpenDisplay in -lX11... yes
checking for glVertex3f in -lGL... yes
checking for gluBuild3DMipmaps in -lGLU... yes
checking for glewInit in -lGLEW... yes
checking GL/glew.h usability... yes
checking GL/glew.h presence... yes
checking for GL/glew.h... yes
checking whether libpng is installed... yes
checking for png_sig_cmp... yes
checking for ftglRenderGlyph in -lftgl... yes
checking for FT_Init_FreeType in -lfreetype... yes
checking whether FTGLPixmapFont.h is deprecated... yes
checking FTGL/ftgl.h usability... yes
checking FTGL/ftgl.h presence... yes
checking for FTGL/ftgl.h... yes
checking for IMG_Load in -lSDL2_image... yes
checking SDL_image.h usability... yes
checking SDL_image.h presence... yes
checking for SDL_image.h... yes
checking for ANSI C header files... (cached) yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for select... yes
checking for atan2f... yes
checking for sinf... yes
checking for cosf... yes
checking for tanf... yes
checking for sqrtf... yes
checking for logf... yes
checking for expf... yes
checking for fabsf... yes
checking for floorf... yes
checking for pow10... yes
checking for pow10f... yes
checking for isblank... yes
checking for wmemset... yes
checking alternative binary path /home/tom/armagetronad/launchpad/bin/games... no
checking alternative binary path /home/tom/armagetronad/launchpad/games... no
checking alternative binary path /home/tom/armagetronad/launchpad/games/bin... no
checking for /proc/self/maps... yes
checking whether everything is installed to the same prefix... yes
checking whether binary relocation support should be enabled... yes
checking for pthread_getspecific in -lpthread... yes
checking whether binary relocation should use threads... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating src/Makefile
config.status: creating src/protobuf/Makefile
config.status: creating src/first/Makefile
config.status: creating Makefile
config.status: creating batch/Makefile
config.status: creating language/languages.txt
config.status: creating config/rc.config
config.status: creating config/aiplayers.cfg
config.status: creating src/doc/Makefile
config.status: creating src/doc/net/Makefile
config.status: creating src/doc/Doxyfile
config.status: creating src/doc/html.m4
config.status: creating src/thirdparty/Makefile
config.status: creating src/thirdparty/particles/Makefile
config.status: creating src/thirdparty/mathexpr/Makefile
config.status: creating src/thirdparty/scrap/Makefile
config.status: creating src/swig/Makefile
config.status: creating resource/Makefile
config.status: creating config/Makefile
config.status: creating desktop/Makefile
config.status: creating www-root/Makefile
config.status: creating desktop/armagetronad-armagetronad.desktop
config.status: creating desktop/armagetronad-armagetronad-handler.desktop
config.status: creating desktop/armagetronad-link.xml
config.status: creating desktop/armagetronad.protocol
config.status: creating desktop/os-x/Info.plist
config.status: creating aa_config.h
config.status: aa_config.h is unchanged
config.status: executing depfiles commands
config.status: executing universal_variables commands
config.status: executing pathsubstitution commands
Configuration complete!

Options selected are:
     Build Regular Game Client: true
     Build Dedicated Server: false
     Build Master Server: false

Installation options:
     Prefix: /home/tom/armagetronad/launchpad

     Sound support: yes
     Particle System support: no
     Joystick support: yes
     Zones support: Basic, Fortress

     Binaries will be installed in      : ${prefix}/bin
     Static data will be installed in   : ${prefix}/share/games/armagetronad
     Configuration will be installed in : ${prefix}/etc/games/armagetronad
     Build with Krawall authentication support: no
     Ruby support: no
     Call sysinstall: no
     Generate uninstall: no
     Allow multiple versions: no
     Use custom memory manager: no
     Debug level : 0
     Code level  : 0
     CPPFLAGS    :  -I/usr/include/libxml2 -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/libpng12 -I/usr/include/FTGL -I/usr/include/freetype2  -I/usr/include/freetype2
     CXXFLAGS    : -O2 -pthread
     LIBS        : -lpthread -lSDL2_image -lGLEW -lGLU -lGL -lX11 -L/usr/X11R6/lib -lSDL2_mixer -L/usr/lib/x86_64-linux-gnu -lSDL2 -lm -lrt -lprotobuf  -lxml2   -lpng12 -lftgl  -lfreetype -lz -lpng12
User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: Trying to build latest .4 client when z-man merged sdl2

Post by Jip »

User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Trying to build latest .4 client when z-man merged sdl2

Post by Light »

I removed all the pb files and still end up with the wall of pb errors. What pb package did you use? I mean .. the one I have should be supporting the functions there, and the configure script detects it so ... I'm lost.
User avatar
compguygene
Adjust Outside Corner Grinder
Posts: 2342
Joined: Thu Aug 21, 2008 12:09 pm
Location: Cleveland, Ohio
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by compguygene »

I executed the command rm src/protobuf/*.pb.* and compiling did seem to go further but still ended in a similar error just not protobuf:

Code: Select all

g++   -I./tools -I./resource -I./thirdparty/mathexpr -I./thirdparty/utf8 -I./protobuf -Iprotobuf  -I./render -I./ui -I./thirdparty/shttpd -I./thirdparty/scrap     -I./network -I./engine -I./engine/sound -I./thirdparty/particles -I./tron -I./tron/cockpit -O2   -o armagetronad_main tron/armagetronad_main-gFloor.o tron/cockpit/armagetronad_main-cCockpit.o tron/cockpit/armagetronad_main-cMap.o tron/cockpit/armagetronad_main-cCamview.o tron/zone/armagetronad_main-zFortress.o libtron.a libenginecore.a libengine.a libnetwork.a libui.a librender.a libtools.a protobuf/libprotobuf.a thirdparty/mathexpr/libmathexpr.a thirdparty/particles/libparticles.a thirdparty/scrap/libscrap.a -lpthread -lSDL2_image -lGLEW -lGLU -lGL -lX11 -L/usr/X11R6/lib -lSDL2_mixer -L/usr/lib/x86_64-linux-gnu -lSDL2 -lm -lrt -lprotobuf -lboost_thread -lboost_system -lxml2   -lpng12 -lftgl  -lfreetype -lz -lpng12
thirdparty/scrap/libscrap.a(libscrap_a-scrap.o): In function `clipboard_filter(SDL_Event const*)':
scrap.cpp:(.text+0x141): undefined reference to `filter(SDL_Event const*)'
thirdparty/scrap/libscrap.a(libscrap_a-scrap.o): In function `init_scrap()':
scrap.cpp:(.text+0x340): undefined reference to `SDL_GetWMInfo'
collect2: error: ld returned 1 exit status
Makefile:1556: recipe for target 'armagetronad_main' failed
make[3]: *** [armagetronad_main] Error 1
make[3]: Leaving directory '/home/compguygene/0.4/src'
Makefile:4135: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/compguygene/0.4/src'
Makefile:758: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/compguygene/0.4'
Makefile:549: recipe for target 'all' failed
make: *** [all] Error 2
Armagetron: It's a video game that people should just play and enjoy :)
https://bit.ly/2KBGYjvCheck out the simple site about TheServerPharm
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by Z-Man »

D'oh, sorry for assuming you were all on Windows.
compguygene wrote:I executed the command rm src/protobuf/*.pb.* and compiling did seem to go further but still ended in a similar error just not protobuf:

Code: Select all

thirdparty/scrap/libscrap.a(libscrap_a-scrap.o): In function `clipboard_filter(SDL_Event const*)':
scrap.cpp:(.text+0x141): undefined reference to `filter(SDL_Event const*)'
That's easy. When you compiled against SDL1, libscap was compiled against it. And automake's dependency tracking mechanism does not realize that anything needs to be recompiled now that you're on SDL2 because it can only see file timestamps and does not realize the include paths have changed. So libscrap is still compiled against SDL1 and linked against SDL2.

Code: Select all

rm src/thirdparty/scrap/libscrap.a src/thirdparty/scrap/libscrap_a-scrap.o
should fix that, and if not, 'make clean'. There may be other files in a similarly inconsistent state. That would also have solved the inconsistent protobuf state.
Edit: That's also for Light, obviously.

By the way, everything SHOULD still compile with SDL1.2. I'll try to fix that. Edit: Done. Sorry, I should have checked that before the merge.
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Trying to build latest .4 client when z-man merged sdl2

Post by Light »

It took a while, but no luck. I sent the errors to a file, so here it is if it's any help ..
http://pastebin.com/4KPRrMZm
User avatar
compguygene
Adjust Outside Corner Grinder
Posts: 2342
Joined: Thu Aug 21, 2008 12:09 pm
Location: Cleveland, Ohio
Contact:

Re: Trying to build latest .4 client when z-man merged sdl2

Post by compguygene »

Thank you Z-Man. The game has compiled and installed. I tested it and ran into no problems at all.
Armagetron: It's a video game that people should just play and enjoy :)
https://bit.ly/2KBGYjvCheck out the simple site about TheServerPharm
Post Reply