Citra: error when installing using yaourt (make_unique’ is not a member of ‘std’)

Created on 16 Jul 2016  Â·  3Comments  Â·  Source: citra-emu/citra

I get the below error when installing using yaourt.

/tmp/yaourt-tmp-zeyuy/aur-citra-qt-git/src/citra/src/citra_qt/configure_audio.cpp: In constructor ‘ConfigureAudio::ConfigureAudio(QWidget*)’:
/tmp/yaourt-tmp-zeyuy/aur-citra-qt-git/src/citra/src/citra_qt/configure_audio.cpp:14:12: error: ‘make_unique’ is not a member of ‘std’
         ui(std::make_unique<Ui::ConfigureAudio>())
            ^~~
/tmp/yaourt-tmp-zeyuy/aur-citra-qt-git/src/citra/src/citra_qt/configure_audio.cpp:14:47: error: expected primary-expression before ‘>’ token
         ui(std::make_unique<Ui::ConfigureAudio>())
                                               ^
/tmp/yaourt-tmp-zeyuy/aur-citra-qt-git/src/citra/src/citra_qt/configure_audio.cpp:14:49: error: expected primary-expression before ‘)’ token
         ui(std::make_unique<Ui::ConfigureAudio>())

after some research, seems like I need to enable C++14 feature for cmake.
http://stackoverflow.com/questions/24609271/errormake-unique-is-not-a-member-of-std

anyone knows have any idea how to do this in the pkgbuild file?

Most helpful comment

Holy crap, I managed to find a work around to this

Here's what I did (This only works for Archlinux)

Install citra-git using yaourt

yaourt -S citra-git

There's a step asking whether you want to edit the PKGBUILD file, choose "Y"

In the PKGBUILD file you should see a build() function like below

build() {
        cd "$srcdir/$_pkgbase/build"
        cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release 
        make
}

make sure this line

cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release 

have the two parameter -DCMAKE_CXX_STANDARD_REQUIRED=NO and -DCMAKE_CXX_STANDARD=14

so it will look something like this

        cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD_REQUIRED=NO -DCMAKE_CXX_STANDARD=14

enjoy :smile:

All 3 comments

ok seems like this is linked to

https://github.com/citra-emu/citra/issues/1931#issuecomment-229549577

There should be a way to set cmake to use C++14 feature in the pkgbuild file right :smile:

Holy crap, I managed to find a work around to this

Here's what I did (This only works for Archlinux)

Install citra-git using yaourt

yaourt -S citra-git

There's a step asking whether you want to edit the PKGBUILD file, choose "Y"

In the PKGBUILD file you should see a build() function like below

build() {
        cd "$srcdir/$_pkgbase/build"
        cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release 
        make
}

make sure this line

cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release 

have the two parameter -DCMAKE_CXX_STANDARD_REQUIRED=NO and -DCMAKE_CXX_STANDARD=14

so it will look something like this

        cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD_REQUIRED=NO -DCMAKE_CXX_STANDARD=14

enjoy :smile:

closing this ticket

Was this page helpful?
0 / 5 - 0 ratings