Cemu icon indicating copy to clipboard operation
Cemu copied to clipboard

Problem building on Fedora

Open TriVoxel opened this issue 3 years ago • 22 comments

Following official build instructions for Fedora Linux, I encounter this error when building:

-- Checking for one of the modules 'zarchive'
-- Could NOT find ZArchive (missing: zarchive_LINK_LIBRARIES zarchive_FOUND) (found version "")
-- Configuring done
-- Generating done

This error comes a long way through the build process, and occurs while running the command cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -G Ninja

TriVoxel avatar Sep 18 '22 06:09 TriVoxel

How did you download the code? It seems that the Zarchive submodule is missing.

Tachi107 avatar Sep 23 '22 14:09 Tachi107

I can confirm this is an issue on Fedora 37 KDE Beta.

This is what I ran:

cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DPUBLIC_RELEASE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -CMAKE_BUILD_WITH_INSTALL_RPATH=ON -G Ninja

And this is where it breaks (same error):

 Checking for one of the modules 'zarchive'
-- Could NOT find ZArchive (missing: zarchive_LINK_LIBRARIES zarchive_FOUND) (found version "")
-- The ASM_NASM compiler identification is NASM
-- Found assembler: /usr/bin/nasm
-- Configuring incomplete, errors occurred!

To make sure I didn't do anything wrong I completelty removed the Cemu folder and recloned using the build instructions. Same error.

QushyQushy avatar Sep 24 '22 12:09 QushyQushy

Uhm, thinking about it it is possible that Zarchive is not the issue. Could you please include the full log?

Tachi107 avatar Sep 24 '22 12:09 Tachi107

Uhm, thinking about it it is possible that Zarchive is not the issue. Could you please include the full log?

CMakeError.log CMakeOutput.log

QushyQushy avatar Sep 24 '22 14:09 QushyQushy

Thanks, but those files do not include the full logs; I'd be great if you could also paste the console output of the cmake invocation itself :)

Tachi107 avatar Sep 24 '22 15:09 Tachi107

Thanks, but those files do not include the full logs; I'd be great if you could also paste the console output of the cmake invocation itself :)

$ cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DPUBLIC_RELEASE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -CMAKE_BUILD_WITH_INSTALL_RPATH=ON -G Ninja

loading initial cache file MAKE_BUILD_WITH_INSTALL_RPATH=ON
CMake Error: Error processing file: /home/qushy/Cemu/MAKE_BUILD_WITH_INSTALL_RPATH=ON
-- Running vcpkg install
Detecting compiler hash for triplet x64-linux...
All requested packages are currently installed.
Restored 0 package(s) from /home/qushy/.cache/vcpkg/archives in 781 ns. Use --debug to see more details.

Total elapsed time: 327.5 ms

The package boost is compatible with built-in CMake targets:

    find_package(Boost REQUIRED [COMPONENTS <libs>...])
    target_link_libraries(main PRIVATE Boost::boost Boost::<lib1> Boost::<lib2> ...)

The package openssl is compatible with built-in CMake targets:

    find_package(OpenSSL REQUIRED)
    target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)

The package zlib is compatible with built-in CMake targets:

    find_package(ZLIB REQUIRED)
    target_link_libraries(main PRIVATE ZLIB::ZLIB)

curl provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(CURL CONFIG REQUIRED)
    target_link_libraries(main PRIVATE CURL::libcurl)

The package fmt provides CMake targets:

    find_package(fmt CONFIG REQUIRED)
    target_link_libraries(main PRIVATE fmt::fmt)

    # Or use the header-only version
    target_link_libraries(main PRIVATE fmt::fmt-header-only)

glm provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(glm CONFIG REQUIRED)
    target_link_libraries(main PRIVATE glm::glm)

glslang provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(glslang CONFIG REQUIRED)
    # note: 5 additional targets are not displayed.
    target_link_libraries(main PRIVATE HLSL SPIRV glslang OGLCompiler)

imgui provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(imgui CONFIG REQUIRED)
    target_link_libraries(main PRIVATE imgui::imgui)

The package libpng is compatible with built-in CMake targets:

    find_package(PNG REQUIRED)
    target_link_libraries(main PRIVATE PNG::PNG)

libzip provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(libzip CONFIG REQUIRED)
    target_link_libraries(main PRIVATE libzip::zip)

pugixml provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(pugixml CONFIG REQUIRED)
    target_link_libraries(main PRIVATE pugixml pugixml::static pugixml::pugixml)

rapidjson provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(RapidJSON CONFIG REQUIRED)
    target_link_libraries(main PRIVATE rapidjson)

sdl2 provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(SDL2 CONFIG REQUIRED)
    target_link_libraries(main PRIVATE SDL2::SDL2 SDL2::SDL2main SDL2::SDL2-static)

The package wxwidgets provides CMake targets:

    find_package(wxWidgets CONFIG REQUIRED)
    target_link_libraries(main PRIVATE wx::core wx::base)

The package zstd provides CMake targets:

    find_package(zstd CONFIG REQUIRED)
    target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>)

