Conflict: Mycroft Libjack-jackd2-0

I’d like to install Mycroft but there’s a conflict noted when installing: a pre-existing library Libjack-jackd2-0 will be removed. This is a Debian audio library https://packages.debian.org/sid/libjack-jackd2-0.

I currently have Shairport & AdGuardHome installed on a Pi 4, Dietpi 8.0. Will this affect Shairport? Do I need to use another Pi for Mycroft?

can you share the warning message. Where do you see this warning?

The first warning occurred after starting the installation. I typed “Y” and then the 2nd warning message occured. I typed “N” after the second warning.
Here are the photos https://1drv.ms/u/s!AnJqbLp2z67yget6F9-ESq07vdlF6Q?e=5JOS3k of the first and second warnings (error01, error02.jpg)

are you trying to install Mycroft manually? It should be available on dietpi-sofware

Usually apt should take care on dependency and will not remove stuff still needed by other software title.

No, I used the dietpi-software installer.

usually apt package installations, done by dietpi-software, are not interactive and require no user input. Can you do following and copy the entire installation log directly from SSH terminal. Pls try to avoid doing screen prints.

dietpi-software install 176

I got the same message I got through the dietpi-software interface:

“The following packages will be REMOVED:
libjack-jackd2-0”

So I typed “N” to abort.

You don’t like to share the entire log as I ask for?

My bad - here it is up to the point of aborting the installation:

dietpi@DietPi:~ $ sudo dietpi-software install
[  OK  ] DietPi-Software | Initialised database
[  OK  ] DietPi-Software | Reading database

 DietPi-Software
─────────────────────────────────────────────────────
 Mode: Automated install

[FAILED] DietPi-Software | Please enter at least one software ID to process
dietpi@DietPi:~ $ sudo dietpi-software install 176
[  OK  ] DietPi-Software | Initialised database
[  OK  ] DietPi-Software | Reading database

 DietPi-Software
─────────────────────────────────────────────────────
 Mode: Automated install

[  OK  ] DietPi-Software | Installing Mycroft AI: Open Source Voice Assistant
[  OK  ] DietPi-Software | DietPi-Userdata validation: /mnt/dietpi_userdata

 DietPi-Software
─────────────────────────────────────────────────────
 Step: Checking for conflicts and missing inputs


 DietPi-Software
─────────────────────────────────────────────────────
 Step: Checking for prerequisite software

[ INFO ] DietPi-Software | ALSA will be reinstalled
[ INFO ] DietPi-Software | Git will be installed
[  OK  ] DietPi-Software | Checking network connectivity
[  OK  ] DietPi-Software | Checking DNS resolver
[  OK  ] Network time sync | Completed
[ SUB1 ] DietPi-Services > unmask 
[  OK  ] DietPi-Services | unmask : avahi-daemon
[  OK  ] DietPi-Services | unmask : shairport-sync
[  OK  ] DietPi-Services | unmask : cron
[ SUB1 ] DietPi-Services > stop 
[  OK  ] DietPi-Services | stop : cron
[  OK  ] DietPi-Services | stop : shairport-sync
[  OK  ] DietPi-Services | stop : avahi-daemon
[ INFO ] DietPi-Software | APT update, please wait...
Hit:1 https://deb.debian.org/debian buster InRelease
Hit:2 https://archive.raspberrypi.org/debian buster InRelease
Hit:3 https://deb.debian.org/debian buster-updates InRelease
Hit:4 https://deb.debian.org/debian-security buster/updates InRelease
Hit:5 https://deb.debian.org/debian buster-backports InRelease
Reading package lists...
[  OK  ] DietPi-Software | APT update
[  OK  ] DietPi-Software | mkdir -p /mnt/dietpi_userdata/Music /mnt/dietpi_userdata/Pictures /mnt/dietpi_userdata/Video /mnt/dietpi_userdata/downloads /var/www /opt /usr/local/bin
[  OK  ] DietPi-Software | chown dietpi:dietpi /mnt/dietpi_userdata/Music /mnt/dietpi_userdata/Pictures /mnt/dietpi_userdata/Video /mnt/dietpi_userdata/downloads
[  OK  ] DietPi-Software | chmod 0775 /mnt/dietpi_userdata/Music /mnt/dietpi_userdata/Pictures /mnt/dietpi_userdata/Video /mnt/dietpi_userdata/downloads

 DietPi-Software
