Pulseeffects: Missing pulseeffects.desktop file

Created on 7 Nov 2017  路  17Comments  路  Source: wwmm/pulseeffects

@mikhailnov
There is missing pulseeffects.desktop in /usr/share/applications deb file

And won't start from terminal.
I get this error:
$ pulseeffects
Traceback (most recent call last):
File "/usr/bin/pulseeffects", line 6, in
from PulseEffects.application import Application
File "/usr/lib/python3/dist-packages/PulseEffects/application.py", line 12, in
from PulseEffects.sink_input_effects import SinkInputEffects
File "/usr/lib/python3/dist-packages/PulseEffects/sink_input_effects.py", line 4, in
gi.require_version('GstInsertBin', '1.0')
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 118, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace GstInsertBin not available

Most helpful comment

it seems that gir1.2-gst-plugins-bad-1.0 is needed not only while building

All 17 comments

The error ValueError: Namespace GstInsertBin not available is happening because you do not have gst-plugins-bad. It may not have been included as dependency in the deb file

If you are looking for the desktop entry file it is named com.github.wwmm.pulseeffects.desktop, as recommended in the desktop entry specification. A simple way is queering for files owned by a package:

dpkg-query -L pulseeffects | grep \.desktop

@wwmm it is a dependency:

python3, libgtk-3-0 (>= 3.18), python3-gi-cairo, python3-cairo, gstreamer1.0-plugins-bad (>= 1.12), gstreamer1.0-plugins-good (>= 1.12), swh-plugins, python3-scipy (>= 0.18), python3-gst-1.0

@muzena please post an output of
# env LANG=c apt -f install
to make sure that all dependencies have been installed.

I see that .desktop and glib schemas are missing, will try to fix it, I missed it because I first installed PulseEffects from source and did not do sudo ninja uninstall before testing the package.

@wwmm please assign me to this issue if possible

For some reason it only lists me and muzena as possible users

Wow, I've commented out export DH_ALWAYS_EXCLUDE=.git from debian/rules and now .desktop and other files do not mysteriously disappear when building the package
I have no idea why this works)

@wwmm @mikhailnov
I solved problem by installing gir1.2-gst-plugins-bad-1.0 package
You need add this to install dependencies in debian control file.

When I try to build pulseeffects_*.deb from source on this way:
git clone https://github.com/wwmm/pulseeffects.git
cd pulseeffects
mk-build-deps --install debian/control
debuild -I

I get this error:
sudo debuild -I
dpkg-buildpackage -rfakeroot -us -uc -I
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: info: source package pulseeffects
dpkg-buildpackage: info: source version 3.0.7.2
dpkg-buildpackage: info: source distribution artful
dpkg-buildpackage: info: source changed by Mikhail Novosyolov mikhailnov@dumalogiya.ru
dpkg-source -I --before-build pulseeffects
dpkg-buildpackage: info: host architecture amd64
fakeroot debian/rules clean
dh clean
dh_auto_clean
dh_autoreconf_clean
dh_clean
rm -f debian/debhelper-build-stamp
rm -rf debian/.debhelper/
rm -f -- debian/pulseeffects.substvars debian/files
rm -fr -- debian/pulseeffects/ debian/tmp/
find . ( (
( -path .*/.git -o -path .*/.svn -o -path .*/.bzr -o -path .*/.hg -o -path .*/CVS ) -prune -o -type f -a
( -name '##' -o -name '.~' -o -name '~' -o -name DEADJOE
-o -name '
.orig' -o -name '.rej' -o -name '.bak'
-o -name '..orig' -o -name ..rej -o -name '.SUMS'
-o -name TAGS -o ( -path '/.deps/' -a -name '*.P' )
) -exec rm -f {} + ) -o
( -type d -a -name autom4te.cache -prune -exec rm -rf {} + ) )
dpkg-source -I -b pulseeffects
dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1)
dpkg-source: warning: source directory 'pulseeffects' is not - 'pulseeffects-3.0.7.2'
dpkg-source: info: using source format '1.0'
dpkg-source: info: building pulseeffects in pulseeffects_3.0.7.2.tar.gz
dpkg-source: info: building pulseeffects in pulseeffects_3.0.7.2.dsc
debian/rules build
dh build
dh_update_autotools_config
dh_autoreconf
dh_auto_configure
install -d obj-x86_64-linux-gnu
cd obj-x86_64-linux-gnu
meson .. --wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/x86_64-linux-gnu --libexecdir=lib/x86_64-linux-gnu
The Meson build system
Version: 0.42.1
Source dir: /home/goran/pulseeffects/pulseeffects
Build dir: /home/goran/pulseeffects/pulseeffects/obj-x86_64-linux-gnu
Build type: native build
Project name: PulseEffects
Build machine cpu family: x86_64
Build machine cpu: x86_64
Message: Checking dependencies
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Native dependency libpulse found: YES 10.0
Native dependency gtk+-3.0 found: YES 3.22.25
Native dependency pygobject-3.0 found: YES 3.24.1
Native dependency py3cairo found: YES 1.10.0
Native dependency pangocairo found: YES 1.40.12
Native dependency gstreamer-1.0 found: YES 1.12.3

