Tag Archives: debian

dolphin-emu compile error: ambiguating new declaration of u64 _xgetbv(u32)

If you follow the official instructions for compiling Dolphin game emulation on your own, you are likely to encounter this error at the ‘make’ stage in the step 3:

dolphin/Source/Core/Common/x64CPUDetect.cpp:41:12: error: ambiguating new declaration of 'u64 _xgetbv(u32)'
static u64 _xgetbv(u32 index)

Googling this error, you will see some solutions from as far back as 2018. You don’t need to bother with these.

This error happens because you were actually reading the instructions (as opposed to skimming through them), and did ‘git checkout tags/5.0’ to get the “stable” version. Sadly, the 5.0 version is super outdated – it was last updated in 2016.

So, you were misled by an outdated wiki page that nobody bothered to fix. Here’s how to compile Dolphin nevertheless.

# Assuming you've already created and entered the 'Build' directory, do this:
cd ..; rm -rf Build
# Then, switch to the main branch, where up-to-date development actually happens
git checkout master
git submodule update --init # just in case! might not be needed

Then, start again from the step 3 – ‘mkdir’, ‘cmake’ and all. The build should succeed.

This compiles the latest development version. It might have bugs – however, it seems to me that Dolphin has given up on releasing ‘stable’ versions. My understanding is, this is as good as you’ll get.

Nobody with access to Dolphin Wiki bothered to fix this old and quite outdated instruction. I hope that happens soon. In the meantime, this post shall serve as a guidance for anyone encountering this exact error.

If someone with editing access to Dolphin Wiki is reading this – remove the ‘checkout tags/5.0’ thing, the 5.0 tag is broken and won’t compile for anyone not running a system out of 2016.

dpkg error processing package fuse3

Using Debian Bullseye Testing? Your fuse3 package might fail to install like this:

Setting up fuse3 (3.4.1-1)
dpkg: error processing package fuse3 (--configure):
 installed fuse3 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:

No worries, however, you can just wget and install a newer version.

wget http://ftp.ee.debian.org/debian/pool/main/f/fuse3/libfuse3-3_3.9.0-1_amd64.deb
wget http://ftp.ee.debian.org/debian/pool/main/f/fuse3/fuse3_3.9.0-1_amd64.deb
dpkg -i libfuse3-3_3.9.0-1_amd64.deb
dpkg -i fuse3_3.9.0-1_amd64.deb

Substitute “amd64” if needed, use other Debian repo if desired. Can’t remove the fuse3 package for some reason? Use this “nuclear option”:

dpkg --remove --force-remove-reinstreq fuse3

Making luakit play YouTube videos

Luakit, even though it’s a quite awesome (and fast!) browser, doesn’t play YouTube videos out-of-the-box. At least, when installing it from Raspberry Pi Debian repos, it doesn’t pull the dependencies need and doesn’t even list the packages as ‘recommended’. Nowhere I could find it, but one Arch Linux forum page had a hint, which I decrypted:
Install gstreamer1.0-libav and gstreamer1.0-alsa – the latter being responsible for sound in YouTube videos.
That’s it. Hope it helps =) If you find it’s still not working for you – comment below, I’ll try to debug the issue.

Debian Jessie, VirtualBox – driver compilation failing because kernel sources cannot be found

I installed the Debian Jessie (testing) system from an around 3-month-old CD. Then I installed virtualbox and while installing it has complained that kernel sources are not found. I’ve installed linux-headers package and all the linux-headers packages that I could have found, but still no luck. I kept getting the following message:

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

‘/etc/init.d/vboxdrv setup’

as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

/etc/init.d/vboxdrv didn’t even exist! As I knew VirtualBox used DKMS, I did aptitude reinstall virtualbox-dkms, and it still outputted “Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed.” I even installed linux-source – it didn’t help. So what was it?

My distribution had an older kernel, as it was on the CD I installed everything from. Since then, things changed – 3.13 was replaced by 3.14. The repository only had linux headers for 3.14 – and when I installed linux-headers metapackage, I installed headers for 3.14, even though system used the 3.13 kernel. So – when a vboxdrv can’t be build, check if you really have headers for the kernel version you are using =)

Now I just need to learn how to read properly. And to reboot my PC =)

Why I consider Debian to be one of the best OSes for beginners