─────────────────────────────────────────────────────
 Step: Installing ALSA: Advanced Linux Sound Architecture

[ SUB1 ] DietPi-Set_hardware > soundcard (rpi-bcm2835-auto)
[ INFO ] DietPi-Set_hardware | Checking for required APT packages: alsa-utils
[ INFO ] DietPi-Set_hardware | Resetting all sound card settings...
[  OK  ] DietPi-Set_hardware | rm /etc/asound.conf
Found hardware: "USB-Audio" "USB Mixer" "USB1415:2000" "" ""
Hardware is initialized using a generic method
[  OK  ] DietPi-Set_hardware | sed -Ei s/^[[:blank:]]*(hdmi_drive(:[01])?=.*$)/#\1/ /boot/config.txt
[  OK  ] DietPi-Set_hardware | sed -Ei /^[[:blank:]]*dtoverlay=dietpi-disable_(hdmi_audio|headphones)/d /boot/config.txt
[  OK  ] DietPi-Set_hardware | Setting in /boot/config.txt adjusted: dtparam=audio=off
[ INFO ] DietPi-Set_hardware | Applying new sound card settings...
[  OK  ] DietPi-Set_hardware | Desired setting in /boot/dietpi.txt was already set: CONFIG_SOUNDCARD=rpi-bcm2835-auto
[  OK  ] DietPi-Set_hardware | Setting in /boot/config.txt adjusted: dtparam=audio=on
[  OK  ] DietPi-Set_hardware | alsactl -g store
[  OK  ] DietPi-Set_hardware | mkdir -p /etc/systemd/system/alsa-state.service.d
[  OK  ] soundcard rpi-bcm2835-auto | Completed

 DietPi-Software
─────────────────────────────────────────────────────
 Step: Installing Git: Clone and manage Git repositories locally

[ INFO ] DietPi-Software | APT install for: git, please wait...
[  OK  ] DietPi-Software | APT install for: git

 DietPi-Software
─────────────────────────────────────────────────────
 Step: Installing Mycroft AI: Open Source Voice Assistant

