Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

grommile

Members
  • Content count

    155
  • Joined

  • Last visited

1 Follower

About grommile

  • Rank
    Junior Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. grommile

    Build trouble on Debian 10 (buster)

    Build fails in exactly the same way. It's not a source-level problem, it's a build script-level problem. I'll have a go at tweaking CMakeLists.txt. EDIT: OK. Got it to link and produce a working Eternity binary: diff --git a/CMakeLists.txt b/CMakeLists.txt index 86f73cfa..5050cb28 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -157,6 +157,7 @@ endif() ######################### Compiler: Features ################################## if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") TRY_CXX_COMPILER_FLAG(-std=c++17 FLAG_CXX_stdcxx17) + find_library(FILESYSTEM_LIBRARY libstdc++fs.a PATHS /usr/lib/gcc/x86_64-linux-gnu/8 ) endif() diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index bd7d71ee..94c1671a 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -127,6 +127,10 @@ if(MSVC) endif() endif() +if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) + target_link_libraries(eternity ${FILESYSTEM_LIBRARY}) +endif() + if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(eternity version) endif() When I don't have inflamed sinuses, I'll have a look at writing the find_library line properly.
  2. grommile

    Build trouble on Debian 10 (buster)

    I suspect the position is "the compiler is compliant, the standard library isn't yet".
  3. grommile

    MORTALITY OF THE DOOM SLAYER

    Classic Doomguy can run indefinitely at over 40 mph and carries a pistol, two shotguns, a rotary machine gun, a ridiculously fast-firing rocket launcher, two directed energy weapons (one of which is called the "BFG 9000" for good reason), and a buttload of ammo for aforesaid weapons. Oh, and a chainsaw. This must be some new meaning of the words 'ordinary human' of which I was not previously aware :D
  4. grommile

    Build trouble on Debian 10 (buster)

    And we have a maintainer response: "these are features marked as experimental, and you need to link with libstdc++fs.a."
  5. grommile

    Build trouble on Debian 10 (buster)

    Bug 932546 on the BTS: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932546
  6. grommile

    Build trouble on Debian 10 (buster)

    ... Huh. Clang 7 explodes in exactly the same way on my test case. I'll raise it in the Debian BTS, since it's obvious that something is busted in buster.
  7. grommile

    Build trouble on Debian 10 (buster)

    After a bit of a poke around... whatever's blowing up is definitely a problem at my end or Debian's. I wrote a simple test case invoking std::filesystem::directory_iterator and that doesn't work either. Sorry for the noise.
  8. grommile

    Things in modern gaming that you dislike

    I'll double down on that, with "System Shock 2 is overrated, too" :)
  9. Eternity currently seems to not build on Debian 10 (buster - the current, and very recently released, stable). Everything compiles, but it blows up at link time: [ 20%] Linking CXX executable eternity /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `D_CheckBasePath(qstring const&)': d_files.cpp:(.text+0x12de): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: d_files.cpp:(.text+0x141e): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `D_CheckUserPath(qstring const&)': d_files.cpp:(.text+0x1a8a): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: d_files.cpp:(.text+0x1baa): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `D_GameAutoloadWads()': d_files.cpp:(.text+0x280b): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: d_files.cpp:(.text+0x2955): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `D_GameAutoloadDEH()': d_files.cpp:(.text+0x2b17): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: d_files.cpp:(.text+0x2cd1): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `D_GameAutoloadCSC()': d_files.cpp:(.text+0x2ec9): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: d_files.cpp:(.text+0x2ffe): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::path::path(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::filesystem::__cxx11::path::format)': d_files.cpp:(.text._ZNSt10filesystem7__cxx114pathC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_6formatE[_ZNSt10filesystem7__cxx114pathC5EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_6formatE]+0x4f): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::path::clear()': d_files.cpp:(.text._ZNSt10filesystem7__cxx114path5clearEv[_ZNSt10filesystem7__cxx114path5clearEv]+0x20): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::operator==(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)': d_files.cpp:(.text._ZNSt10filesystem7__cxx11eqERKNS0_4pathES3_[_ZNSt10filesystem7__cxx11eqERKNS0_4pathES3_]+0x1f): undefined reference to `std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::path::extension() const': d_files.cpp:(.text._ZNKSt10filesystem7__cxx114path9extensionEv[_ZNKSt10filesystem7__cxx114path9extensionEv]+0x19): undefined reference to `std::filesystem::__cxx11::path::_M_find_extension() const' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::directory_entry::status() const': d_files.cpp:(.text._ZNKSt10filesystem7__cxx1115directory_entry6statusEv[_ZNKSt10filesystem7__cxx1115directory_entry6statusEv]+0x14): undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::directory_entry::symlink_status() const': d_files.cpp:(.text._ZNKSt10filesystem7__cxx1115directory_entry14symlink_statusEv[_ZNKSt10filesystem7__cxx1115directory_entry14symlink_statusEv]+0x14): undefined reference to `std::filesystem::symlink_status(std::filesystem::__cxx11::path const&)' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::directory_iterator::directory_iterator(std::filesystem::__cxx11::path const&)': d_files.cpp:(.text._ZNSt10filesystem7__cxx1118directory_iteratorC2ERKNS0_4pathE[_ZNSt10filesystem7__cxx1118directory_iteratorC5ERKNS0_4pathE]+0x26): undefined reference to `std::filesystem::__cxx11::directory_iterator::directory_iterator(std::filesystem::__cxx11::path const&, std::filesystem::directory_options, std::error_code*)' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::path::path<char const*, std::filesystem::__cxx11::path>(char const* const&, std::filesystem::__cxx11::path::format)': d_files.cpp:(.text._ZNSt10filesystem7__cxx114pathC2IPKcS1_EERKT_NS1_6formatE[_ZNSt10filesystem7__cxx114pathC5IPKcS1_EERKT_NS1_6formatE]+0x64): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()' /usr/bin/ld: CMakeFiles/eternity.dir/d_files.cpp.o: in function `std::filesystem::__cxx11::path::path<char [5], std::filesystem::__cxx11::path>(char const (&) [5], std::filesystem::__cxx11::path::format)': d_files.cpp:(.text._ZNSt10filesystem7__cxx114pathC2IA5_cS1_EERKT_NS1_6formatE[_ZNSt10filesystem7__cxx114pathC5IA5_cS1_EERKT_NS1_6formatE]+0x5e): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()' /usr/bin/ld: CMakeFiles/eternity.dir/d_findiwads.cpp.o: in function `D_addSubDirectories(Collection<qstring>&, char const*)': d_findiwads.cpp:(.text+0x272): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: d_findiwads.cpp:(.text+0x3cf): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/d_findiwads.cpp.o: in function `D_checkPathForIWADs(qstring const&)': d_findiwads.cpp:(.text+0xcca): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: d_findiwads.cpp:(.text+0xe7d): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/d_findiwads.cpp.o: in function `D_checkForNoRest()': d_findiwads.cpp:(.text+0x11b1): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: d_findiwads.cpp:(.text+0x130e): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/d_findiwads.cpp.o: in function `std::filesystem::is_directory(std::filesystem::__cxx11::path const&, std::error_code&)': d_findiwads.cpp:(.text._ZNSt10filesystem12is_directoryERKNS_7__cxx114pathERSt10error_code[_ZNSt10filesystem12is_directoryERKNS_7__cxx114pathERSt10error_code]+0x1f): undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&, std::error_code&)' /usr/bin/ld: CMakeFiles/eternity.dir/d_findiwads.cpp.o: in function `std::filesystem::__cxx11::path::path<char*, std::filesystem::__cxx11::path>(char* const&, std::filesystem::__cxx11::path::format)': d_findiwads.cpp:(.text._ZNSt10filesystem7__cxx114pathC2IPcS1_EERKT_NS1_6formatE[_ZNSt10filesystem7__cxx114pathC5IPcS1_EERKT_NS1_6formatE]+0x64): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()' /usr/bin/ld: CMakeFiles/eternity.dir/mn_files.cpp.o: in function `MN_ReadDirectory(mndir_s*, char const*, char const* const*, unsigned long, bool)': mn_files.cpp:(.text+0x615): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: mn_files.cpp:(.text+0x817): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/mn_files.cpp.o: in function `std::filesystem::__cxx11::path::operator/=(std::filesystem::__cxx11::path const&)': mn_files.cpp:(.text._ZNSt10filesystem7__cxx114pathdVERKS1_[_ZNSt10filesystem7__cxx114pathdVERKS1_]+0x3d): undefined reference to `std::filesystem::__cxx11::path::has_filename() const' /usr/bin/ld: mn_files.cpp:(.text._ZNSt10filesystem7__cxx114pathdVERKS1_[_ZNSt10filesystem7__cxx114pathdVERKS1_]+0x98): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()' /usr/bin/ld: CMakeFiles/eternity.dir/mn_files.cpp.o: in function `std::filesystem::__cxx11::path::is_absolute() const': mn_files.cpp:(.text._ZNKSt10filesystem7__cxx114path11is_absoluteEv[_ZNKSt10filesystem7__cxx114path11is_absoluteEv]+0x14): undefined reference to `std::filesystem::__cxx11::path::has_root_directory() const' /usr/bin/ld: CMakeFiles/eternity.dir/mn_files.cpp.o: in function `std::filesystem::exists(std::filesystem::__cxx11::path const&)': mn_files.cpp:(.text._ZNSt10filesystem6existsERKNS_7__cxx114pathE[_ZNSt10filesystem6existsERKNS_7__cxx114pathE]+0x14): undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)' /usr/bin/ld: CMakeFiles/eternity.dir/mn_files.cpp.o: in function `std::filesystem::__cxx11::path::path<char [3], std::filesystem::__cxx11::path>(char const (&) [3], std::filesystem::__cxx11::path::format)': mn_files.cpp:(.text._ZNSt10filesystem7__cxx114pathC2IA3_cS1_EERKT_NS1_6formatE[_ZNSt10filesystem7__cxx114pathC5IA3_cS1_EERKT_NS1_6formatE]+0x5e): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()' /usr/bin/ld: CMakeFiles/eternity.dir/w_wad.cpp.o: in function `WadDirectory::addDirectory(char const*)': w_wad.cpp:(.text+0x1512): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: w_wad.cpp:(.text+0x164d): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/w_wad.cpp.o: in function `W_recurseFiles(Collection<ArchiveDirFile>&, char const*, char const*, Collection<qstring>&, int)': w_wad.cpp:(.text+0x1cb2): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const' /usr/bin/ld: w_wad.cpp:(.text+0x1f4e): undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()' /usr/bin/ld: CMakeFiles/eternity.dir/w_wad.cpp.o: in function `std::filesystem::__cxx11::directory_entry::file_size() const': w_wad.cpp:(.text._ZNKSt10filesystem7__cxx1115directory_entry9file_sizeEv[_ZNKSt10filesystem7__cxx1115directory_entry9file_sizeEv]+0x14): undefined reference to `std::filesystem::file_size(std::filesystem::__cxx11::path const&)' collect2: error: ld returned 1 exit status make[2]: *** [source/CMakeFiles/eternity.dir/build.make:3919: source/eternity] Error 1 make[1]: *** [CMakeFiles/Makefile2:366: source/CMakeFiles/eternity.dir/all] Error 2 make: *** [Makefile:152: all] Error 2
  10. No, it isn't, and trying to rehash the thread Gez kindly linked to in the very first reply to this thread (where the reason why it went beyond "not stupid" into the realms of "the only sane thing to do" is explained in detail) is not going to be useful.
  11. grommile

    A whole year of 4800 Hell Knights! This time, it'll be finished!

    Deal me in to the resurrection :) Theme as before: Blood Processing.
  12. grommile

    Why not just create an entirely new engine for Doom?

    It's a lot of work, and there's no readily apparent reason to do it. Especially when GZDoom already exists.
  13. grommile

    maximum single level size

    The absolute limit for coordinates is -32768 to +32767. The practical limit, beyond which you start to get misbehaviour from the engine, is -16384 to +16383.
  14. I'm going for "there is no sky" and "the 'Blocks Sound' linedef flag exists and serves as a monster activation regulator more subtle than just slapping 'Ambush' on everything, so I should use it".
  15. grommile

    Does anyone still play zdoom 1.22?

    There's no particular point in playing an old build of an advanced source ports unless you have a favourite wad that only works properly on said old build. (Or a computer that can't handle later versions, I guess.)
×