Help compiling dolphin?

it says
Dolphin requires at least GCC 5.0 (found 4.8.4)
but I already have it installed.

when I enter the command "gcc -v" I get:
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.1-2ubuntu1~14.04' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=gcc4-compatible --disable-libstdcxx-dual-abi --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~14.04)

I'm using linux mint 18 with kernel 4.4 if that helps any.


Do this:

sudo find / > database.txt

Then do:

grep bin database.txt | grep gcc

This should list all the gcc binaries you have, which should point you to where 4.8.4 is.

If you do:

which gcc

It will show you where the gcc version 5.4.1 is.

Then you need to figure out how the compiler is finding gcc version 4.8.4 and edit the file (presuming it's a config file) to point it to version 5.4.1.

Or you could just remove version 4.8.4, but having two installed is weird. So this may not be the issue, but it's what I'd try.

removing version the default gcc 4.8 gives me.
CMake Error at CMakeLists.txt:12 (project):


  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:12 (project):


  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.

-- Configuring incomplete, errors occurred!
See also "/home/chad/dolphin-emu/Build/CMakeFiles/CMakeOutput.log".

and gcc -v gives:
The program 'gcc' is currently not installed. You can install it by typing:
sudo apt-get install gcc

even using "sudo apt-get install gcc-5" dosn't fix it. using sudo apt-get install gcc just re-installs 4.8 and synaptic dosn't list it as an update even though I have ppa:ubuntu-toolchain-r/test in my sources.

grep bin database.txt | grep gcc gives:


1 Like

Find a way to point CMake at:


I'd expect there to be a way.

I think I fixed it with one of these commands.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 20
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5

cmake.. :

-- The C compiler identification is GNU 5.4.1
-- The CXX compiler identification is GNU 5.4.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detected architecture: x86_64
-- Performing Test FLAG_C_HAVE_WALL
-- Performing Test FLAG_C_HAVE_WALL - Success
-- Performing Test FLAG_CXX_HAVE_WALL
-- Performing Test FLAG_CXX_HAVE_WALL - Success
-- Performing Test FLAG_C_TYPE_LIMITS
-- Performing Test FLAG_C_TYPE_LIMITS - Success
-- Performing Test FLAG_CXX_TYPE_LIMITS
-- Performing Test FLAG_CXX_TYPE_LIMITS - Success
-- Performing Test FLAG_C_SIGN_COMPARE
-- Performing Test FLAG_C_SIGN_COMPARE - Success
-- Performing Test FLAG_CXX_SIGN_COMPARE
-- Performing Test FLAG_CXX_SIGN_COMPARE - Success
-- Performing Test FLAG_C_IGNORED_QUALIFIERS - Success
-- Performing Test FLAG_CXX_IGNORED_QUALIFIERS - Success
-- Performing Test FLAG_C_UNINITIALIZED - Success
-- Performing Test FLAG_CXX_UNINITIALIZED - Success
-- Performing Test FLAG_C_LOGICAL_OP
-- Performing Test FLAG_C_LOGICAL_OP - Success
-- Performing Test FLAG_CXX_LOGICAL_OP
-- Performing Test FLAG_CXX_LOGICAL_OP - Success
-- Performing Test FLAG_C_SHADOW
-- Performing Test FLAG_C_SHADOW - Success
-- Performing Test FLAG_CXX_SHADOW
-- Performing Test FLAG_CXX_SHADOW - Success
-- Performing Test FLAG_C_INIT_SELF
-- Performing Test FLAG_C_INIT_SELF - Success
-- Performing Test FLAG_CXX_INIT_SELF
-- Performing Test FLAG_CXX_INIT_SELF - Success
-- Performing Test FLAG_C_MISSING_DECLARATIONS - Success
-- Performing Test FLAG_CXX_MISSING_DECLARATIONS - Success
-- Performing Test FLAG_C_NO_STRICT_ALIASING - Success
-- Performing Test FLAG_CXX_NO_STRICT_ALIASING - Success
-- Performing Test FLAG_C_NO_EXCEPTIONS
-- Performing Test FLAG_C_NO_EXCEPTIONS - Success
-- Performing Test FLAG_CXX_NO_EXCEPTIONS - Success
-- Performing Test FLAG_C_VISIBILITY_HIDDEN - Success
-- Performing Test FLAG_CXX_VISIBILITY_HIDDEN - Success
-- Performing Test FLAG_C_FOMIT_FRAME_POINTER - Success
-- Performing Test FLAG_CXX_FOMIT_FRAME_POINTER - Success
-- Performing Test FLAG_C_GGDB
-- Performing Test FLAG_C_GGDB - Success
-- Performing Test FLAG_CXX_GGDB
-- Performing Test FLAG_CXX_GGDB - Success
-- Performing Test NO_PIE_UPSTREAM
-- Performing Test NO_PIE_UPSTREAM - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") 
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/  
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/;/usr/lib/x86_64-linux-gnu/
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/;/usr/lib/x86_64-linux-gnu/ - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/
-- X11 support enabled
-- Xrandr found
-- Checking for module 'xi>=1.5.0'
--   Found xi, version
-- Checking for modules 'libavcodec>=54.35.0;libavformat>=54.20.4;libswscale>=2.1.1;libavutil>=52.3.0'
--   Found libavcodec, version 54.35.1
--   Found libavformat, version 54.20.4
--   Found libswscale, version 2.1.1
--   Found libavutil, version 52.3.0
-- libav/ffmpeg found, enabling AVI frame dumps
-- Performing Test SYSTEM_PORTAUDIO
-- Performing Test SYSTEM_PORTAUDIO - Failed
-- Using static PortAudio from Externals for mic support
-- Could NOT find jack (missing:  JACK_LIBRARY JACK_INCLUDE_DIR) 
-- Found ALSA: /usr/lib/x86_64-linux-gnu/ (found version "") 
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Found libevdev: /usr/lib/x86_64-linux-gnu/  
CMake Error at CMakeLists.txt:541 (message):
  Couldn't find libevdev and/or libudev.  Can't build evdev controller

  Disable ENABLE_EVDEV if you wish to build without controller support

-- Configuring incomplete, errors occurred!
See also "/home/chad/dolphin-emu/Build/CMakeFiles/CMakeOutput.log".
See also "/home/chad/dolphin-emu/Build/CMakeFiles/CMakeError.log".
1 Like

Or your could just install Arch Linux and ...

pacman -S plasma dolphin

I would but network file sharing on a non ubuntu based distro is a nightmare.

1 Like

I don't know. That crap above looks pretty nightmarish to me and I have been running Arch for 4 years. The upside is that the install is going to help you learn about fstab and networking. Samba is pretty straight forward.

1 Like

I compile from source a lot and the version crazy that is going on above is beyond nightmare. You are trying to take an Ubuntu system designed to hold back progression and couple it with KDE evolving like twice in the past week - BOUND to break.

If you were in KDE neon where there is a pipeline for this then fine but it looks as though you may be reinventing a set of wheels


@thorium233 ropestretcher has a point. Ubuntu is about stability. They withhold updates until they're tested beyond extensively to keep compatibility.

Arch is a rolling distribution. This means when you get updates, the updates have been somewhat tested, but they aren't very old.

It's fine to use Ubuntu of course, but installing a program that's meant for regular and fast updates doesn't seem like it's going to go well.

It is not my intent to be a nay sayer. It may come across that way at first. If you want to do this as an exercise go forth and love it

1 Like

My thinking is this, KDE is developing at light speed compared to any other desktop. Dolphin is awesome and gets updates right along with the desktop. So even if you pull down a fix to Ubuntu it will likely fail over due to changes upstream.

I was jesting a bit with my first post just because I happen to be a big Arch KDE fan but I use Ubuntu a great deal as well. I am thinking that if Dolphin is what you want perhaps KDE neon is a better choice of OS.

NOW, if you are not a distro hopper - nor am I - this could be an issue

I don't know how, what's the word - distroagnostic or willing to shift amongst the many varied landscapes we have here in Linuxland. Nor do I want to presume what your history may be.

I want to help. I love KDE. Dophin is great and I understand why you would want to add it to your toolchain.

distro hopping wouldn't be an issue if I could do it with-out having to burn a cd or formating a usb drive every time.

1 Like

Understand. Most people would say just run in a VM. That used to be true - and still is for any headless system - but graphically you need to run on 'bare metal' to know if it is going to be your baby.

maybe you could give me a little insight into what your discomfort is with say writing to USB

Maybe I could help with some tips with the dd comand?

1 Like

So bro, I got you on that front.

You install that on a flash drive. The flash drive's storage is still usable. You just drag n drop ISOs onto the drive. You boot from the drive and select the ISO in the menu it auto-generates. it switches to the ISO and you install like that.

I have one of these:

With every ISO I'd ever need on it and I use the left over space for files I need transferring.

TL;DR on how Easy2Boot works: It's basically a boot loader that repartitions itself around the ISO to where it's the only partition along with a menu to switch back to the main partition table. It deletes no files to do this. Just swaps partition tables.

There are caveats if you wish to use UEFI. Namely, you have to convert the ISOs to imgPTN format but the how to on that site has all the info you'd need.

It's great.

@Vitalius are you on Windows?

1 Like

I am not. Arch atm. For handling that USB thing I linked above, I use Windows because that's what all the tutorials are for, so I just USB redirect it to my VM for management. The USB drive works fine with Linux though as long as you have exfat and ntfs-3g installed.

1 Like

true but our boy @thorium233 can just learn the following:
Creating and Formatting Live USB images with DD

To View Drives use

sudo fdisk -l

Creating a Live USB ( Drive Needs to be unmounted )

sudo dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx && sync

Formatting USB back to Normal

sudo mkfs.vfat /dev/sdx -I

To copy a CD/DVD to a .iso

cd /dev; ls -ld sr* cdr* dvd*
dd if=/dev/cdrom of=~/dvdcopy.iso

1 Like

cause it's way easy. Now agreed there are some cool software gadgets to make more persistent utility of space but ..

1 Like

if what I have written seem difficult ... I am happy to explain

That's why we are here

1 Like