-- Running vcpkg install - done
-- Found OpenSSL: /home/qushy/Cemu/build/vcpkg_installed/x64-linux/lib/libcrypto.a (found suitable version "3.0.5", minimum required is "3")  
-- Found ZLIB: optimized;/home/qushy/Cemu/build/vcpkg_installed/x64-linux/lib/libz.a;debug;/home/qushy/Cemu/build/vcpkg_installed/x64-linux/debug/lib/libz.a (found suitable version "1.2.12", minimum required is "1") 
-- RapidJSON found. Headers: /home/qushy/Cemu/build/vcpkg_installed/x64-linux/share/rapidjson/../../include
-- Found ZLIB: optimized;/home/qushy/Cemu/build/vcpkg_installed/x64-linux/lib/libz.a;debug;/home/qushy/Cemu/build/vcpkg_installed/x64-linux/debug/lib/libz.a (found version "1.2.12") 
-- Found OpenSSL: /home/qushy/Cemu/build/vcpkg_installed/x64-linux/lib/libcrypto.a (found version "3.0.5") found components: Crypto SSL 
-- Checking for one of the modules 'zarchive'
-- Could NOT find ZArchive (missing: zarchive_LINK_LIBRARIES zarchive_FOUND) (found version "")
-- Configuring incomplete, errors occurred!
See also "/home/qushy/Cemu/build/CMakeFiles/CMakeOutput.log".
See also "/home/qushy/Cemu/build/CMakeFiles/CMakeError.log".

QushyQushy avatar Sep 24 '22 15:09 QushyQushy

Il giorno sab 24 set 2022 alle 08:43:20 -07:00:00, QushyQushy @.***> ha scritto:

$ cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DPUBLIC_RELEASE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -CMAKE_BUILD_WITH_INSTALL_RPATH=ON -G Ninja loading initial cache file MAKE_BUILD_WITH_INSTALL_RPATH=ON CMake Error: Error processing file: /home/qushy/Cemu/MAKE_BUILD_WITH_INSTALL_RPATH=ON

The error is in the first line. Instead of -CMAKE_BUILD_WITH_INSTALL_RPATH=ON you should be probably passing -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON (note the missing "D", which stands for "define").

Tachi107 avatar Sep 24 '22 15:09 Tachi107

Oh yeah thanx! :)

Well, still fails at Zarchive.

EDIT: Actually the build files were written, able to compile somewhat now but copmilation fails at:

usr/bin/ld: cannot find -lcoregrind-amd64-linux: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
/usr/bin/ld: cannot find -lvex-amd64-linux: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
collect2: σφάλμα: η ld επέστρεψε κατάσταση εξόδου 1

It says No such file or Directory for -lcoregrind-amd64-linux and -lvex-amd64-linux

QushyQushy avatar Sep 24 '22 15:09 QushyQushy

Il giorno sab 24 set 2022 alle 08:53:55 -07:00:00, QushyQushy @.***> ha scritto:

Well, still fails at Zarchive.

It isn't failing at Zarchive, it's simply telling you that the library wasn't found on your system; when this happens, Cemu falls back to using the bundled version in dependencies/ZArchive/.

https://github.com/cemu-project/Cemu/blob/101ff7783ea8d39bbf0d8f2ec7c3f65168870d65/CMakeLists.txt#L141-L144

Is the configure phase still failing though? What's the error now?

Tachi107 avatar Sep 24 '22 15:09 Tachi107

Il giorno sab 24 set 2022 alle 08:53:55 -07:00:00, QushyQushy @.***> ha scritto: Well, still fails at Zarchive. It isn't failing at Zarchive, it's simply telling you that the library wasn't found on your system; when this happens, Cemu falls back to using the bundled version in dependencies/ZArchive/. https://github.com/cemu-project/Cemu/blob/101ff7783ea8d39bbf0d8f2ec7c3f65168870d65/CMakeLists.txt#L141-L144 Is the configure phase still failing though? What's the error now?

Updated the post with the error I'm getting during cmake --build build.

QushyQushy avatar Sep 24 '22 15:09 QushyQushy

EDIT: Actually the build files were written, able to compile somewhat now but copmilation fails at:

usr/bin/ld: cannot find -lcoregrind-amd64-linux: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
/usr/bin/ld: cannot find -lvex-amd64-linux: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
collect2: σφάλμα: η ld επέστρεψε κατάσταση εξόδου 1

It says No such file or Directory for -lcoregrind-amd64-linux and -lvex-amd64-linux

Mh, never saw those libraries before. To make debugging easier, could you please set your terminal session to display messages in English? You can do so by running export LANG=C.UTF-8.

Then, just to be sure that the issue is not related to caches or old files, please delete your build directory (with rm -r build/) and try to rebuild Cemu. If it still fails, you could maybe try to delete the vcpkg folder or try to build without using vcpkg at all; I don't know how you can reset vcpkg's state (you should ask the project developers for that), but to build without vcpkg you can pass -DENABLE_VCPKG=false to cmake.

Tachi107 avatar Sep 24 '22 16:09 Tachi107

