Opened 2 months ago
Last modified 2 months ago
#4667 new bug
Start fails due to "Could not load cursor sprite. Exiting."
| Reported by: | krichter | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | unspecified |
| Component: | other | Version: | git/master |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Operating System: | All/Non-Specific |
Description
After building with ./autogen.sh && ./configure && make && sudo make install the start of the application fails due to Could not load cursor sprite. Exiting displayed in a dialog while
> warzone2100 ** (warzone2100:13200): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. info |02:38:15: [iV_loadImage_PNG:95] Could not open images/intfac/image_cursor_dest.png: File not found info |02:38:15: [iV_loadImage_PNG:95] Assert in Warzone: png_util.cpp:95 (fileHandle != nullptr), last script event: '' fatal |02:38:15: [init_system_ColorCursor:1276] Could not load cursor sprite. Exiting.
is logged to console. The user has no idea how to deal with this issue or even judge it's severity.
experienced with 3.2.3-172-g10b39fc53 on Ubuntu 17.10
Change History (6)
comment:1 Changed 2 months ago by Forgon
comment:2 Changed 2 months ago by krichter
This warning is caused by GNOME's ATK Bridge for assistive technologies, which can be suppressed by adding the line 'export NO_AT_BRIDGE=1' to the file '/etc/environment'.
Running env NO_AT_BRIDGE=1 warzone2100 doesn't help (I assume manipulating /etc/environment doesn't change that).
Did you compile from source or download a recent build from Buildbot?
I compiled like described above after cloning https://github.com/Warzone2100/warzone2100.git. This does not happen when I do the same with 3.2.3.
And do all dependencies for Warzone 2100 exist on your system?
configure output is (I assume a successful configure means that all dependency are available):
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 build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for style of include used by make... GNU checking for gcc... gcc 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 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 for gcc option to accept ISO C99... none needed checking for gcc option to accept ISO Standard C... (cached) none needed checking for gcc... ccompiler checking for ranlib... ranlib checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for g++... cxxcompiler checking whether perl executable path has been provided... no checking for perl... /usr/bin/perl checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for perl version... This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64-linux-gnu-thread-multi checking for gawk... (cached) gawk checking for zip... zip checking for unzip... unzip checking for a2x... a2x checking for wkhtmltopdf... wkhtmltopdf checking for pdflatex... pdflatex checking for hevea... no checking for hacha... no checking how to run the C preprocessor... gcc -E 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 minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes ./configure: line 6291: AX_C___BUILTIN_EXPECT: command not found checking for strlcpy... no checking for strlcat... no checking whether gcc accepts -fstack-protector... yes checking whether g++ accepts -fstack-protector... yes checking alloca.h usability... yes checking alloca.h presence... yes checking for alloca.h... yes checking sys/ucontext.h usability... yes checking sys/ucontext.h presence... yes checking for sys/ucontext.h... yes checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for shared library run path origin... done checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for pkg-config >= 0.9... found 0.29.1, ok checking for backend... SDL checking for QT5... yes checking for moc-qt5... no checking for moc... /usr/lib/x86_64-linux-gnu/qt5/bin/moc checking for uic-qt5... no checking for uic... /usr/lib/x86_64-linux-gnu/qt5/bin/uic checking for rcc-qt5... no checking for rcc... /usr/lib/x86_64-linux-gnu/qt5/bin/rcc checking for X... libraries , headers checking whether to build NSIS installer... no checking whether to compile in debug mode... yes checking whether the C compiler accepts the -Werror -Wno-switch -Wno-error=cpp flag... yes checking whether the C compiler accepts the -Werror -Wno-enum-compare -Wno-error=cpp flag... yes checking whether the C compiler accepts the -Werror -Wno-expansion-to-defined -Wno-error=cpp flag... yes checking for SDL... yes checking for PNG... yes checking for THEORA... yes checking for OPENAL... yes checking for VORBIS... yes checking for VORBISFILE... yes checking for GLEW... yes checking for nearbyint in -lm... yes checking physfs.h usability... yes checking physfs.h presence... yes checking for physfs.h... yes checking for PHYSFS_mount in -lphysfs... yes checking X11/extensions/Xrandr.h usability... yes checking X11/extensions/Xrandr.h presence... yes checking for X11/extensions/Xrandr.h... yes checking for main in -lGL... yes checking for main in -lGLU... yes checking for FRIBIDI... yes checking for FREETYPE... yes checking for HARFBUZZ... yes checking for FTC_Manager_New in -lfreetype... yes checking for FONTCONFIG... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating po/Makefile.in config.status: creating doc/Makefile config.status: creating icons/Makefile config.status: creating data/Makefile config.status: creating data/music/Makefile config.status: creating pkg/nsis/Makefile config.status: creating win32/Makefile config.status: creating tests/Makefile config.status: creating 3rdparty/miniupnpc/Makefile config.status: creating 3rdparty/micro-ecc/Makefile config.status: creating 3rdparty/sha2/Makefile config.status: creating lib/framework/Makefile config.status: creating lib/exceptionhandler/Makefile config.status: creating lib/gamelib/Makefile config.status: creating lib/ivis_opengl/Makefile config.status: creating lib/netplay/Makefile config.status: creating lib/qtgame/Makefile config.status: creating lib/sdl/Makefile config.status: creating lib/script/Makefile config.status: creating lib/sequence/Makefile config.status: creating lib/sound/Makefile config.status: creating lib/widget/Makefile config.status: creating tools/map/Makefile config.status: creating src/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile configure: configure: *** Running in debug mode! *** configure: configure: WARNING: Distributor unknown! configure: Use --with-distributor when compiling package for distribution configure: configure: Backend used: sdl
comment:3 Changed 2 months ago by Forgon
I could not reproduce this problem with a fresh installation of Ubuntu 17.10 (download here).
comment:4 Changed 2 months ago by krichter
Result of a git bisect was:
714399bfd5c9effa0a9b1bba8f26b625eadeb1da is the first bad commit
commit 714399bfd5c9effa0a9b1bba8f26b625eadeb1da
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date: Sun Aug 27 07:07:24 2017 +0200
Make zip file creation reproducible
by adding -X option to not store extra UNIX timestamps
and by sorting the recursed input file list
See https://reproducible-builds.org/ for why this is good.
:040000 040000 c4049263cd533ddbda8669148ad5041b40a4121d 0e0842760b6020165c8625d98682458e3a580bca M data
I couldn't build 3.2.3-89-g656b6ffd9 because sudo make install fails due to
make[2]: Entering directory '/mnt/data/sources/warzone2100/po' make[2]: *** No rule to make target '../data/base/script/text/cam3-1x.slo', needed by 'warzone2100.pot-update'. Stop. make[2]: Leaving directory '/mnt/data/sources/warzone2100/po' Makefile:573: recipe for target 'warzone2100.pot' failed make[1]: *** [warzone2100.pot] Error 2 make[1]: Leaving directory '/mnt/data/sources/warzone2100/po' Makefile:584: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1
so I skipped it in the bisect and assumed that it didn't have any impact on it.
comment:5 Changed 2 months ago by NoQ
Hint - you don't need to to sudo make install, you can simply run the game from the compile directory (i.e. src/warzone2100). Just in case this unblocks you or helps with bisecting.
comment:6 Changed 2 months ago by krichter
Hint - you don't need to to sudo make install, you can simply run the game from the compile directory (i.e. src/warzone2100). Just in case this unblocks you or helps with bisecting.
That's good to know, thanks, but the bisecting for this issue is completed successfully with the result posted above.
This warning is caused by GNOME's ATK Bridge for assistive technologies, which can be suppressed by adding the line 'export NO_AT_BRIDGE=1' to the file '/etc/environment'.
Did you compile from source or download a recent build from Buildbot? And do all dependencies for Warzone 2100 exist on your system?