Pipewire installation on Dietpi armhf7 rpi400 failure to compile through meson build

Hello i am new here.

Want to say and resolve something about pipewire audio service installation on rpi400 armhf7|64 bit: i recently wanted to install the latest version of pipewire but there are much things missing in my repositories for being able to install on stable armh764 on diepti bullseye latest upgrades.

and i contacted the pipewire git contributors but they say try to fix the problem through the dietpi contributors because it is a systemproblem. i am running my hands in my hair already three weeks now without finding a solution that is decent.

i was hoping people here in the support could revise it and come up with something i can try to make it fixed as a normal setup installation because i need i really soon that i can make music with pipewire instead of doing it with pulseaudio because that is to crappy with latency.

my latest build logs are here in this following link, so that we can not lose time for debugging: “pipewire failure meson build missing code dependencies” link is the following line:

kind regards and hoping on a decent response and solution. U may answer with cli solutions for fixing it. I am willing to try every codeline in the world possible. hoping that it will be able to fix my problems.

Kind regards for a quick answer but a decent at least.
Kind regards Wim Pauwels

This is somehow strange information because armhf7 would be 32bit. If you like to use 64bit, you need to use ARMv8.

I don’t see any error message on your log file. Did you copied the whole one? Which line is the message?

dear I must have said the wrong of errors but don’t you find the YES or NO situations in this pastbin link? i see that many packages are failing on search. when i do: meson setupbuilddir in the downloaded master of pipewire in git-files .??? there something in every package more or less that fails being found in installation of meson build and cmake and pkgconfig.
i will rerun the thing now and do another pastebin in a new link right now but then i need to log in as regular user in dietpi and run the same comand with sudo in official starting terminal beforehand without graphical environment.

so i now have the following result of more failure details: the link is public there are no specified personal names used or other things to mention that should be held back:

hoping on a quick response but a good one decent one. oh and it is not a detail that my rpi400 runs with broadcom BCM2711, quad core 64 bits SoC (ARM Cortex-A72@1.8.Ghz
and i couldn’t the version you mentioned in your answer downloaded it gave no booting files when i had written it to a disc flash drive i could only install Dietpi 6 as a version on rpi400 so to me your reaction on the fact that i have installed the wrong system is very dissapointing because I couldnt run 64bit versions on for Dietpi here. i think the system files for booting were in the sadness of loading to dietpi website also missing. And believe me for sure I tried many versions of the mentioned files that i could use on the website.

or i am mislead by rpi400 on the box info that it should be a 64 bit version of processor, or either it is a misleading that arm A72 shoudl be a arm64 showing…

whatever it is the truth is that you may in the meantime tell me what version (through a link in reply please to that downloadfile on Dietpi) of dietpi a must to be installing.

untill then i wont run away from the rpi400 in here. because there were failures for the web connections in that newer system when i tried to install it and downloading it to my other system. perhaps some mistakes in corruption of installable files so that should be fixed firstly please?

can you link the right correct version for my system mentioned in this answer please today possibly?

great thanks in advance
would really be helpfull
Kind regards, wim pauwels

RPi400 has the possibility to run 32bit as well as 64bit. Therefore, you should be able to use our ARMv8 image (64bit) image. Raspberry Pi - Wikipedia

Did you tried to install dbus?

apt install dbus
systemctl enable dbus
systemctl start dbus

at apt install I get the following message:

root@DietPi:~# sudo apt install dbus
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
dbus is reeds de nieuwste versie (1.12.24-0+deb11u1).
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd

so no result of newly installation of packages because it seems to be the latest already

now trying to enable dbus fails too
i get:

root@DietPi:~# systemctl enable dbus
Synchronizing state of dbus.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable dbus
Failed to enable unit: Refusing to operate on alias name or linked unit file: dbus.service

and running systemctl start dbus then it complains of using dbus.service as not found.

can you help me out now?

i can however try wiith your proposal of the other image on Dietpi ARMv8image to install that again on this system disc and try to reconfigure everything but i am afraid that version wont like to boot previously it gave me a black screen with no progress further even afte waiting three hours doing nothing on the rpi400. but i cann give it a try. i will follow it up what you say through my smartphone mailaccount. so i am now gonna reboot a fresh installation like you gave to me again. still hoping but the same time little being afraid that it wont boot.

Kind regards in anyway but please do reply your thoughts on this dont wait until i reply every message. i will reply them but i need some time now to try the things again…

You are already being greatfully shown many thank you by me but don’t wait till i reply just continue with answering what you may think of this problem i wont be offline. still online and reading and trying what you say as soon as possible.

Kind Regards Wim Pauwels
i use this always becaus people in the whole wide world sometimes cant laugh anymore or should be more smiling when not being asked to (people are scared of smiling towards eachother the do it only mostly when things are being solved. that is thus very wrong behaviour in my opinion one smile per hour makes a whole week filled with much more power) Excuse me for this story telling i am a very kind person so i need it sometimes to be shared with other people this way or other ways.)