Meson encountered an error in file meson.build, line 19, column 0:
Native dependency 'gstreamer-plugins-bad-1.0' not found
cd /home/goran/pulseeffects/pulseeffects
cd obj-x86_64-linux-gnu
tail -v -n +0 meson-logs/meson-log.txt
==> meson-logs/meson-log.txt <==
Build started at 2017-11-08T14:20:30.992831
Python binary: /usr/bin/python3
Python system: Linux
The Meson build system
Version: 0.42.1
Source dir: /home/goran/pulseeffects/pulseeffects
Build dir: /home/goran/pulseeffects/pulseeffects/obj-x86_64-linux-gnu
Build type: native build
Project name: PulseEffects
Build machine cpu family: x86_64
Build machine cpu: x86_64
Message: Checking dependencies
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Determining dependency 'libpulse' with pkg-config executable '/usr/bin/pkg-config'
Native dependency libpulse found: YES 10.0
Determining dependency 'gtk+-3.0' with pkg-config executable '/usr/bin/pkg-config'
Native dependency gtk+-3.0 found: YES 3.22.25
Determining dependency 'pygobject-3.0' with pkg-config executable '/usr/bin/pkg-config'
Native dependency pygobject-3.0 found: YES 3.24.1
Determining dependency 'py3cairo' with pkg-config executable '/usr/bin/pkg-config'
Native dependency py3cairo found: YES 1.10.0
Determining dependency 'pangocairo' with pkg-config executable '/usr/bin/pkg-config'
Native dependency pangocairo found: YES 1.40.12
Determining dependency 'gstreamer-1.0' with pkg-config executable '/usr/bin/pkg-config'
Native dependency gstreamer-1.0 found: YES 1.12.3
Determining dependency 'gstreamer-plugins-bad-1.0' with pkg-config executable '/usr/bin/pkg-config'
Died at /usr/share/perl5/Debian/Debhelper/Buildsystem/meson.pm line 61.
cd /home/goran/pulseeffects/pulseeffects
debian/rules:8: recipe for target 'build' failed
make: * [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1124:
dpkg-buildpackage -rfakeroot -us -uc -I failed

gir1.2-gst-plugins-base-1.0 are not needed?

Do I understand correctly that gstreamer1.0-plugins-bad (>= 1.12) is a dependency for running PulseEffects and gir1.2-gst-plugins-base-1.0 are needed only to build it?

to be more exact, libgstreamer-plugins-bad1.0-dev

it seems that gir1.2-gst-plugins-bad-1.0 is needed not only while building

I don't know. I do not understand why Debian distro split the libraries in so many packages. Here you can see the dependencies in the package I maintain for Arch Linux https://aur.archlinux.org/packages/pulseeffects/. Maybe it helps to figure out what is really needed in ubuntu

I've commited the changes, now I will try to make a test on a very clean system to see if it works or not. What makes testing not so easy is that many of the dependencies are pulled bu other desktop packages

Also it's possible to use https://gitlab.com/ole.tange/tangetools/blob/master/tracefile/tracefile to see all the files which are accessed but the results will probably be innaccurate

The packages you require are quite clearly documented in the wiki.

I added those packages to the wiki page based on test results in a clean Ubuntu 17.10 virtual machine. I added that information as a response to a lot of users asking about Debian dependencies in issue threads.

Runtime dependencies:

libgtk-3-0 python3-gi python3-gi-cairo python3-numpy python3-scipy libgstreamer1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer-plugins-bad1.0-0 python3-gst-1.0 swh-plugins

Build time dependencies and tools:

libgtk-3-dev python-gi-dev python3-cairo-dev libgstreamer1.0-dev libgstreamer-plugins-bad1.0-dev libpulse-dev git meson ninja-build pkg-config

Depending on how you fetch pulseeffects "git" might not be necessary.

As a rule, *-dev packages are only used during building. Although in this case its not actually used to build anything since it is python. It is instead used for dependency resolution, i.e. it is required in order for meson to be able to tell if dependencies are missing.

https://github.com/wwmm/pulseeffects/pull/117
Sorry for spending everyone's time with not properly tested pull requests. I've tested this one and now everything should work.

@AsavarTzeth python3-numpy is a dependency of python3-scipy, so I did not add it

Was this page helpful?
0 / 5 - 0 ratings

Related issues

marioortizmanero picture marioortizmanero  路  5Comments

teneri66 picture teneri66  路  4Comments

zedeus picture zedeus  路  7Comments

RUSshy picture RUSshy  路  6Comments

Mlocik97-issues picture Mlocik97-issues  路  5Comments