Docspell: wants to build gst-plugins-good and fails

On my headless server, I’d like to install docspell which is not in nixpkgs but comes with built-in Nix derivations

It seems that it somehow depends on gstreamer plugins (despite it being on a headless server). But on top of that, it wants to build gst-plugins-good from scratch, despite it being a regular package in nixpkgs.

And it fails in building, how can I work around this? I don’t think it is specific to docspell itself, because it does not directly depends on gstreamer.

Below the full log, thanks in advance for tips/hints!

building Nix...
building the system configuration...
these derivations will be built:
  /nix/store/99kdfrybdj6n21fvfhfslhqvds0h8lqg-pkg-config.drv
  /nix/store/6b05fixi6sm2k40i1c4w4gj75rj37994-avahi-0.8.drv
  /nix/store/15wvxhm726g1s3ssa0jmza7bry7226lf-cups-2.3.3.drv
  /nix/store/n55b8i2p27cdmak2f5652dr4jwxr61y3-python3.8-pycairo-1.20.0.drv
  /nix/store/qysw0ml6my7n6hwg2dgijf7z8iizfq5n-python3.8-pygobject-3.40.1.drv
  /nix/store/z7sh0ijp3k4j5ab4p5rz81nmmzp135m8-tracker-3.1.1.drv
  /nix/store/dfzjj4p0in217x6yyj2rw2fnim4sj8q0-gtk+3-3.24.27.drv
  /nix/store/yyrcxscsbz4q982h6z0ny80qqajfgh2z-python3-3.8.11-env.drv
  /nix/store/wrvpdj4ix8vb9mvmrnc0gljxk0kzfz8f-libinput-1.16.4.drv
  /nix/store/zji55r2hrjff2hhxz9gdk1fk127k6xba-qtbase-5.14.2.drv
  /nix/store/06qrv8draswsc6lp8wwg4g92z5ilx39x-hook.drv
  /nix/store/1xsx937c5cn13svwp0hw9law3hhjnb49-adoptopenjdk-hotspot-bin-11.0.10.drv
  /nix/store/0y3dh35q5w26kki51rlk0w83m17z76hx-gradle.properties.drv
  /nix/store/x7w68gvxwzaz7fjqp4cy0w0xl8qnzr1x-qtsvg-5.14.2.drv
  /nix/store/x47kw8j3fxi6lpgylhr2rqcfqp4nqa52-qtdeclarative-5.14.2.drv
  /nix/store/24mpsyav0v9hvz8jjphyfdzm7kmcznx0-qtxmlpatterns-5.14.2.drv
  /nix/store/pw5xqgfsh760cplp4zcyn2qyp3xmcin3-qtquickcontrols-5.14.2.drv
  /nix/store/r3xrk4xk3v07m50n3k7jnrdhx0n13r8n-qtwayland-5.14.2.drv
  /nix/store/8412h8rry4b50pghkqd73lka02nvvg2z-hook.drv
  /nix/store/c4s5yni0hp42lhp5fi14n6vhpdjv4320-qtmultimedia-5.14.2.drv
  /nix/store/qg7zbn9ckdpmja7y003bq8c1m1bcwr1g-qtlocation-5.14.2.drv
  /nix/store/s4lwlrykax8mwmbnp0lqzmaksp0rg767-qtsensors-5.14.2.drv
  /nix/store/zrrbgs5ybsf3dx9lcf1lrkpamqbi35q9-qtwebchannel-5.14.2.drv
  /nix/store/pq8xw5s6xa28nl7mj8vvwd4c3m9di0lk-qtwebkit-5.212.0-alpha4.drv
  /nix/store/115dlvb6vxbq9cygbd8cvbvh0m20kvbc-wkhtmltopdf-0.12.6.drv
  /nix/store/prk41s1byxjl39gzb3qqgjiid3g18zi6-gtk+-2.24.32.drv
  /nix/store/inpfk7g02a3068s1r3fkd0arcqv93hw9-lv2-1.18.2.drv
  /nix/store/146n1ymrvp1js67a58l2micss108q6pv-sratom-0.6.8.drv
  /nix/store/b4yjid3jxk30b4kpjnnmgb9lsld3p9dp-gradle-4.10.3.drv
  /nix/store/1c5sjfwzr0n3i3rzdva24xrypfs1932i-openjfx-modular-sdk-11.0.3-1.drv
  /nix/store/1m2ncwfix6zyra3aqh7vl872374rr3jf-unpaper-6.1.drv
  /nix/store/28zsr9ry1zd9d6ynzv4mzfh0i16n2wiw-tesseract-4.1.1.drv
  /nix/store/3zz3bqika7kscpk53l1cw7vli1kicdqq-perl-5.32.1-env.drv
  /nix/store/mivchxdkkgpwgg8xr6nqa93j9b5539zy-icon-naming-utils-0.8.90.drv
  /nix/store/29d0gijxhmr986wv7fj35bh752pd70sc-adwaita-icon-theme-40.1.1.drv
  /nix/store/3dv5jcyvh5v8r901819wav3pvxp6aw61-gst-plugins-good-1.18.4.drv
  /nix/store/mbfrpgkw026xaadjcv06fp4g46nczaik-ghostscript-9.53.3.drv
  /nix/store/p60aq1898g27ks8g8qp8c9f3kiacdf95-setup.cfg.drv
  /nix/store/d72bg8g6bnsk6yibxcc7a0ip6x7w3y83-python3.8-matplotlib-3.4.2.drv
  /nix/store/zbj1zlirwnrbh70and0bzp8x76hs9q11-python3.8-fonttools-4.21.1.drv
  /nix/store/mpv9ijqwwmz4gy0wk129b7hw7z31ykm0-liberation-fonts-2.1.0.drv
  /nix/store/3k26gv4lgbxp4imrnm0fjkwdn7d5m9lc-fonts.conf.drv
  /nix/store/swbl2ypwl3i1hi24hby66269nmfpn0z4-poppler-glib-21.06.1.drv
  /nix/store/ccx0vky3m9br6c6s7504yi0llj2dv6s4-sane-backends-1.0.32.drv
  /nix/store/ncc2jqc1888dnzbqlzbwnpg7qyydzs45-libwpd-0.10.0.drv
  /nix/store/dkg20maws921pkndjhgq433g7cp1wy46-libwpg-0.3.3.drv
  /nix/store/dwdb1gsd4xjq9l9f7d1q5p921q91qj5l-libmwaw-0.3.19.drv
  /nix/store/dwg46fjnj4rpjrnds81ksfdvc5l8djqa-libvisio-0.1.7.drv
  /nix/store/f410wb4s635skg6h56gzwqs29g4xj3l5-libcdr-0.1.6.drv
  /nix/store/61j7wbwjhcv31by7qpv8xjxyrzbh40p2-openjdk-headless-11.0.12+7.drv
  /nix/store/f07ydhgqg95vfh6kw76lqqpmwnha568d-gradle.properties.drv
  /nix/store/k2anlivs0qxv7pchh3zla0zqqdyf0mly-gradle-5.6.4.drv
  /nix/store/am02jkpvrvmnwmgvjj0p4wg9kfzp0qrh-openjfx-modular-sdk-15.0.1+1.drv
  /nix/store/gw723hlqkhrkc56m7d1ahpg96x1764l8-gnome-vfs-2.24.4.drv
  /nix/store/zi7d32mbr9b0igyj1kdll0qwl119yzij-adoptopenjdk-hotspot-bin-15.0.2.drv
  /nix/store/f53i7iyd4242bcy1pk1l1nvn4nkx2qql-openjdk-16+36.drv
  /nix/store/jkchi1y3fydsjjlvvd6008hrk4kzv99x-hook.drv
  /nix/store/c2gdndc3xif0g5l3r6bikrq6xpz5w262-opencv-4.5.2.drv
  /nix/store/dpw94c82wanlvg8fqfhpk65s04vk9kjd-lilv-0.24.12.drv
  /nix/store/vy2mj9n1dgqvhs18wggm11rfgc17maw5-openal-soft-1.19.1.drv
  /nix/store/hlhzswbk146y2g5cja75279l21gy9grk-gssdp-1.2.3.drv
  /nix/store/g1364v1akyw18pwf9ffy4a3kb60hbg9a-gupnp-1.2.4.drv
  /nix/store/pq7h00zba383va7lsbmhz4lh9a1kmj03-gupnp-igd-1.2.0.drv
  /nix/store/xs7g5prd2c61jws7f0d6lsqcf0s1r84h-libnice-0.1.18.drv
  /nix/store/6ncnfjjb4n73dl8vhzrz7hsc44pmswr4-python3-3.8.11-env.drv
  /nix/store/sl79aca3c58113alk9ban49p49ps9y0l-libical-3.0.10.drv
  /nix/store/vhbc401zax1n6lzan57lsjrkfz03mqqc-python3.8-dbus-python-1.2.16.drv
  /nix/store/yjal6c9c28jnphrn139svd3vm357cy84-bluez-5.58.drv
  /nix/store/m1msw8rm3315cabsh78x4sy1dy4zl2gp-gst-plugins-bad-1.18.2.drv
  /nix/store/z1w3jqd2hgpjkpbsdag8z9sc6y12gkgp-libodfgen-0.1.7.drv
  /nix/store/vxcc9cyhj1vvcy532lh3lhi107mcxdwg-libreoffice-7.0.6.2.drv
  /nix/store/fpcfal736s7dj52q5vrx8jpv3i23i4va-unoconv-0.9.0.drv
  /nix/store/s9brzybp887ka6lppzjd5q7fsqrdgi6y-tesseract-4.1.1.drv
  /nix/store/h6pm17j4k97w4cwpbr8j9s5ywpjgjls6-ocrmypdf-12.3.0.drv
  /nix/store/96nixs3ygm03p9ifh087mlvdkb2wkgz6-docspell-joex.conf.drv
  /nix/store/r9fwsf0vpvm9q3k0hw1vmzm73hx7s6c7-source.drv
  /nix/store/sq6v2062wvhzjzdl1082svw1h24xra0p-openjdk-11.0.12+7.drv
  /nix/store/iza0s7dfhmx8dy6sy3vkbrbjp9b9gch8-docspell-joex-0.29.0.drv
  /nix/store/2mzzn1kj1a1y9jay2dl3mv56mg3k7mqd-unit-script-docspell-joex-start.drv
  /nix/store/yijn7fyks0m2gamwm7ncgxf2fca1b0pz-system-path.drv
  /nix/store/nqsi5kb1mcckk1rh5k4rh5sczbcxrbsw-dbus-1.drv
  /nix/store/w67hgbxj9glzd77gng9mbspxqhwzn9ng-unit-dbus.service.drv
  /nix/store/dgg9d3aihc6rqir2b2xnyynpg813f4ki-user-units.drv
  /nix/store/nmcssqshc19w0kmzkl5mpdka3akk899v-nginx.conf.drv
  /nix/store/5ydrx9qvcgmrc3pld08qv4rjn5d86lhv-unit-nginx-config-reload.service.drv
  /nix/store/7irnqg9cl4nb5m1qx1qr9wwdgm1w4m4k-unit-docspell-joex.service.drv
  /nix/store/q922scy2cmv4hj5w0aqqyzpgazqf9vmz-source.drv
  /nix/store/w9f15vbr6d87c2r9wixnf5vk9n5j10gg-docspell-server-0.29.0.drv
  /nix/store/r7p9dm0hi16ir13fb62n7049idv7dl12-unit-script-docspell-restserver-start.drv
  /nix/store/95zajd5rdcxnaj66m4s2bi7hzzawi2bc-unit-docspell-restserver.service.drv
  /nix/store/d67g1k98hhydmx3si7a19bf4wv5r9jk5-unit-polkit.service.drv
  /nix/store/lmb5vhg877v8lychxr8kjv8dpcclk84h-unit-dbus.service.drv
  /nix/store/ssr2ya8x7vk0whia1nsj9ns5dyzzkbd9-unit-systemd-fsck-.service.drv
  /nix/store/ashpajcnb1s0mamh85k8mcmslpf49f4a-unit-script-unoconv-start.drv
  /nix/store/sxn19sx13mz1i75xa3mxpryi3762qwvh-unit-unoconv.service.drv
  /nix/store/klbmk8srwppk6k8p7dvwwy5qwlf8381g-system-units.drv
  /nix/store/5xz91b0cpvrgns0kcw5938kd992d15sb-etc.drv
  /nix/store/md2am8wlkgvly20xv56x9qpdv1vj8dvh-users-groups.json.drv
  /nix/store/5ysidbbmcssp3ry6jcrsp8rrndp4bqad-nixos-system-server-21.05.4255.d5b65f812cd.drv