[  OK  ] DietPi-Software | cd /mnt/dietpi_userdata
[  OK  ] DietPi-Software | cd /tmp/DietPi-Software
[  OK  ] DietPi-Software | Checking URL: https://raw.githubusercontent.com/MichaIng/DietPi/master/.conf/dps_176/mycroft.conf
[ INFO ] DietPi-Software | G_THREAD_START_0 | curl -sSfL https://raw.githubusercontent.com/MichaIng/DietPi/master/.conf/dps_176/mycroft.conf -o mycroft.conf
[ INFO ] DietPi-Software | APT install for: vorbis-tools, please wait...
[  OK  ] DietPi-Software | APT install for: vorbis-tools
[  OK  ] DietPi-Software | G_THREAD: All threads finished
[ INFO ] DietPi-Software | Updating file: /etc/mycroft/mycroft.conf
[  OK  ] DietPi-Software | mv mycroft.conf /etc/mycroft/mycroft.conf
[  OK  ] DietPi-Software | Verifying user "mycroft" to run Mycroft AI
[  OK  ] DietPi-Software | usermod -aG audio -d /mnt/dietpi_userdata/mycroft-data -s /usr/sbin/nologin mycroft
[  OK  ] DietPi-Software | mkdir -p /mnt/dietpi_userdata/mycroft-data/skills
[  OK  ] DietPi-Software | chown -R mycroft:mycroft /etc/mycroft /mnt/dietpi_userdata/mycroft-core /mnt/dietpi_userdata/mycroft-data
[  OK  ] DietPi-Software | rm -Rf /opt/mycroft
[  OK  ] DietPi-Software | ln -s /mnt/dietpi_userdata/mycroft-data /opt/mycroft
[  OK  ] DietPi-Software | eval echo 'mycroft ALL=NOPASSWD: ALL' > /etc/sudoers.d/mycroft
[  OK  ] DietPi-Software | cd /mnt/dietpi_userdata/mycroft-core
[  OK  ] DietPi-Software | sed -Ei s/[^[:blank:]"']*pulseaudio[^[:blank:]"']*//g ./dev_setup.sh
[ INFO ] DietPi-Software | sudo -u mycroft ./dev_setup.sh -sm, please wait...
Installing packages...
 Installing packages for Debian/Ubuntu/Mint...

We have detected that your computer has the libjack-jackd2-0 package installed.
Mycroft requires a conflicting package, and will likely uninstall this package.
On some systems, this can cause other programs to be marked for removal.
Please review the following package changes carefully.
Press enter to continue
Reading package lists...
Building dependency tree...
Reading state information...
curl is already the newest version (7.64.0-4+deb10u2).
git is already the newest version (1:2.20.1-2+deb10u3).
python3 is already the newest version (3.7.3-1).
python3 set to manually installed.
The following additional packages will be installed:
  autotools-dev dh-python dpkg-dev file g++ g++-8 gcc gcc-8 icu-devtools
  libasan5 libasound2-dev libasyncns0 libatomic1 libaudio2 libbison-dev
  libblkid-dev libc-dev-bin libc6-dev libcc1-0 libdpkg-perl libexpat1-dev
  libfann2 libgcc-8-dev libglib2.0-bin libglib2.0-data libglib2.0-dev-bin
  libitm1 libjack-dev libjack0 libjpeg62-turbo-dev libjq1 liblsan0
  libmagic-mgc libmagic1 libmount-dev libonig5 libopenal-data libopenal1
  libout123-0 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libportaudio2
  libportaudiocpp0 libpulse0 libpython3-dev libpython3.7-dev libselinux1-dev
  libsepol1-dev libsigsegv2 libsndfile1 libsndio7.0 libstdc++-8-dev libtsan0
  libubsan1 libutempter0 libwrap0 linux-libc-dev m4 make patch
  python3-distutils python3-lib2to3 python3-pkg-resources python3.7-dev
  swig3.0 uuid-dev xz-utils zlib1g-dev
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc gettext bison-doc debian-keyring
  gcc-8-doc libstdc++6-8-dbg gcc-multilib manpages-dev flex gdb gcc-doc
  gcc-8-locales libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg
  libasan5-dbg liblsan0-dbg libtsan0-dbg libubsan1-dbg libmpx2-dbg
  libquadmath0-dbg libasound2-doc nas glibc-doc bzr libfann-doc libglib2.0-doc
  libgdk-pixbuf2.0-bin | libgdk-pixbuf2.0-dev libxml2-utils icu-doc jackd1
  pulseaudio sndiod libssl-doc libstdc++-8-doc libtool-doc gfortran
  | fortran95-compiler gcj-jdk m4-doc make-doc jackd oss-compat oss4-base ed
  diffutils-doc portaudio19-doc python-setuptools-doc byobu | screenie
  | iselect ncurses-term swig-doc swig-examples swig3.0-examples swig3.0-doc
Recommended packages:
  fakeroot libalgorithm-merge-perl manpages manpages-dev
  libfile-fcntllock-perl libltdl-dev
The following packages will be REMOVED:
  libjack-jackd2-0
The following NEW packages will be installed:
  autoconf automake autotools-dev bison build-essential dh-python dpkg-dev
  file flac g++ g++-8 gcc gcc-8 icu-devtools jq libasan5 libasound2-dev
  libasyncns0 libatomic1 libaudio2 libbison-dev libblkid-dev libc-dev-bin
  libc6-dev libcc1-0 libdpkg-perl libexpat1-dev libfann-dev libfann2
  libffi-dev libgcc-8-dev libglib2.0-bin libglib2.0-data libglib2.0-dev
  libglib2.0-dev-bin libicu-dev libitm1 libjack-dev libjack0 libjpeg-dev
  libjpeg62-turbo-dev libjq1 liblsan0 libmagic-mgc libmagic1 libmount-dev
  libonig5 libopenal-data libopenal1 libout123-0 libpcre16-3 libpcre3-dev
  libpcre32-3 libpcrecpp0v5 libportaudio2 libportaudiocpp0 libpulse0
  libpython3-dev libpython3.7-dev libselinux1-dev libsepol1-dev libsigsegv2
  libsndfile1 libsndio7.0 libssl-dev libstdc++-8-dev libtool libtsan0
  libubsan1 libutempter0 libwrap0 linux-libc-dev m4 make mpg123 patch
  pkg-config portaudio19-dev python3-dev python3-distutils python3-lib2to3
  python3-pkg-resources python3-setuptools python3.7-dev screen swig swig3.0
  uuid-dev xz-utils zlib1g-dev
0 upgraded, 90 newly installed, 1 to remove and 20 not upgraded.
Need to get 56.0 MB of archives.
After this operation, 235 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Ah ok it is the Mycroft installer who is going to trigger an own apt package installation.

I had a short look into Shairport installation but it did not pull libjack-jackd2-0. Means it has been installed as dependency for something else. I did some research and it might be GMediaRender who require it

root@DietPi4:~# aptitude why libjack-jackd2-0
i   gstreamer1.0-plugins-good Depends libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125
root@DietPi4:~#

Did you install GMediaRender in the past?

No, I didn’t.

you could try to find out where it is coming from. But no guaranty.

apt install aptitude
aptitude why libjack-jackd2-0

I don’t have gufw enabled but I see it shows up below:

Dietpi@DietPi:~ $ aptitude why libjack-jackd2-0
i   gufw                      Depends gir1.2-webkit2-4.0                        
i A gir1.2-webkit2-4.0        Depends libwebkit2gtk-4.0-37 (= 2.34.3-1~deb10u1) 
i A libwebkit2gtk-4.0-37      Depends gstreamer1.0-plugins-good                 
i A gstreamer1.0-plugins-good Depends libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125

It is the gstreamer1.0-plugins-good who pulled libjack-jackd2-0. These packages usually part of GMediaRender.

dpkg -l gst*

But yeah in your case gufw might play a role as well.

dietpi@DietPi:~ $ sudo dpkg -l gst*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                            Version               Architecture Description
+++-===============================-=====================-============-=========
============================
un  gstreamer1.0-alsa               <none>                <none>       (no description available)
un  gstreamer1.0-audiosink          <none>                <none>       (no description available)
un  gstreamer1.0-audiosource        <none>                <none>       (no description available)
un  gstreamer1.0-gl                 <none>                <none>       (no description available)
un  gstreamer1.0-libav              <none>                <none>       (no description available)
un  gstreamer1.0-plugins-bad        <none>                <none>       (no description available)
ii  gstreamer1.0-plugins-base:arm64 1.14.4-2+deb10u1      arm64        GStreamer plugins from the "base" set
ii  gstreamer1.0-plugins-good:arm64 1.14.4-1+rpt1+deb10u1 arm64        GStreamer plugins from the "good" set
un  gstreamer1.0-plugins-ugly       <none>                <none>       (no description available)
un  gstreamer1.0-tools              <none>                <none>       (no description available)
un  gstreamer1.0-videosink          <none>                <none>       (no description available)
un  gstreamer1.0-videosource        <none>                <none>       (no description available)
un  gstreamer1.0-visualization      <none>            <none>       (no description available)
un  gstreamer1.0-x                  <none>                <none>       (no description available)

Indeed it looks like gufw in your case. You would need to decide if it’s needed or not

Thanks Joulinar! I’m using a router so I don’t think I need gufw.
But why would gufw need a sound library?

there is no direct relation between gufw and libjack-jackd2-0. It’s a chain of dependency’s

  1. gufw depends on gir1.2-webkit2-4.0
  2. gir1.2-webkit2-4.0 depends on libwebkit2gtk-4.0-37
  3. libwebkit2gtk-4.0-37 depends on gstreamer1.0-plugins-good
  4. gstreamer1.0-plugins-good depends on libjack-jackd2-0

Got it, thanks.

I discovered that I can’t run Mycroft on the same RPi with Adguard as the DHCP server. When launching Mycroft CLI, it disconnects Adguard and other devices on the network. So, I’ll need to install Mycroft on another RPi.