Wim Pauwels

did you tried to connect using SSH while using ARMv8 image? Or with a screen attached?

no apparantly not didnt do that ssh thing.

I know downloaded the image and installed it but i still have very much trouble on dbus-1 depency and missing configuration for mesonbuild system same problem with autogen.sh from pipewire. although i am using the 64 armV8 version of pipewire.

and the problem persists when i need to try to enable dbus as a service: the terminal rather likes to do the installation of dbus-broker instead of the right dbus-1 dependencies. keeps saying that the dbus-1 doesnt exist in the repositories.

so now what can i do. all the other things work out of the box only meson is a drama for installing all of it. and it doesnt like to be root configured what pipewire seems to like rather than using the usr/local builddir prefixes. So please help me again. where can i find dbus-1 as a dependency to maybe install it as a debian package manually in the system??? dont know how or where to find it but it could be a solution i think. otherwise i nneed to leave dietpi for what it is when its in the system perhaps a great bug of being able to be installed?

kind regards
wim pauwels

not sure if it helps but you could try to install the libdbus-1-dev package

Yes that dit something but after installl a new depency was not there yet: glib2.0
at the moment being installed to the sysem hoping it ends now

ill keep you updated

and after installing glib-2.0 there was a progress that with giving the meson setup builddir command in the folder of pipewire we could continue with configuring and setup for pipewire. now it is at meson configure builddir and compiling the packages of pipewire.

we are not there yet with the rest of the installation but i am little hopeful that it will work because we are now passed the meson crap. i am sorry to mention that way mesonbuild but why does that package be so difficult to reach a normal installation without headaches
?

anyway i i’ll keep you informed by the following up with the terminal here.

Kind regards glad you respond so quickly everytime. :smile: :smile: :smile:

:thinking:, while it package is installed? Can you check?

ls -l /lib/systemd/system/dbus.service
systemctl cat dbus

Well i will do it but after pipewire installation now is busy just need to fix the installation files with make and make install but it will be running now. so i wont make other commands at the same time running can be harmful for an installation i think at this very moment.
i will try that later on and let you know what it comes up with.

Kind regards wim pauwels

sorry for a late response but i was very busy with things and also retring to install dbus.
now when i installed the package mentioned by Joulinar: libdbus-1-dev it wouldn’t intall rightaway without adding the asterix behind the name of the package. that something weird i have to do with new packages each time in cli screens.

now the other thing i have found is that pipewire wants al lot of dependencies that dont exist in the repos that i download of pipewire supposing its a problem with that.
but i did not run meson build anymore with pipewire but took autogen.sh prefix then make en make install to try again and guess what happened: it found a better installation way.

now there is only the problem when i do make run that i get this list:
when asking your cli commands to the system here:

root@DietPi:~# ls -l /lib/systemd/system/dbus.service
-rw-r--r-- 1 root root 380  5 okt 13:04 /lib/systemd/system/dbus.service
root@DietPi:~# systemctl cat dbus
# /lib/systemd/system/dbus-broker.service
[Unit]
Description=D-Bus System Message Bus
Documentation=man:dbus-broker-launch(1)
DefaultDependencies=false
Before=basic.target shutdown.target
Requires=dbus.socket
Conflicts=shutdown.target

[Service]
Type=notify
Sockets=dbus.socket
OOMScoreAdjust=-900
LimitNOFILE=16384
ProtectSystem=full
PrivateTmp=true
PrivateDevices=true
ExecStart=/usr/bin/dbus-broker-launch --scope system --audit
ExecReload=/usr/bin/busctl call org.freedesktop.DBus /org/freedesktop/DBus org.f
reedesktop.DBus ReloadConfig

[Install]
Alias=dbus.service

do you mention anything again that could be wrong or misssing a thing on my installation files?

kind regards wim pauwels

to make everyting run with pipewire i an do make run and that commmand even as root i geet the following message of the problems with pipewire:

root@DietPi:~/pipewire# make run
ninja -C /root/pipewire/builddir
ninja: Entering directory `/root/pipewire/builddir'
ninja: no work to do.
SPA_PLUGIN_DIR=/root/pipewire/builddir/spa/plugins \
SPA_DATA_DIR=/root/pipewire/spa/plugins \
PIPEWIRE_MODULE_DIR=/root/pipewire/builddir/src/modules \
PATH=/root/pipewire/builddir/src/examples:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
PIPEWIRE_CONFIG_DIR=/root/pipewire/builddir/src/daemon \
ACP_PATHS_DIR=/root/pipewire/spa/plugins/alsa/mixer/paths \
ACP_PROFILES_DIR=/root/pipewire/spa/plugins/alsa/mixer/profile-sets \
 /root/pipewire/builddir/src/daemon/pipewire-uninstalled
Using build directory: /root/pipewire/builddir/subprojects/wireplumber
M 23:54:46.979382    m-lua-scripting ../subprojects/wireplumber/modules/module-lua-scripting/api/config.c:80:load_components: Failed to open module /root/pipewire/builddir/subprojects/wireplumber/modules/libwireplumber-module-logind: /root/pipewire/builddir/subprojects/wireplumber/modules/libwireplumber-module-logind.so: kan gedeeld objectbestand niet openen: Bestand of map bestaat niet
M 23:54:46.993901          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.alsa.enum.udev' could not be loaded; is it installed?
M 23:54:46.993991        script/alsa alsa.lua:347:createMonitor: PipeWire's SPA ALSA udev plugin("api.alsa.enum.udev")missing or broken. Sound Cards cannot be enumerated
M 23:54:46.999072          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.v4l2.enum.udev' could not be loaded; is it installed?
M 23:54:46.999167        script/v4l2 v4l2.lua:164:chunk: PipeWire's V4L SPA missing or broken. Video4Linux not supported.
M 23:54:47.001775          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
M 23:54:47.001857   script/libcamera libcamera.lua:168:chunk: PipeWire's libcamera SPA missing or broken. libcamera not supported.
M 23:54:47.018856          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.bluez5.enum.dbus' could not be loaded; is it installed?
M 23:54:47.018933       script/bluez bluez.lua:277:createMonitor: PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.
M 23:54:47.021590    m-lua-scripting ../subprojects/wireplumber/modules/module-lua-scripting/api/api.c:376:object_activate_done: <WpNode:0x55a2f7ab40> Object activation aborted: PipeWire proxy destroyed

so if pipewire proxy destroyed. itself at running objects time how can i make even install itself in the system when it should be installed already?

can anyone online follow here to get instructions to install the right packages because fiddling two or more days becomes a messy thing for pipewire. and me myself and i

Kind regards
Wim pauwels

To anyone who was and still is reading this issue: I need kind of a basic installation solution on pipewire. rather than going through apt-get pipewire from my distribution itself because there are many packages that are in the git-repository rather not included in the synaptic package manager or any addition of repos (many are missing and i don’t find the solution to add them individually because apt complains they are missing.

on the other hand there must be a solution available somehere because when follow the instructions on the following way:
doing:
git clone ‘the latest pipewire build on git’. this runs good and seems to be completed
then id do
.autogen.sh --prefix=$PREFIX where prefix is user or /user/local
that runs fine and goes automatically to meson and ninja build so far so good.

then i do
make
and make install still no errors

but then people tell me to try a running default version of that builddir installed what means that i do:
sudo make run or make run

and then it gives the following problems:

[W][02659.737104] mod.protocol-pulse | [        server.c:  615 start_unix_server()] server 0x5596e74ad0: unlinking stale socket '/run/user/1000/pulse/native'
M 17:13:15.680990    m-lua-scripting ../subprojects/wireplumber/modules/module-lua-scripting/api/config.c:80:load_components: Failed to open module /home/dietpi/pipewire/builddir/subprojects/wireplumber/modules/libwireplumber-module-logind: /home/dietpi/pipewire/builddir/subprojects/wireplumber/modules/libwireplumber-module-logind.so: kan gedeeld objectbestand niet openen: Bestand of map bestaat niet
M 17:13:15.710364          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.alsa.enum.udev' could not be loaded; is it installed?
M 17:13:15.710444        script/alsa alsa.lua:347:createMonitor: PipeWire's SPA ALSA udev plugin("api.alsa.enum.udev")missing or broken. Sound Cards cannot be enumerated
M 17:13:15.714125          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
M 17:13:15.714211   script/libcamera libcamera.lua:168:chunk: PipeWire's libcamera SPA missing or broken. libcamera not supported.
M 17:13:15.715879          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.v4l2.enum.udev' could not be loaded; is it installed?
M 17:13:15.715946        script/v4l2 v4l2.lua:164:chunk: PipeWire's V4L SPA missing or broken. Video4Linux not supported.
M 17:13:15.731401          wp-device ../subprojects/wireplumber/lib/wp/device.c:619:wp_spa_device_new_from_spa_factory: SPA handle 'api.bluez5.enum.dbus' could not be loaded; is it installed?
M 17:13:15.731474       script/bluez bluez.lua:277:createMonitor: PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.
M 17:13:15.734205    m-lua-scripting ../subprojects/wireplumber/modules/module-lua-scripting/api/api.c:376:object_activate_done: <WpNode:0x559d82fa40> Object activation aborted: PipeWire proxy destroyed

but then it runs in the pavucontrol manager all the lib-modules from pipewire but it keeps telling me that there are no clients and no inputs and outputs as soundards. but when i stop that command by doing ctrl+c to abort the situation the pipewire doesnt run anymore

but also my builddir is likely not being installem. I am thinking that the developers of pipewire are a little bit making it not easy to set it up while i also think this cant be true to the fact that i previously did manage to do it installation the exact way the instructions were.
why am i convinced of choosing another distribution instead of dietpi (sadly debian is not supported in my opinion) while i choose dietpi for the reason it is so fast enough but badly gives support for pipewire. search the net already but searched help here an nothing is good after a couple of weeks to fullfill my earlier superior pipewire useable mind.

can you please give some option to get it right installed even if pulseaudio is not installed?

desperate hopefull waiting on a soon decent answer
kind regards wim pauwels

in addition I tried the following with following output:

dietpi@DietPi:~$ systemctl --user status pipewire pipewire-session-manager
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/local/lib/systemd/user/pipewire.service; enabled; vend
or preset: enabled)
     Active: failed (Result: exit-code) since Fri 2023-01-20 16:46:08
 CET; 1h 15min ago
TriggeredBy: ● pipewire.socket
    Process: 2389 ExecStart=/usr/local/bin/pipewire (code=exited, status
=127)
   Main PID: 2389 (code=exited, status=127)
        CPU: 39ms

● pipewire-session-manager.service - Multimedia Service Session Manager
     Loaded: error (Reason: Unit pipewire-session-manager.service fai
led to load properly: File exists.)
     Active: inactive (dead)
dietpi@DietPi:~$ systemctl --user status pipewire pipewire-session-manager
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/local/lib/systemd/user/pipewire.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2023-01-20 16:46:08 CET; 1h 15min ago
TriggeredBy: ● pipewire.socket
    Process: 2389 ExecStart=/usr/local/bin/pipewire (code=exited, status=127)
   Main PID: 2389 (code=exited, status=127)
        CPU: 39ms

● pipewire-session-manager.service - Multimedia Service Session Manager
     Loaded: error (Reason: Unit pipewire-session-manager.service failed to load properly: File exists.)
     Active: inactive (dead)
dietpi@DietPi:~$

as a matter of fact i must have done something stupid llike i think running the pipewire installation with sudo permissions what is not allowed after again reading peaces of the wiki there.

so pulseaudio was installed on the dietpi system from boot at first but i have mistakenly disabled and masked t in the wrong order of cli commands.
so i am gonnna install the system once more and then i gonna think twice or even trice with the configuration again with autogen.sh make make install . so i keep it updated once i am back running it and after that i post the logs if their good or bad.

it is not solved yet. excuses me for longer communication pieces in here but i hope with these texts you dont need to miss a single thing. untill this is fixed. kind regards
wim pauwels

hello someone at the other side perhaps can respond to the following extra problem:
there still are many unovercoming problems they are in dutch. what do i do wrong or is wrong with the distribution at the beginning with installing packages on dietpi??? I getting now slightly nervously maybe to still consider another system because debian doenst listen to me according to the following in dutch translated terminal.

The following packages have unfulfilled requirements:
 pipewire-alsa : Requirements: pipewire (= 0.3.63-1~bpo11+1) but it will not be installed
                 Requirements: libpipewire-0.3-0 (= 0.3.63-1~bpo11+1) but 0.3.19-4 will be installed
 pipewire-jack : Requirements: pipewire (= 0.3.63-1~bpo11+1) but it will not be installed
                 Prerequisites : libpipewire-0.3-0 (= 0.3.63-1~bpo11+1) but 0.3.19-4 will be installed
 pipewire-pulse : Requirements: pipewire (= 0.3.63-1~bpo11+1) but it will not be installed
E: Cannot troubleshoot, you are holding defective packages.
dietpi@DietPi:~$ sudo apt install pipewire-{jack,alsa,pulse}*
Package lists are being read... Ready
Tree of requirements being built... Ready
Status information is read... Ready 
Note, 'pipewire-jack' is selected because of expansion (glob) 'pipewire-jack*'
Note, 'pipewire-alsa' is selected because of expansion (glob) 'pipewire-alsa*'
Note that 'pipewire-pulse' is selected because of expansion (glob) 'pipewire-pulse*'
Some packages could not be installed. This may mean
that you have asked for an impossible situation, or, if you are
using the distribution 'unstable', that some required packages have yet to be created or were removed from 'Incoming'.
The following information might help resolve the situation:

The following packages have unfulfilled requirements:
 pipewire-alsa : Requirements: pipewire (= 0.3.63-1~bpo11+1) but it will not be installed
                 Requirements: libpipewire-0.3-0 (= 0.3.63-1~bpo11+1) but 0.3.19-4 will be installed
 pipewire-jack : Requirements: pipewire (= 0.3.63-1~bpo11+1) but it will not be installed
                 Prerequisites : libpipewire-0.3-0 (= 0.3.63-1~bpo11+1) but 0.3.19-4 will be installed
 pipewire-pulse : Requirements: pipewire (= 0.3.63-1~bpo11+1) but it will not be installed
E: Cannot troubleshoot, you are holding defective packages.
dietpi@DietPi:~$ 

Translated with DeepL Translate: The world's most accurate translator (free version)

so installing pipewire keeps being a problem and askin for debugging with me. together with you. hopefully we get a solution today or at least tomorrow.

can someone replay today of at least tommorow at last? i am running my hands again in my hair and get stuck with the compiling of all the packages still missing in dietpi system.

kind nervouse regards
hoping a stable answer will be soon readable and i am trying to get it on dietpi for sure
wim pauwels

at my new system installation i get after installation of dbus the following info. yeah i tried a new installation of the system maybe because there was too many things messed up but still in this system newly installed it complains to run and to start dbus it wants dbus socket see this log:

dietpi@DietPi:~$ ls -l /lib/systemd/system/dbus.service
-rw-r--r-- 1 root root 380  5 okt 13:04 /lib/systemd/system/dbus.service
dietpi@DietPi:~$ systemctl cat dbus
# /lib/systemd/system/dbus.service
[Unit]
Description=D-Bus System Message Bus
Documentation=man:dbus-daemon(1)
Requires=dbus.socket

[Service]
ExecStart=/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
ExecReload=/usr/bin/dbus-send --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
OOMScoreAdjust=-900

maybe you can give me a solution to get that socket working. because like i read it now that the system doesnt like the things we do with starting dbus as a service instead of a socket. should I run perhaps in the following order?:

systemctl enable dbus.socket
systemctl start dbus.socket
systemctl enable dbus. service
systemctl start dbus.service

hoping on a soon answer so i cant do anything wrong with the system?
kind regards
wim pauwels.

running a new system i did get the following things towards dbus.service

dietpi@DietPi:~$ ls -l /lib/systemd/system/dbus.service
-rw-r--r-- 1 root root 380  5 okt 13:04 /lib/systemd/system/dbus.service
dietpi@DietPi:~$ systemctl cat dbus
# /lib/systemd/system/dbus.service
[Unit]
Description=D-Bus System Message Bus
Documentation=man:dbus-daemon(1)
Requires=dbus.socket

[Service]
ExecStart=/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
ExecReload=/usr/bin/dbus-send --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
OOMScoreAdjust=-900

maybe running:
systemctl enable dbus.socket seems to be needed?
and after that
systemctl start dbus.socket perhaps?
and
after that perhaps:
systemctl enable dbus.service seems to be needed?
after that perhaps:
systemctl start dbus.service seems to be needed?

i ask it first because i dont want to loose acces to the system doing anything wrong now with this.

hoping you can answer today

an soon hoping for answering from anybody who reads this?
kind regards
Wim Pauwels

First, i translate your output above from Dutch into Englisch. No at least other have a chance to read and understand. :wink:

Well, you are trying to install Debian packages that exist on Debian bullseye-backports repository only and not on the default bullseye package repository. Therefore, your install is failing because pipewire-alsa is pulled from bullseye-backports but all dependency will be pulled from bullseye repository only.

Debian repository

Therefore, you would need to force install from bullseye-backports

apt install -t bullseye-backports pipewire-{jack,alsa,pulse}

But this has nothing to do with DietPi directly. It’s standard Debian behaviour.