As I promised, I’ll tell you why I prefer Debian over other distributions and why I’d advise it as a starting platform for Linux beginners.

I’ve wanted to start using Linux some 4 years ago. I’ve been in a school where informatics teacher was in charge of setting school PCs, including some in public usage. Those were often raided by students who’d put porn pics on a desktop, set pornsites as homepage and do all kinds of other nasty things. Apparently, he wanted to experiment with some kind of public-available PC that’d be resistant to those attacks, so once he put some kind of Linux distribution with full-screen Opera in kiosk mode on one of public PCs. This worked as a charm – it’s hard to change desktop background picture when there’s no desktop or change settings that are unchangeable in kiosk mode. I, just being curious, asked him what the distribution was, and he said it was Debian.

Some time after this, I installed it on one of my PC and started experimenting with it. I broke things a lot, and therefore got to fix them a lot. That’s when I learned the basic principles – like, there are video cards that just do not work in Linux. No matter what the vendor is. Hope this will change, but nowadays it’s not really likely to – there will still be incompatible laptops, for example.

Then I got a not-so-fast Intel board with no possibility to upgrade the GPU/CPU. It really wasn’t anyhow fast for desktop, and I decided to make a server on it. The only suitable place for it was hard to reach and it also had video driver problems under Linux – so I didn’t have any other option than to live without GUI and had to use SSH. It was kind of hard but I eventually got Samba installed – even though I couldn’t have set up passwords properly =) Thank god nobody looked through my files… Or so I think 😉 But I had a file server and tried to improve it actively to suit my needs.

The board broke after some time, due to my hands that were kind of unsuitable for any hardware modifications back then. I was left without a server and any experimentation possibility. It was so until my friend called me and explained he needed a 3G router for one 10 day long event, the day after that. We both were kind of broke those days, so there was no possibility to buy/rent a factory one. So, I needed to set up a gateway with a possibility to use USB modem as an uplink – something I never did before, and all this just in one night. I didn’t promise anything but decided to try, and it just appeared that Internet has all sorts of tutorials about almost everything, and Debian configuration seemed to be a well-covered topic. So, my gateway was ready and I even managed to get some sleep. That was impressive for me as it showed just how easy things are.

After the event, I left the gateway working as my own home router and it appeared to work, and was stable enough… Until I messed everything up again =) I had to reinstall things multiple times, but every reinstall was a cleaner one, I understood installation options better and each time the system was more and more stable. It lasted for around two years at a final state, just working (c). I reinstalled it once again, and finally it’s both working and not a mess of services, unused packages and downloaded files.

Now, I have enough knowledge – but it wouldn’t be so if I didn’t experiment with real things =) And reinstalls both saved time to repair and taught me how and what to backup.
Would I have gotten that all experience, using some other distribution?

Probably, no. Debian has everything you’d demand from a Linux distro for both novices and average users, maybe even professionals:

  1. Easy installation (lacking from many distributions).
  2. Clean structure with hardly any fixes needed, which’d have taken a lot of my time when I was a beginner.
  3. Large community – that means tons of tutorials available and being made, and people that are glad to help.Friendly environment – things are mostly as simple as they can be, but no more simple that is necessary
  4. Good package system – it was hardly needed to compile anything during these 3 years, that would sure add some problems,
  5. Being a stable system – unlike Ubuntu, I mean. Even though it’s a derivative from Debian, they seem to like breaking things from release to release. And Debian maintainers seem to be way more mature in this field.
  6. Being both desktop system and server system at the same time – only one button during installation divides those two things. Therefore, you know that you can easily resign from using desktop environment, and it’s somehow encouraging.
  7. Having different release types – you won’t be dealing with unstable software on a server or with outdated software on desktop. An upgrade from one release to another is flawless most of the times.
  8. Old enough to have well-developed philosophy about how things should work.

Some of those pros are good for novices, some – for experts. And if a distribution is suitable for people of many different levels, it means you stay on the same distribution all the time and get used to it. That does save time and effort. And it’s certainly better to be pro at some well-structured distribution than to have entry-level knowledge in many.

So – every of those qualities Debian has is really important for both learning and usage. That is why I’d advise Debian to any novice in Linux – nothing else has this exact set of qualities, and those qualities are just too important to dismiss any of them.