Jump to content
The Dark Mod Forums

Recommended Posts

Posted (edited)

after compiling when executing the program i get the following message and then a memory overflow:

$ darkradiant
Fatal Error: Mismatch between the program and library build versions detected.
The library used 3.1.2 (wchar_t,compiler with C++ ABI 1011,wx containers,compatible with 3.0),
and your program used 3.1.2 (wchar_t,compiler with C++ ABI 1013,wx containers,compatible with 3.0).
Avortat (s'ha bolcat la memòria)

it seems that ubuntu supplies the wx library compiled with the 2013 c++ ABI and darkradiant needs it compiled with 2011?

Edited by 7318

Biel Bestué de Luna - Github

Posted

I think it's the other way around, the wx packages provided by Ubuntu were compiled using the 1011 ABI, whereas you used a newer compiler to build DR. Which gcc version are you using, and is it the one from the default Ubuntu apt package?

 

I guess you can do two things: Either downgrade the compiler to some that is using ABI 1011, or recompile the wxGTK package for your system manually using the newer compiler.

Posted

Note that modern versions of Ubuntu package several different versions of GCC. On my system I have gcc-4.8, gcc-5 and gcc-7 all installed and available at the command line.

 

As greebo says, you should make sure that you are compiling DarkRadiant with the default compiler version which was used to compile the system wxWidgets libraries. A quick look at the release notes suggests this might be GCC 8.3, but I don't yet have 19.4 so I can't confirm for sure.

Posted

Maybe try setting the compiler via the environment before running the build:

 

CXX="g++-7" ./configure --enable-darkmod-plugins && make -j3 && make install

 

Something along these lines.

Posted (edited)

this is in the configure.ac file?

 

I've tried the line directly on the Darkradiant base folder and got this:

$ CXX="g++-7" ./configure --enable-darkmod-plugins && make -j3 && make install
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 make supports nested variables... (cached) yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a sed that does not truncate output... /bin/sed
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 whether make supports the include directive... yes (GNU style)
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 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 how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
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 msgfmt... yes
checking for msgmerge... yes
checking for xgettext... yes
checking whether we are using the GNU C++ compiler... no
checking whether g++-7 accepts -g... no
checking dependency style of g++-7... none
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm - interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... failed
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for ANSI C header files... no
checking for sys/types.h... no
checking for sys/stat.h... no
checking for stdlib.h... no
checking for string.h... no
checking for memory.h... no
checking for strings.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for unistd.h... no
checking for dlfcn.h... no
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... /lib/cpp
checking whether the g++-7 linker (/usr/bin/ld) supports shared libraries... yes
libtool.m4: error: problem compiling CXX test program
checking for g++-7 option to produce PIC...  -DPIC
checking if g++-7 PIC flag  -DPIC works... no
checking if g++-7 static flag  works... no
checking if g++-7 supports -c -o file.o... no
checking if g++-7 supports -c -o file.o... (cached) no
checking whether the g++-7 linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... unsupported
checking whether g++-7 supports C++11 features by default... no
checking whether g++-7 supports C++11 features with -std=c++11... no
checking whether g++-7 supports C++11 features with +std=c++11... no
checking whether g++-7 supports C++11 features with -h std=c++11... no
checking whether g++-7 supports C++11 features with -std=c++0x... no
checking whether g++-7 supports C++11 features with +std=c++0x... no
checking whether g++-7 supports C++11 features with -h std=c++0x... no
configure: error: *** A compiler with support for C++11 language features is required.

g++-7 should support c++11 features, isn't it?

Edited by 7318

Biel Bestué de Luna - Github

Posted (edited)

sudo update-alternatives --config gcc

 

tells me there is no alternative to choose from

 

after the update to Ubuntu 19.4 all I got is gcc-7 and gcc-8 installed, and only g++-8 installed.

 

Both gcc --version and g++ --version report as (Ubuntu 8.3.0-6ubuntu1) 8.3.0

 

maybe I should install g++-7?

Edited by 7318

Biel Bestué de Luna - Github

Posted

Well, I guess so. If the wxGTK package on Ubuntu was using g++7, then there's only two possibilities: either downgrade the compiler used to build DarkRaidant to g++-7 (that is using ABI 1011), or recompile the wxGTK package for your system manually using the newer g++-8 compiler.

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • JackFarmer

      "The Year of the Rat." 
      😄

      Al Stewart must be proud of you!
      Happy testing!
      @MirceaKitsune
      · 1 reply
    • datiswous

      I posted about it before, but I think the default tdm logo video looks outdated. For a (i.m.o.) better looking version, you can download the pk4 attached to this post and plonk it in your tdm root folder. Every mission that starts with the tdm logo then starts with the better looking one. Try for example mission COS1 Pearls and Swine.
      tdm_logo_video.pk4
      · 2 replies
    • JackFarmer

      Kill the bots! (see the "Who is online" bar)
      · 3 replies
    • STiFU

      I finished DOOM - The Dark Ages the other day. It is a decent shooter, but not as great as its predecessors, especially because of the soundtrack.
      · 5 replies
    • JackFarmer

      What do you know about a 40 degree day?
      @demagogue
      · 4 replies
×
×
  • Create New...