building '/nix/store/yijn7fyks0m2gamwm7ncgxf2fca1b0pz-system-path.drv'...
building '/nix/store/md2am8wlkgvly20xv56x9qpdv1vj8dvh-users-groups.json.drv'...
building '/nix/store/3dv5jcyvh5v8r901819wav3pvxp6aw61-gst-plugins-good-1.18.4.drv'...
collision between `/nix/store/jlybd5z6vzdqwdxm9aahk7lp6mvvb7dh-nix-bash-completions-0.6.8/share/bash-completion/completions/nixos-container' and `/nix/store/k7wj0q8wx11fss1fdcnvmsvz3lwspfi2-nixos-container/share/bash-completion/completions/nixos-container'
unpacking sources
unpacking source archive /nix/store/f5q8xfivz9pmdf8ninr0zh2jimd1marf-gst-plugins-good-1.18.4.tar.xz
source root is gst-plugins-good-1.18.4
setting SOURCE_DATE_EPOCH to timestamp 1615830511 of file gst-plugins-good-1.18.4/po/gst-plugins-good-1.0.pot
patching sources
patching script interpreter paths in scripts/extract-release-date-from-doap-file.py
scripts/extract-release-date-from-doap-file.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/5f36vg11fdfl6x6sva70cb0jqf722qqn-python3-3.8.11/bin/python3"
configuring
meson flags: --buildtype=plain         --libdir=/nix/store/6s8kmf6jlw88m6gk059mp6kdqss0vyxw-gst-plugins-good-1.18.4/lib --libexecdir=/nix/store/6s8kmf6jlw88m6gk059mp6kdqss0vyxw-gst-plugins-good-1.18.4/libexec         --bindir=/nix/store/6s8kmf6jlw88m6gk059mp6kdqss0vyxw-gst-plugins-good-1.18.4/bin --sbindir=/nix/store/6s8kmf6jlw88m6gk059mp6kdqss0vyxw-gst-plugins-good-1.18.4/sbin         --includedir=/nix/store/hq2d5iqy4hx126qlcfsrr6bnhp3fdsrc-gst-plugins-good-1.18.4-dev/include         --mandir=/nix/store/6s8kmf6jlw88m6gk059mp6kdqss0vyxw-gst-plugins-good-1.18.4/share/man --infodir=/nix/store/6s8kmf6jlw88m6gk059mp6kdqss0vyxw-gst-plugins-good-1.18.4/share/info         --localedir=/nix/store/6s8kmf6jlw88m6gk059mp6kdqss0vyxw-gst-plugins-good-1.18.4/share/locale         -Dauto_features=enabled         -Dwrap_mode=nodownload         --prefix=/nix/store/6s8kmf6jlw88m6gk059mp6kdqss0vyxw-gst-plugins-good-1.18.4 -Dexamples=disabled -Ddoc=disabled -Dqt5=disabled -Dgtk3=disabled -Drpicamsrc=disabled 
created 6127 symlinks in user environment
building '/nix/store/ncc2jqc1888dnzbqlzbwnpg7qyydzs45-libwpd-0.10.0.drv'...
The Meson build system
Version: 0.57.1
Source dir: /build/gst-plugins-good-1.18.4
Build dir: /build/gst-plugins-good-1.18.4/build
Build type: native build
Project name: gst-plugins-good
Project version: 1.18.4
C compiler for the host machine: gcc (gcc 10.3.0 "gcc (GCC) 10.3.0")
C linker for the host machine: gcc ld.bfd 2.35.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
WARNING: Project targeting '>= 0.48' but tried to use feature introduced in '0.54.0': native arg in add_languages.
C++ compiler for the host machine: g++ (gcc 10.3.0 "g++ (GCC) 10.3.0")
C++ linker for the host machine: g++ ld.bfd 2.35.1
Compiler for C supports link arguments -Wl,-Bsymbolic-functions: YES 
Compiler for C supports arguments -fvisibility=hidden: YES 
Compiler for C supports arguments -fno-strict-aliasing: YES 
Has header "dlfcn.h" : YES 
Has header "fcntl.h" : YES 
Has header "inttypes.h" : YES 
Has header "memory.h" : YES 
Has header "process.h" : NO 
Has header "stdint.h" : YES 
Has header "stdlib.h" : YES 
Has header "strings.h" : YES 
Has header "string.h" : YES 
Has header "sys/ioctl.h" : YES 
Has header "sys/param.h" : YES 
Has header "sys/socket.h" : YES 
Has header "sys/stat.h" : YES 
Has header "sys/time.h" : YES 
Has header "sys/types.h" : YES 
Has header "unistd.h" : YES 
Library m found: YES
Checking for function "asinh" with dependency -lm: YES 
Checking for function "clock_gettime" with dependency -lm: YES 
Checking for function "cosh" with dependency -lm: YES 
Checking for function "dcgettext" with dependency -lm: YES 
Checking for function "getpagesize" with dependency -lm: YES 
Checking for function "isinf" with dependency -lm: YES 
Checking for function "mmap" with dependency -lm: YES 
Checking for function "mmap64" with dependency -lm: NO 
Checking for function "sinh" with dependency -lm: YES 
Checking for function "gmtime_r" with dependency -lm: YES 
Checking for size of "char" : 1
Checking for size of "int" : 4
Checking for size of "long" : 8
Checking for size of "short" : 2
Checking for size of "void*" : 8
Checking for size of "off_t" : 8
Compiler for C supports arguments -Wmissing-declarations: YES 
Compiler for C++ supports arguments -Wmissing-declarations: YES 
Compiler for C supports arguments -Wredundant-decls: YES 
Compiler for C++ supports arguments -Wredundant-decls: YES 
Compiler for C supports arguments -Wwrite-strings: YES 
Compiler for C++ supports arguments -Wwrite-strings: YES 
Compiler for C supports arguments -Winit-self: YES 
Compiler for C++ supports arguments -Winit-self: YES 
Compiler for C supports arguments -Wmissing-include-dirs: YES 
Compiler for C++ supports arguments -Wmissing-include-dirs: YES 
Compiler for C supports arguments -Wno-multichar: YES 
Compiler for C++ supports arguments -Wno-multichar: YES 
Compiler for C supports arguments -Wvla: YES 
Compiler for C++ supports arguments -Wvla: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C++ supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Wmissing-prototypes: YES 
Compiler for C supports arguments -Wdeclaration-after-statement: YES 
Compiler for C supports arguments -Wold-style-definition: YES 
Compiler for C supports arguments -Waggregate-return: YES 
Found pkg-config: /nix/store/b9xyjh2hj352rd6i6kjk7igrvh2a1fv3-pkg-config-wrapperRun-time dependency gstreamer-1.0 found: YES 1.18.4
Run-time dependency gstreamer-base-1.0 found: YES 1.18.4
Run-time dependency gstreamer-net-1.0 found: YES 1.18.4
Run-time dependency gstreamer-controller-1.0 found: YES 1.18.4
Run-time dependency gstreamer-check-1.0 found: YES 1.18.4
Run-time dependency gstreamer-pbutils-1.0 found: YES 1.18.4
Run-time dependency gstreamer-allocators-1.0 found: YES 1.18.4
Run-time dependency gstreamer-app-1.0 found: YES 1.18.4
Run-time dependency gstreamer-audio-1.0 found: YES 1.18.4
Run-time dependency gstreamer-fft-1.0 found: YES 1.18.4
Run-time dependency gstreamer-riff-1.0 found: YES 1.18.4
Run-time dependency gstreamer-rtp-1.0 found: YES 1.18.4
Run-time dependency gstreamer-rtsp-1.0 found: YES 1.18.4
Run-time dependency gstreamer-sdp-1.0 found: YES 1.18.4
Run-time dependency gstreamer-tag-1.0 found: YES 1.18.4
Run-time dependency gstreamer-video-1.0 found: YES 1.18.4
Run-time dependency gstreamer-gl-1.0 found: YES 1.18.4
Message: GStreamer OpenGL window systems: wayland x11
Message: GStreamer OpenGL platforms: egl glx
Message: GStreamer OpenGL apis: gles2 gl
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency gstreamer-gl-prototypes-1.0 found: NO (tried pkgconfig and cLooking for a fallback subproject for the dependency gstreamer-gl-prototypes-1.0
meson.build:309:2: ERROR: Neither a subproject directory nor a gst-plugins-base.
A full log can be found at /build/gst-plugins-good-1.18.4/build/meson-logs/mesonbuilder for '/nix/store/3dv5jcyvh5v8r901819wav3pvxp6aw61-gst-plugins-good-1.18.4building '/nix/store/nqsi5kb1mcckk1rh5k4rh5sczbcxrbsw-dbus-1.drv'...
cannot build derivation '/nix/store/vxcc9cyhj1vvcy532lh3lhi107mcxdwg-libreoffice be built
building '/nix/store/nmcssqshc19w0kmzkl5mpdka3akk899v-nginx.conf.drv'...
cannot build derivation '/nix/store/fpcfal736s7dj52q5vrx8jpv3i23i4va-unoconv-0.9ilt
cannot build derivation '/nix/store/96nixs3ygm03p9ifh087mlvdkb2wkgz6-docspell-jobe built
cannot build derivation '/nix/store/ashpajcnb1s0mamh85k8mcmslpf49f4a-unit-scriptuldn't be built
cannot build derivation '/nix/store/2mzzn1kj1a1y9jay2dl3mv56mg3k7mqd-unit-scripties couldn't be built
cannot build derivation '/nix/store/sxn19sx13mz1i75xa3mxpryi3762qwvh-unit-unocont be built
cannot build derivation '/nix/store/klbmk8srwppk6k8p7dvwwy5qwlf8381g-system-unitlt
cannot build derivation '/nix/store/5xz91b0cpvrgns0kcw5938kd992d15sb-etc.drv': 1cannot build derivation '/nix/store/5ysidbbmcssp3ry6jcrsp8rrndp4bqad-nixos-syste1 dependencies couldn't be built
error: build of '/nix/store/5ysidbbmcssp3ry6jcrsp8rrndp4bqad-nixos-system-server

Looks like it’s a downstream dependency of unoconv. If your run nix-shell -p unoconv does that build succeed?

How are you adding the docspell derivations to your nixos configuration?

If you use environment.noXlibs option, it will remove some dependencies from packages to reduce their closure. The downside is that the modified packages are not cached so you will need to build them yourself (not worth it IMO, unless you are targetting some embedded device). And of course, if a package depends on another one that requires graphics, the build will break.

The reason why it tried to build gst plugins was because I had environment.noXlibs = true somewhere in my configuration.

I’ve removed it and now docspell can be installed on the server.

Indeed, rebuilding the world is not worth it.