[281/471] Building CXX object src/Cafe/CMakeFiles/CemuCafe.dir/IOSU/legacy/iosu_crypto.cpp.o
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp: In function ‘EC_KEY* ECCPubKey_getPublicKey(ECCPubKey&)’:
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp:151:53: warning: ‘EC_KEY* EC_KEY_new_by_curve_name(int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  151 |         EC_KEY* ec_pubKey = EC_KEY_new_by_curve_name(NID_sect233r1);
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
In file included from /home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp:6:
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:998:31: note: declared here
  998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp:152:57: warning: ‘int EC_KEY_set_public_key_affine_coordinates(EC_KEY*, BIGNUM*, BIGNUM*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  152 |         int r = EC_KEY_set_public_key_affine_coordinates(ec_pubKey, bn_r, bn_s);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1122:27: note: declared here
 1122 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp: In function ‘void iosuCrypto_generateDeviceCertificate()’:
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp:276:45: warning: ‘int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP*, const EC_POINT*, BIGNUM*, BIGNUM*, BN_CTX*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  276 |         EC_POINT_get_affine_coordinates_GF2m(group, pubkey, bn_x, bn_y, NULL);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:712:27: note: declared here
  712 | OSSL_DEPRECATEDIN_3_0 int EC_POINT_get_affine_coordinates_GF2m
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp: In function ‘bool iosuCrypto_loadCertificate(uint32, std::wstring_view, std::wstring_view)’:
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp:359:44: warning: ‘RSA* d2i_RSAPrivateKey(RSA**, const unsigned char**, long int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  359 |                 pkeyRSA = d2i_RSAPrivateKey(nullptr, (const unsigned char **)&pkeyTempPtr, pkeyData->size());
      |                           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:92:
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/rsa.h:309:1: note: declared here
  309 | DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(OSSL_DEPRECATEDIN_3_0,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp: In function ‘bool iosuCrypto_addClientCertificate(void*, sint32)’:
/home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp:399:54: warning: ‘int SSL_CTX_use_RSAPrivateKey(SSL_CTX*, RSA*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  399 |                         if (SSL_CTX_use_RSAPrivateKey(ctx, iosuCryptoCertificates.certList[i].pkey) != 1)
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/qushy/Cemu/src/Cafe/IOSU/legacy/iosu_crypto.cpp:8:
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ssl.h:1810:12: note: declared here
 1810 | __owur int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
[309/471] Building CXX object src/Cafe/CMakeFiles/CemuCafe.dir/OS/libs/coreinit/coreinit_OSScreen.cpp.o
/home/qushy/Cemu/src/Cafe/OS/libs/coreinit/coreinit_OSScreen.cpp: In function ‘void coreinit::coreinitExport_OSScreenFlipBuffersEx(PPCInterpreter_t*)’:
/home/qushy/Cemu/src/Cafe/OS/libs/coreinit/coreinit_OSScreen.cpp:100:60: warning: ‘++’ expression of ‘volatile’-qualified type is deprecated [-Wvolatile]
  100 |                 LatteGPUState.osScreen.screen[screenIndex].flipRequestCount++;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
[400/471] Building CXX object src/Cafe/CMakeFiles/CemuCafe.dir/OS/libs/snd_user/snd_user.cpp.o
/home/qushy/Cemu/src/Cafe/OS/libs/snd_user/snd_user.cpp: In function ‘snd::user::_MIXChannelResetDRC(snd::user::MixChannel*, int)’:
/home/qushy/Cemu/src/Cafe/OS/libs/snd_user/snd_user.cpp:252:68: warning: iteration 3 invokes undefined behavior [-Waggressive-loop-optimizations]
  252 |                                 channel->drc_control[index].aux[i] = -960;
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/qushy/Cemu/src/Cafe/OS/libs/snd_user/snd_user.cpp:250:46: note: within this loop
  250 |                         for (size_t i = 0; i < AX_MAX_NUM_BUS; ++i)
      |                                            ~~^~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cafe/OS/libs/snd_user/snd_user.cpp: In function ‘snd::user::_MIXChannelResetRmt(snd::user::MixChannel*, int)’:
/home/qushy/Cemu/src/Cafe/OS/libs/snd_user/snd_user.cpp:277:68: warning: iteration 3 invokes undefined behavior [-Waggressive-loop-optimizations]
  277 |                                 channel->rmt_control[index].aux[i] = -960;
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/qushy/Cemu/src/Cafe/OS/libs/snd_user/snd_user.cpp:275:46: note: within this loop
  275 |                         for (size_t i = 0; i < AX_MAX_NUM_BUS; ++i)
      |                                            ~~^~~~~~~~~~~~~~~~
[418/471] Building CXX object src/Cemu/CMakeFiles/CemuComponents.dir/ncrypto/ncrypto.cpp.o
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In static member function ‘static bool NCrypto::ETicketParser::Depersonalize(uint8*, size_t, uint32, const NCrypto::ECCPrivKey&)’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:364:52: warning: ‘int ECDH_compute_key(void*, size_t, const EC_POINT*, const EC_KEY*, void* (*)(const void*, size_t, void*, size_t*))’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  364 |                 int sharedKeyLen = ECDH_compute_key(sharedKey, sizeof(sharedKey), ec_publicKey, ec_privKey, nullptr);
      |                                    ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:6:
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1296:27: note: declared here
 1296 | OSSL_DEPRECATEDIN_3_0 int ECDH_compute_key(void *out, size_t outlen,
      |                           ^~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:366:28: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  366 |                 EC_KEY_free(ec_privKey);
      |                 ~~~~~~~~~~~^~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In member function ‘void NCrypto::ECCPrivKey::setPrivateKey(EC_KEY*)’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:485:66: warning: ‘const BIGNUM* EC_KEY_get0_private_key(const EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  485 |                 const BIGNUM* bnPrivKey = EC_KEY_get0_private_key(key);
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1048:37: note: declared here
 1048 | OSSL_DEPRECATEDIN_3_0 const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key);
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In member function ‘EC_KEY* NCrypto::ECCPrivKey::getPrivateKey() const’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:494:62: warning: ‘EC_KEY* EC_KEY_new_by_curve_name(int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  494 |                 EC_KEY* ec_privKey = EC_KEY_new_by_curve_name(NID_sect233r1);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:998:31: note: declared here
  998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:495:39: warning: ‘int EC_KEY_set_private_key(EC_KEY*, const BIGNUM*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  495 |                 EC_KEY_set_private_key(ec_privKey, bn_privKey);
      |                 ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1056:27: note: declared here
 1056 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv);
      |                           ^~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In member function ‘EC_KEY* NCrypto::ECCPubKey::getPublicKey()’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:516:61: warning: ‘EC_KEY* EC_KEY_new_by_curve_name(int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  516 |                 EC_KEY* ec_pubKey = EC_KEY_new_by_curve_name(NID_sect233r1);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:998:31: note: declared here
  998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:517:65: warning: ‘int EC_KEY_set_public_key_affine_coordinates(EC_KEY*, BIGNUM*, BIGNUM*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  517 |                 int r = EC_KEY_set_public_key_affine_coordinates(ec_pubKey, bn_x, bn_y);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1122:27: note: declared here
 1122 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In static member function ‘static NCrypto::ECCPubKey NCrypto::ECCPubKey::generateFromPrivateKey(NCrypto::ECCPrivKey&)’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:553:53: warning: ‘int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP*, const EC_POINT*, BIGNUM*, BIGNUM*, BN_CTX*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  553 |                 EC_POINT_get_affine_coordinates_GF2m(group, pubkey, bn_x, bn_y, NULL);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:712:27: note: declared here
  712 | OSSL_DEPRECATEDIN_3_0 int EC_POINT_get_affine_coordinates_GF2m
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In member function ‘bool NCrypto::CertECC::verifySignatureViaPubKey(NCrypto::ECCPubKey&)’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:624:40: warning: ‘int ECDSA_do_verify(const unsigned char*, int, const ECDSA_SIG*, EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  624 |                 int r = ECDSA_do_verify(hash, sizeof(hash), ecSig, ecPubKey);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1391:27: note: declared here
 1391 | OSSL_DEPRECATEDIN_3_0 int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
      |                           ^~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:627:28: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  627 |                 EC_KEY_free(ecPubKey);
      |                 ~~~~~~~~~~~^~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In member function ‘void NCrypto::CertECC::sign(NCrypto::ECCPrivKey&)’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:639:47: warning: ‘ECDSA_SIG* ECDSA_do_sign(const unsigned char*, int, EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  639 |                 ECDSA_SIG* sig = ECDSA_do_sign(hash, sizeof(hash), ec_privKey);
      |                                  ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1365:34: note: declared here
 1365 | OSSL_DEPRECATEDIN_3_0 ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst,
      |                                  ^~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:640:28: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  640 |                 EC_KEY_free(ec_privKey);
      |                 ~~~~~~~~~~~^~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In function ‘NCrypto::ECCSig NCrypto::signHash(uint32, uint32, uint8*, sint32, CertECC&)’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:689:62: warning: ‘EC_KEY* EC_KEY_new_by_curve_name(int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  689 |                 EC_KEY* ec_keyPair = EC_KEY_new_by_curve_name(NID_sect233r1);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:998:31: note: declared here
  998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:690:36: warning: ‘int EC_KEY_generate_key(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  690 |                 EC_KEY_generate_key(ec_keyPair);
      |                 ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1101:27: note: declared here
 1101 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_generate_key(EC_KEY *key);
      |                           ^~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:695:28: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  695 |                 EC_KEY_free(ec_keyPair);
      |                 ~~~~~~~~~~~^~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:705:47: warning: ‘ECDSA_SIG* ECDSA_do_sign(const unsigned char*, int, EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  705 |                 ECDSA_SIG* sig = ECDSA_do_sign(hash, hashLen, ec_privKey);
      |                                  ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1365:34: note: declared here
 1365 | OSSL_DEPRECATEDIN_3_0 ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst,
      |                                  ^~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:706:28: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  706 |                 EC_KEY_free(ec_privKey);
      |                 ~~~~~~~~~~~^~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:710:47: warning: ‘int ECDSA_do_verify(const unsigned char*, int, const ECDSA_SIG*, EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  710 |                 bool isValid = ECDSA_do_verify(hash, hashLen, sig, ec_pubKey) == 1;
      |                                ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1391:27: note: declared here
 1391 | OSSL_DEPRECATEDIN_3_0 int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
      |                           ^~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:711:28: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  711 |                 EC_KEY_free(ec_pubKey);
      |                 ~~~~~~~~~~~^~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp: In function ‘bool NCrypto::verifyHashSignature(uint8*, sint32, ECCPubKey&, ECCSig&)’:
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:732:41: warning: ‘int ECDSA_do_verify(const unsigned char*, int, const ECDSA_SIG*, EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  732 |                 bool r = ECDSA_do_verify(hash, hashLen, ecdsa_sig, ec_pubKey) == 1;
      |                          ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1391:27: note: declared here
 1391 | OSSL_DEPRECATEDIN_3_0 int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
      |                           ^~~~~~~~~~~~~~~
/home/qushy/Cemu/src/Cemu/ncrypto/ncrypto.cpp:734:28: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  734 |                 EC_KEY_free(ec_pubKey);
      |                 ~~~~~~~~~~~^~~~~~~~~~~
/home/qushy/Cemu/build/vcpkg_installed/x64-linux/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
[471/471] Linking CXX executable /home/qushy/Cemu/bin/Cemu_release
FAILED: /home/qushy/Cemu/bin/Cemu_release 
: && /usr/bin/g++ -O3 -DNDEBUG -flto=auto -fno-fat-lto-objects  src/CMakeFiles/CemuBin.dir/main.cpp.o src/CMakeFiles/CemuBin.dir/mainLLE.cpp.o -o /home/qushy/Cemu/bin/Cemu_release  src/audio/libCemuAudio.a  src/Cafe/libCemuCafe.a  src/Common/libCemuCommon.a  src/Cemu/libCemuComponents.a  src/config/libCemuConfig.a  src/gui/libCemuGui.a  src/input/libCemuInput.a  src/util/libCemuUtil.a  vcpkg_installed/x64-linux/lib/libSDL2.a  vcpkg_installed/x64-linux/lib/libwx_baseu-3.2.a  vcpkg_installed/x64-linux/lib/libwx_gtk3u_core-3.2.a  src/resource/libCemuResource.a  src/imgui/libimguiImpl.a  src/audio/libCemuAudio.a  src/Cafe/libCemuCafe.a  src/Common/libCemuCommon.a  src/Cemu/libCemuComponents.a  src/config/libCemuConfig.a  src/gui/libCemuGui.a  src/input/libCemuInput.a  src/util/libCemuUtil.a  src/resource/libCemuResource.a  src/imgui/libimguiImpl.a  src/asm/libCemuAsm.a  vcpkg_installed/x64-linux/lib/libSPIRV.a  vcpkg_installed/x64-linux/lib/libMachineIndependent.a  vcpkg_installed/x64-linux/lib/libOGLCompiler.a  vcpkg_installed/x64-linux/lib/libOSDependent.a  vcpkg_installed/x64-linux/lib/libGenericCodeGen.a  dependencies/ih264d/libih264d.a  vcpkg_installed/x64-linux/lib/libpng16.a  vcpkg_installed/x64-linux/lib/libboost_filesystem.a  /usr/lib64/libXrender.so  /usr/lib64/libX11.so  vcpkg_installed/x64-linux/lib/libfmt.a  dependencies/discord-rpc/src/libdiscord-rpc.a  -lpthread  /usr/lib64/libcubeb.so.0  vcpkg_installed/x64-linux/lib/libcurl.a  vcpkg_installed/x64-linux/lib/libssl.a  dependencies/ZArchive/libzarchive.a  vcpkg_installed/x64-linux/lib/libzstd.a  vcpkg_installed/x64-linux/lib/libzip.a  vcpkg_installed/x64-linux/lib/libz.a  vcpkg_installed/x64-linux/lib/libwx_gtk3u_gl-3.2.a  /usr/lib64/libGLU.so  /usr/lib64/libGLX.so  /usr/local/lib64/libEGL.so  /usr/lib64/libOpenGL.so  -lffi  vcpkg_installed/x64-linux/lib/libwx_gtk3u_propgrid-3.2.a  vcpkg_installed/x64-linux/lib/libwx_gtk3u_xrc-3.2.a  vcpkg_installed/x64-linux/lib/libwx_gtk3u_html-3.2.a  vcpkg_installed/x64-linux/lib/libwx_baseu_xml-3.2.a  vcpkg_installed/x64-linux/lib/libexpat.a  vcpkg_installed/x64-linux/lib/libSDL2.a  -lwayland-egl  -lwayland-client  -lwayland-cursor  -lEGL  -lxkbcommon  -ldbus-1  -lrt  -Wl,--no-undefined  -pthread  vcpkg_installed/x64-linux/lib/libpugixml.a  vcpkg_installed/x64-linux/lib/libboost_program_options.a  vcpkg_installed/x64-linux/lib/libwx_gtk3u_core-3.2.a  vcpkg_installed/x64-linux/lib/libwx_baseu-3.2.a  -lc  -lm  vcpkg_installed/x64-linux/lib/libz.a  /usr/lib64/libgtk-3.so  /usr/lib64/libgdk-3.so  /usr/lib64/libz.so  -lm  /usr/lib64/libglib-2.0.so  /usr/lib64/libpcre2-8.so  /usr/lib64/libffi.so  /usr/lib64/libfreetype.so  /usr/lib64/libbrotlicommon.so  /usr/lib64/libgio-2.0.so  /usr/lib64/libgobject-2.0.so  /usr/lib64/libgmodule-2.0.so  /usr/lib64/libblkid.so  /usr/lib64/libsepol.so  /usr/lib64/libfribidi.so  /usr/lib64/libdatrie.so  /usr/lib64/libgraphite2.so  /usr/lib64/libxml2.so  vcpkg_installed/x64-linux/lib/liblzma.a  /usr/lib64/libXrender.so  /usr/lib64/libpthread.a  /usr/lib64/libxcb.so  /usr/lib64/libXau.so  /usr/lib64/libdl.a  /usr/lib64/libpangocairo-1.0.so  /usr/lib64/libpango-1.0.so  /usr/lib64/libcairo.so  /usr/lib64/libharfbuzz-gobject.so  vcpkg_installed/x64-linux/lib/libpng16.a  /usr/lib64/libgdk_pixbuf-2.0.so  /usr/lib64/libcairo-gobject.so  /usr/lib64/libfontconfig.so  /usr/lib64/libXcomposite.so  /usr/lib64/libXdamage.so  /usr/lib64/libwayland-client.so  /usr/lib64/librt.a  /usr/lib64/libepoxy.so  -lcoregrind-amd64-linux  -lvex-amd64-linux  -lgcc  /usr/lib64/libcloudproviders.so  /usr/lib64/libatk-1.0.so  vcpkg_installed/x64-linux/lib/libtiff.a  vcpkg_installed/x64-linux/lib/libjpeg.a  /usr/lib64/libatk-bridge-2.0.so  /usr/lib64/libsystemd.so  /usr/lib64/libatspi.so  /usr/lib64/libdbus-1.so  /usr/lib64/libXtst.so  /usr/lib64/libxkbcommon.so  /usr/lib64/libwayland-cursor.so  /usr/lib64/libwayland-egl.so  /usr/lib64/libGL.so  /usr/lib64/libEGL.so  /usr/lib64/libX11-xcb.so  /usr/lib64/libxcb-glx.so  /usr/lib64/libxcb-dri2.so  /usr/lib64/libdrm.so  /usr/lib64/libpangoft2-1.0.so  /usr/lib64/libthai.so  /usr/lib64/libXft.so  /usr/lib64/libxcb-render.so  /usr/lib64/libxcb-shm.so  /usr/lib64/libpixman-1.so  /usr/lib64/libharfbuzz.so  /usr/lib64/libbz2.so  /usr/lib64/libbrotlidec.so  /usr/lib64/libmount.so  /usr/lib64/libselinux.so  /usr/lib64/libsysprof-capture-4.a  /usr/lib64/libz.so  -lm  /usr/lib64/libglib-2.0.so  /usr/lib64/libpcre2-8.so  /usr/lib64/libffi.so  /usr/lib64/libfreetype.so  /usr/lib64/libbrotlicommon.so  /usr/lib64/libgio-2.0.so  /usr/lib64/libgobject-2.0.so  /usr/lib64/libgmodule-2.0.so  /usr/lib64/libblkid.so  /usr/lib64/libsepol.so  /usr/lib64/libfribidi.so  /usr/lib64/libdatrie.so  /usr/lib64/libgraphite2.so  /usr/lib64/libxml2.so  vcpkg_installed/x64-linux/lib/liblzma.a  /usr/lib64/libXrender.so  /usr/lib64/libpthread.a  /usr/lib64/libxcb.so  /usr/lib64/libXau.so  /usr/lib64/libdl.a  /usr/lib64/libpangocairo-1.0.so  /usr/lib64/libpango-1.0.so  /usr/lib64/libcairo.so  /usr/lib64/libharfbuzz-gobject.so  vcpkg_installed/x64-linux/lib/libpng16.a  /usr/lib64/libgdk_pixbuf-2.0.so  /usr/lib64/libcairo-gobject.so  /usr/lib64/libfontconfig.so  /usr/lib64/libXcomposite.so  /usr/lib64/libXdamage.so  /usr/lib64/libwayland-client.so  /usr/lib64/librt.a  /usr/lib64/libepoxy.so  -lcoregrind-amd64-linux  -lvex-amd64-linux  -lgcc  /usr/lib64/libcloudproviders.so  /usr/lib64/libatk-1.0.so  vcpkg_installed/x64-linux/lib/libtiff.a  vcpkg_installed/x64-linux/lib/libjpeg.a  /usr/lib64/libatk-bridge-2.0.so  /usr/lib64/libsystemd.so  /usr/lib64/libatspi.so  /usr/lib64/libdbus-1.so  /usr/lib64/libXtst.so  /usr/lib64/libxkbcommon.so  /usr/lib64/libwayland-cursor.so  /usr/lib64/libwayland-egl.so  /usr/lib64/libGL.so  /usr/lib64/libEGL.so  /usr/lib64/libX11-xcb.so  /usr/lib64/libxcb-glx.so  /usr/lib64/libxcb-dri2.so  /usr/lib64/libdrm.so  /usr/lib64/libpangoft2-1.0.so  /usr/lib64/libthai.so  /usr/lib64/libXft.so  /usr/lib64/libxcb-render.so  /usr/lib64/libxcb-shm.so  /usr/lib64/libpixman-1.so  /usr/lib64/libharfbuzz.so  /usr/lib64/libbz2.so  /usr/lib64/libbrotlidec.so  /usr/lib64/libmount.so  /usr/lib64/libselinux.so  /usr/lib64/libsysprof-capture-4.a  /usr/lib64/libX11.so  /usr/lib64/libXcursor.so  /usr/lib64/libXinerama.so  /usr/lib64/libXi.so  /usr/lib64/libXfixes.so  /usr/lib64/libXrandr.so  /usr/lib64/libXxf86vm.so  /usr/lib64/libXext.so  vcpkg_installed/x64-linux/lib/libboost_nowide.a  vcpkg_installed/x64-linux/lib/libcrypto.a  -ldl  vcpkg_installed/x64-linux/lib/libimgui.a && :
/usr/bin/ld: cannot find -lcoregrind-amd64-linux: No such file or directory
/usr/bin/ld: cannot find -lvex-amd64-linux: No such file or directory
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

This is where it fails normally.

QushyQushy avatar Sep 24 '22 16:09 QushyQushy

This is the result with -DENABLE_VCPKG=false :

CMake Error at CMakeLists.txt:83 (find_package):
  By not providing "FindSDL2.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "SDL2", but
  CMake did not find one.

  Could not find a package configuration file provided by "SDL2" with any of
  the following names:

    SDL2Config.cmake
    sdl2-config.cmake

  Add the installation prefix of "SDL2" to CMAKE_PREFIX_PATH or set
  "SDL2_DIR" to a directory containing one of the above files.  If "SDL2"
  provides a separate development package or SDK, be sure it has been
  installed.

QushyQushy avatar Sep 24 '22 16:09 QushyQushy

This is what I get with CLANG compiler, meaning running cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DPUBLIC_RELEASE=ON -DCMAKE_C_COMPILER=/usr/local/opt/llvm@14/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm@14/bin/clang++ -G Ninja :

Make Error at CMakeLists.txt:22 (project):
  The CMAKE_C_COMPILER:

    /usr/local/opt/llvm@14/bin/clang

  is not a full path to an existing compiler tool.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:22 (project):
  The CMAKE_CXX_COMPILER:

    /usr/local/opt/llvm@14/bin/clang++

  is not a full path to an existing compiler tool.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

Clang is installed properly on Fedora.

QushyQushy avatar Sep 24 '22 16:09 QushyQushy

/usr/bin/ld: cannot find -lcoregrind-amd64-linux: No such file or directory /usr/bin/ld: cannot find -lvex-amd64-linux: No such file or directory

coregrind and vex seem to be Valgrind components. I don't know how they got into your build process, but you either messed up something in your system or some Fedora package make CMake link to valgrind for some reason. I honestly don't know how to debug this without direct access to a Fedora PC :)

To make sure that this is an issue in Fedora and not something odd that you may have installed you can try to build Cemu in a clean container / virtual machine. I'd suggest using GNOME Boxes, Atoms or Pods.

This is the result with -DENABLE_VCPKG=false :

CMake Error at CMakeLists.txt:83 (find_package):
  By not providing "FindSDL2.cmake" in CMAKE_MODULE_PATH this project has

This is because you don't have the development files for SDL2 installed on your system.

This is what I get with CLANG compiler, meaning running cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DPUBLIC_RELEASE=ON -DCMAKE_C_COMPILER=/usr/local/opt/llvm@14/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm@14/bin/clang++ -G Ninja :

Those Clang paths seem to be macOS ones. Try to do CC=clang CXX=clang++ cmake -B build [rest of commmand...] instead, so that you don't have to list the full path.

Tachi107 avatar Sep 24 '22 16:09 Tachi107

I compiled with CLANG using cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DPUBLIC_RELEASE=ON -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -G Ninja, still compilation fails at the exact same step as before.

QushyQushy avatar Sep 24 '22 16:09 QushyQushy

/usr/bin/ld: cannot find -lcoregrind-amd64-linux: No such file or directory /usr/bin/ld: cannot find -lvex-amd64-linux: No such file or directory

coregrind and vex seem to be Valgrind components. I don't know how they got into your build process, but you either messed up something in your system or some Fedora package make CMake link to valgrind for some reason. I honestly don't know how to debug this without direct access to a Fedora PC :)

To make sure that this is an issue in Fedora and not something odd that you may have installed you can try to build Cemu in a clean container / virtual machine. I'd suggest using GNOME Boxes, Atoms or Pods.

This is the result with -DENABLE_VCPKG=false :

CMake Error at CMakeLists.txt:83 (find_package):
  By not providing "FindSDL2.cmake" in CMAKE_MODULE_PATH this project has

This is because you don't have the development files for SDL2 installed on your system.

This is what I get with CLANG compiler, meaning running cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DPUBLIC_RELEASE=ON -DCMAKE_C_COMPILER=/usr/local/opt/llvm@14/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm@14/bin/clang++ -G Ninja :

Those Clang paths seem to be macOS ones. Try to do CC=clang CXX=clang++ cmake -B build [rest of commmand...] instead, so that you don't have to list the full path.

valgrind and valgrind-devel are installed. -DENABLE_VCPKG=false requires all kinds of other components to be installed. I'm stuck at imgui for the moment. Will look into it and get back to you.

EDIT: rust-imgui-devel package is not available on Fedora 37 undorunately so not using VCPKG is not an option unfortunately.

QushyQushy avatar Sep 24 '22 16:09 QushyQushy

I followed the exact steps provided in the BUILD.md tutorial. I am on Fedora 36 Workstation (Gnome) on Wayland. This issue is still present on the current main codebase.

TriVoxel avatar Sep 25 '22 19:09 TriVoxel

I created a podman-based Fedora 37 Cemu builder that I've been using over the last few weeks. https://github.com/leifliddy/podman-cemu-builder

It works perfectly Just compiled Cemu on it no problem

[root@cemu_builder ~]# uname -a
Linux cemu_builder 5.19.14-300.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 5 21:31:43 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

[root@cemu_builder ~]# ll /output/
total 26356
-rwxr-xr-x. 1 root root 26987728 Oct  7 20:30 Cemu_release
drwxr-xr-x. 1 root root       14 Aug 28 01:07 gameProfiles
drwxr-xr-x. 1 root root       86 Aug 28 01:07 resources
drwxr-xr-x. 1 root root       16 Oct  7 20:30 shaderCache

leifliddy avatar Oct 05 '22 05:10 leifliddy

Built in Fedora 36 toolbox successfully, following BUILD.md almost to the letter.

Exact steps as follows. ⬢ indicates commands inside the toolbox.

$ git clone --recursive https://github.com/cemu-project/Cemu
$ cd Cemu
$ toolbox create --distro fedora --release f36 cemu
$ toolbox enter cemu
⬢$ sudo dnf --setopt=install_weak_deps=False upgrade
⬢$ sudo dnf --setopt=install_weak_deps=False install clang cmake cubeb-devel freeglut-devel git gtk3-devel kernel-headers libgcrypt-devel libsecret-devel nasm ninja-build perl-core systemd-devel zlib-devel
⬢$ cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -G Ninja
⬢$ cmake --build build
⬢$ exit
$ ./bin/Cemu_release

jn64 avatar Oct 07 '22 17:10 jn64

Follow up to my previous comment, when updating to or past 52cc7c59964c72240874dc5e9c9178523df81404, a new submodule for imgui was added.

git pull --recurse-submodules was not sufficient; it did not init the new submodule (dependencies/imgui was created, but remained empty). I had to explicitly do:

$ git submodule update --init dependencies/imgui

Other than that hiccup, I rebuilt latest 8b3f36ad50372feb7b62e5efd70a697beed9c6eb in the same F36 toolbox successfully, using both clang and gcc.

jn64 avatar Oct 12 '22 11:10 jn64

cmake --build build

Can confirm this worked on my install of F36. Steps I did:

git clone --recursive https://github.com/cemu-project/Cemu
cd Cemu
git submodule update --init dependencies/imgui
cd ..
toolbox create --distro fedora --release f36 cemu
toolbox enter cemu
sudo dnf --setopt=install_weak_deps=False upgrade
sudo dnf --setopt=install_weak_deps=False install clang cmake cubeb-devel freeglut-devel git gtk3-devel kernel-headers libgcrypt-devel libsecret-devel nasm ninja-build perl-core systemd-devel zlib-devel
cd Cemu
cmake -S . -B build -DCMAKE_BUILD_TYPE=release -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -G Ninja
cmake --build build
exit

Forgot about the lack of Wayland support initally, but I started to be able to load games by prefixing with GDK_BACKEND=x11. Seems to be working so far.

ltsjoe avatar Oct 12 '22 17:10 ltsjoe

I have a working non-vcpkg build on F37. Note it might not be possible on F36 due to older libs.

I haven't had time to actually use it much, but everything seems fine with a quick run around in BotW. Had to redo every controller profile because the controller UUIDs changed (?).

Once this is stable for a while, I'll put together a spec file and try building rpm packages.

⬢ indicates commands inside toolbox.

Setup

$ git clone https://github.com/cemu-project/Cemu
$ cd Cemu
$ git submodule update --init dependencies/{imgui,ZArchive}
$ toolbox create --distro fedora --release f37 cemu-dev-f37
$ toolbox enter cemu-dev-f37
⬢$ sudo dnf -y --setopt=install_weak_deps=False upgrade
⬢$ sudo dnf -y --setopt=install_weak_deps=False install clang cmake cubeb-devel freeglut-devel git gtk3-devel kernel-headers libgcrypt-devel libsecret-devel nasm ninja-build perl-core systemd-devel zlib-devel --comment='Cemu deps'
⬢$ sudo dnf -y --setopt=install_weak_deps=False install SDL2-devel boost-devel fmt-devel glm-devel glslang-devel libcurl-devel libzip-devel libzip-tools libzstd-devel openssl-devel pugixml-devel rapidjson-devel vulkan-headers wxGTK-devel --comment='Cemu deps for non-vcpkg build'

Notes:

  • Don't clone --recursive since we won't be using all submodules. Specifically, no vcpkg (saves ~7GB?), cubeb, or Vulkan-Headers.
  • I split installing the deps in two transactions:
    • 1st is the deps required for a standard build (with vcpkg), exactly what is documented in BUILD.md.
      • !! Should be able to drop systemd-devel, I forgot to test
    • 2nd is the additional deps for non-vcpkg build
  • wxGTK-devel is the latest version (3.2.x) we need, wxGTK3-devel is pegged to 3.0. See rhbz#1714714.

Patches

At this point if you try to build, you'll probably get some CMake error about glslangConfig.cmake. I've used the workaround indicated here.

I don't know anything about CMake or glslang, so follow at your own risk.

⬢$ cat <<'EOF' | sudo tee /usr/lib64/cmake/glslangConfig.cmake
include("${CMAKE_CURRENT_LIST_DIR}/OSDependentTargets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/OGLCompilerTargets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/glslangTargets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/SPIRVTargets.cmake")
EOF

Build

I'm building in non-portable mode and without Discord presence.

⬢$ export glslang_DIR=/usr/lib64/cmake
⬢$ cmake -S . -B build -G Ninja -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_BUILD_TYPE=release -DPORTABLE=OFF -DENABLE_VCPKG=OFF -DENABLE_DISCORD_RPC=OFF -DEXPERIMENTAL_VERSION=999999 -Wno-dev
⬢$ cmake --build build

Install

I'm installing Cemu to /usr/local. Make sure to exit the toolbox as /usr is not shared with the host.

Rough install script. Run from one level above Cemu repo dir:

#!/usr/bin/bash

cd Cemu || exit

readonly name='Cemu'
readonly prefix='/usr/local'
readonly bindir="${prefix}/bin"
readonly datadir="${prefix}/share"

# Install binary
install -Dpm 0755 "bin/${name}_release" "${bindir}/${name}"

# Install data files
install -dm 0755 "${datadir}/${name}"/{gameProfiles,resources}
cp -r --preserve=timestamps -t "${datadir}/${name}/gameProfiles" bin/gameProfiles/*
cp -r --preserve=timestamps -t "${datadir}/${name}/resources" bin/resources/*

# Install desktop-related files
install -Dpm 0644 -t "${datadir}/applications" dist/linux/info.cemu.Cemu.desktop
install -Dpm 0644 -t "${datadir}/metainfo" dist/linux/info.cemu.Cemu.metainfo.xml
install -Dpm 0644 -t "${datadir}/icons/hicolor/128x128/apps" dist/linux/info.cemu.Cemu.png

jn64 avatar Dec 05 '22 08:12 jn64

Closing this since it's stale. If there are still issues with compiling then feel free to open a new issue, but check BUILD.md for some of the known problems&workarounds first.

Exzap avatar Feb 08 '23 16:02 Exzap

@Exzap I seem to be able to build it now. Thanks for closing the issue!

TriVoxel avatar Feb 14 '23 02:02 TriVoxel