Help with building citra on Debian Stretch

#1

Issue:
cannot get this to compile on Debian Stretch. I’ve carefully installed all it’s dependancies, but I still get compile error, with and without clang usage.

without clang:

in file included from /home/cheetah/work/citra/externals/dynarmic/src/common/fp/fused.cpp:10:0:
/home/cheetah/work/citra/externals/dynarmic/src/./common/u128.h: In constructor ‘Dynarmic::u128::u128(T)’:
/home/cheetah/work/citra/externals/dynarmic/src/./common/u128.h:29:23: error: ‘is_integral_v’ is not a member of ‘std’
         static_assert(std::is_integral_v<T>);
                       ^~~
compilation terminated due to -Wfatal-errors.
externals/dynarmic/src/CMakeFiles/dynarmic.dir/build.make:101: recipe for target 'externals/dynarmic/src/CMakeFiles/dynarmic.dir/common/fp/fused.cpp.o' failed
make[2]: *** [externals/dynarmic/src/CMakeFiles/dynarmic.dir/common/fp/fused.cpp.o] Error 1
CMakeFiles/Makefile2:264: recipe for target 'externals/dynarmic/src/CMakeFiles/dynarmic.dir/all' failed
make[1]: *** [externals/dynarmic/src/CMakeFiles/dynarmic.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

with clang:

In file included from /home/cheetah/work/citra/externals/cryptopp/cryptopp/cryptlib.cpp:20:
In file included from /home/cheetah/work/citra/externals/cryptopp/cryptopp/filters.h:22:
/home/cheetah/work/citra/externals/cryptopp/cryptopp/algparam.h:313:12: error: 
      no member named 'uncaught_exceptions' in namespace 'std'; did you mean
      'uncaught_exception'?
                if (std::uncaught_exceptions() == 0)
                    ~~~~~^~~~~~~~~~~~~~~~~~~
                         uncaught_exception
/usr/include/c++/v1/exception:117:23: note: 'uncaught_exception' declared here
_LIBCPP_FUNC_VIS bool uncaught_exception() _NOEXCEPT;
                      ^
1 error generated.
externals/cryptopp/CMakeFiles/cryptopp.dir/build.make:62: recipe for target 'externals/cryptopp/CMakeFiles/cryptopp.dir/cryptopp/cryptlib.cpp.o' failed
make[2]: *** [externals/cryptopp/CMakeFiles/cryptopp.dir/cryptopp/cryptlib.cpp.o] Error 1
CMakeFiles/Makefile2:170: recipe for target 'externals/cryptopp/CMakeFiles/cryptopp.dir/all' failed
make[1]: *** [externals/cryptopp/CMakeFiles/cryptopp.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

kinda feel like something important is missing, but I’ve checked and triple checked what the building page says to install and got it all in. hope this is ok to post here, any help would be great!

ps: https://citra-emu.org/wikis/faq referred to is 404

System Information

  • Operating System: Debian Stretch 9.5 (linux 4.18.0-0.bpo.1-amd64)
  • CPU: Intel® Core™ i5-4300Y CPU @ 1.60GHz
  • GPU: Intel integrated (Core i5)
  • Citra Version (found in title bar): latest, pulled from github 10-20-2018 1700 PDT
  • Game: n/a
1 Like
#3

In this context, std::is_integral and std::uncaught_exceptions alike are both C++17 features, so you need a newer compiler.

Where are you getting this from exactly?

1 Like
#4

Um when I posted the first time, when I opened the category dropdown, that link is in the support category, couldn’t click on it, but I could see it, and that’s what it pointed at.

Thanks for the info, I was on the right track in my thinking, I’ll see what I can do about upgrading my compiler. Thanks!

1 Like
#5

Hey @Chetar_Ruby, did you manage to get it to build on your machine?
I get exactly the same errors even when adding “-std=c++17” to the CXX_FLAGS even though my clang+±5.0 compiles C++17 Code fine using this flag…

#6

Afraid I never could get the thing to compile. I gave up. The only operating system that seems to have everything at just the right versions is Ubuntu 18.04. I don’t really care for Ubuntu due to stability issues.

Upgrading GCC on an existing system is a major undertaking I was unwilling to attempt. CLANG seemed to not work at all, so I dunno. Build it on Ubuntu I guess, or get a pre-build binary.

#7

Thank you very much for the reply!
I thought for a split second about upgrading GCC but quickly thought better of it… The CLANG-stuff really annoys me, but I guess I’ll just try it on Ubuntu in a virtual box or something along those lines…