linuxmint / warpinator

Share files across the LAN
GNU General Public License v3.0
1.17k stars 80 forks source link

Compilation errors and hurdles on Mint 19.2 #119

Open ghost opened 2 years ago

ghost commented 2 years ago

Hi, tried to compile latest master (as of typing this) on my Mint 19.2 and either compilation variant (dpkg-buildpackage or meson) ends up with some error. Same for an older tag (1.1.2). I did add the repository as mentioned in the readme; inxi -r reports:

Active apt repos in: /etc/apt/sources.list.d/clementlefebvre-grpc-bionic.list 
    1: deb http://ppa.launchpad.net/clementlefebvre/grpc/ubuntu bionic main
    2: deb-src http://ppa.launchpad.net/clementlefebvre/grpc/ubuntu bionic main

Also installed any other dependencies not already installed and so far they all seem alright apart from zeroconf which cannot be gotten to 0.27.0 on this system and apparently the meson parameter -Dbundle-zeroconf=false is being ignored.

Has anyone of the official team tried to compile this in 19.x recently? Here's what I get for the dpkg-buildpackage version:

dragos@Samsung-R580:~/Downloads/Sources+scripts/warpinator$ git checkout master
Previous HEAD position was 7755ce5 1.1.2
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
dragos@Samsung-R580:~/Downloads/Sources+scripts/warpinator$ dpkg-buildpackage --no-sign
dpkg-buildpackage: info: source package warpinator
dpkg-buildpackage: info: source version 1.2.9
dpkg-buildpackage: info: source distribution una
dpkg-buildpackage: info: source changed by Clement Lefebvre <root@linuxmint.com>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build warpinator
dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper-compat (= 12)
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)

Using the -d flag as suggested in the error message above results in another error:

dragos@Samsung-R580:~/Downloads/Sources+scripts/warpinator$ dpkg-buildpackage --no-sign -d
dpkg-buildpackage: info: source package warpinator
dpkg-buildpackage: info: source version 1.2.9
dpkg-buildpackage: info: source distribution una
dpkg-buildpackage: info: source changed by Clement Lefebvre <root@linuxmint.com>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build warpinator
 fakeroot debian/rules clean
dh clean --with=python3,gir
dh: Compatibility levels before 5 are no longer supported (level 1 requested)
debian/rules:4: recipe for target 'clean' failed
make: *** [clean] Error 255
dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 2

The main problem here is that the debhelp 12 package which I did try to install has some sort of a circular dependency. It requires libdebhelper-perl 12, but after installing that and trying to subsequently install debhelper, just before finishing it uninstalls libdebhelper-perl and then whines about the very same missing dependency. Nothing I can do about it. Anyway, debhelper 12 pertains to Ubuntu 20 so it may not be suitable to Mint 19/Ubuntu 18.

And here's what I get for the meson version:

dragos@Samsung-R580:~/Downloads/Sources+scripts/warpinator$ meson builddir --prefix=/usr -Dbundle-zeroconf=false
The Meson build system
Version: 0.45.1
Source dir: /home/dragos/Downloads/Sources+scripts/warpinator
Build dir: /home/dragos/Downloads/Sources+scripts/warpinator/builddir
Build type: native build
Project name: warpinator
Native C compiler: ccache cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Configuring org.x.Warpinator.desktop.in using configuration
Configuring org.x.warpinator.policy.in using configuration
Configuring org.x.Warpinator.appdata.xml.in using configuration
Configuring config.py using configuration
Configuring warpinator using configuration
Program meson_install_schemas.py found: YES (/usr/bin/python3 /home/dragos/Downloads/Sources+scripts/warpinator/install-scripts/meson_install_schemas.py)
Program meson_update_icon_cache.py found: YES (/usr/bin/python3 /home/dragos/Downloads/Sources+scripts/warpinator/install-scripts/meson_update_icon_cache.py)
Program meson_install_bin_script.sh found: YES (/bin/sh /home/dragos/Downloads/Sources+scripts/warpinator/install-scripts/meson_install_bin_script.sh)
Message: 

    warpinator-1.2.9

    prefix:                 /usr
    source code location:   /home/dragos/Downloads/Sources+scripts/warpinator

    building for flatpak:   false
    including ufw script:   true
    bundling zeroconf:      false

Build targets in project: 6
Found ninja-1.8.2 at /usr/bin/ninja
dragos@Samsung-R580:~/Downloads/Sources+scripts/warpinator$ ninja -C builddir
ninja: Entering directory `builddir'
[3/3] Generating org.x.warpinator.policy_merge with a custom command.
dragos@Samsung-R580:~/Downloads/Sources+scripts/warpinator$ sudo ninja -C builddir install
ninja: Entering directory `builddir'
[0/1] Installing files.
Installing subdir /home/dragos/Downloads/Sources+scripts/warpinator/data/icons/hicolor to /usr/share/icons/hicolor
Installing data/org.x.Warpinator.desktop to /usr/share/applications/org.x.Warpinator.desktop
Installing data/org.x.warpinator.policy to /usr/share/polkit-1/actions/org.x.warpinator.policy
Installing data/org.x.Warpinator.appdata.xml to /usr/share/metainfo/org.x.Warpinator.appdata.xml
Installing /home/dragos/Downloads/Sources+scripts/warpinator/data/warpinator-autostart.desktop to /etc/xdg/autostart
Installing /home/dragos/Downloads/Sources+scripts/warpinator/data/org.x.Warpinator.gschema.xml to /usr/share/glib-2.0/schemas
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/src/config.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/auth.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/interceptors.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/networkmonitor.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/notifications.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/ops.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/prefs.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/remote.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/remote_registration.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/server.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/transfers.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/util.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/warpinator.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/warp_pb2.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/warp_pb2_grpc.py to /usr/libexec/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/src/firewall/ufw-modify to /usr/libexec/warpinator/firewall
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/bin/warpinator to /usr/bin
Installing /home/dragos/Downloads/Sources+scripts/warpinator/resources/main-window.ui to /usr/share/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/resources/op-item.ui to /usr/share/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/resources/overview-button.ui to /usr/share/warpinator
Installing /home/dragos/Downloads/Sources+scripts/warpinator/resources/prefs-window.ui to /usr/share/warpinator
Running custom install script '/usr/bin/python3 /usr/bin/meson --internal gettext install --subdir=po --localedir=share/locale --pkgname=warpinator'
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/am.gmo to /usr/share/locale/am/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/ar.gmo to /usr/share/locale/ar/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/be.gmo to /usr/share/locale/be/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/bn.gmo to /usr/share/locale/bn/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/ca.gmo to /usr/share/locale/ca/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/cs.gmo to /usr/share/locale/cs/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/cy.gmo to /usr/share/locale/cy/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/da.gmo to /usr/share/locale/da/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/de.gmo to /usr/share/locale/de/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/en_GB.gmo to /usr/share/locale/en_GB/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/el.gmo to /usr/share/locale/el/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/eo.gmo to /usr/share/locale/eo/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/es.gmo to /usr/share/locale/es/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/et.gmo to /usr/share/locale/et/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/eu.gmo to /usr/share/locale/eu/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/fi.gmo to /usr/share/locale/fi/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/fr.gmo to /usr/share/locale/fr/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/fr_CA.gmo to /usr/share/locale/fr_CA/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/fy.gmo to /usr/share/locale/fy/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/he.gmo to /usr/share/locale/he/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/hi.gmo to /usr/share/locale/hi/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/hr.gmo to /usr/share/locale/hr/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/hu.gmo to /usr/share/locale/hu/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/ia.gmo to /usr/share/locale/ia/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/ie.gmo to /usr/share/locale/ie/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/id.gmo to /usr/share/locale/id/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/is.gmo to /usr/share/locale/is/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/it.gmo to /usr/share/locale/it/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/ja.gmo to /usr/share/locale/ja/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/kab.gmo to /usr/share/locale/kab/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/kk.gmo to /usr/share/locale/kk/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/kn.gmo to /usr/share/locale/kn/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/ko.gmo to /usr/share/locale/ko/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/la.gmo to /usr/share/locale/la/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/lt.gmo to /usr/share/locale/lt/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/nl.gmo to /usr/share/locale/nl/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/oc.gmo to /usr/share/locale/oc/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/pl.gmo to /usr/share/locale/pl/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/pt.gmo to /usr/share/locale/pt/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/pt_BR.gmo to /usr/share/locale/pt_BR/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/ro.gmo to /usr/share/locale/ro/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/ru.gmo to /usr/share/locale/ru/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/sk.gmo to /usr/share/locale/sk/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/sr.gmo to /usr/share/locale/sr/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/sr@latin.gmo to /usr/share/locale/sr@latin/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/sv.gmo to /usr/share/locale/sv/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/tr.gmo to /usr/share/locale/tr/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/uk.gmo to /usr/share/locale/uk/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/zgh.gmo to /usr/share/locale/zgh/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/zh_CN.gmo to /usr/share/locale/zh_CN/LC_MESSAGES/warpinator.mo
Installing /home/dragos/Downloads/Sources+scripts/warpinator/builddir/po/zh_HK.gmo to /usr/share/locale/zh_HK/LC_MESSAGES/warpinator.mo
Running custom install script '/usr/bin/python3 /home/dragos/Downloads/Sources+scripts/warpinator/install-scripts/meson_install_schemas.py'
Compiling gsettings schemas...
Running custom install script '/usr/bin/python3 /home/dragos/Downloads/Sources+scripts/warpinator/install-scripts/meson_update_icon_cache.py'
Updating gtk icon cache... /usr/share/icons/hicolor
gtk-update-icon-cache: Cache file created successfully.
Running custom install script '/bin/sh /home/dragos/Downloads/Sources+scripts/warpinator/install-scripts/meson_install_bin_script.sh'

Now everything seems to have went fine, no errors. But then trying to actually run warpinator the dreaded zeroconf error pops up:

dragos@Samsung-R580:~/Downloads/Sources+scripts/warpinator$ warpinator
Python3 zeroconf must be >= 0.27.0

Here's the list of the currently installed dependencies versus the required versions as per the readme file. Only python3-zeroconf and debhelper are lower than required and cannot be updated:

build deps (ref: debian/control)

    meson (>= 0.45.0) ==> 0.45.1-2ubuntu0.18.04.2
    python3-grpc-tools (>= 1.14.0) ==> 1.14.1-1build0
    python3-protobuf (>= 3.6.1) ==> 3.6.1.3-1ubuntu3~bionic
    gobject-introspection ==> 1.56.1-1

required only for makepot

    appstream, ==> 0.12.0-3ubuntu1
    policykit-1, ==> 0.105-20ubuntu0.18.04.6

runtime deps

    gir1.2-glib-2.0 ==> 1.56.1-1
    gir1.2-gtk-3.0 (>= 3.20.0) ==> 3.22.30-1ubuntu4
    gir1.2-xapp-1.0 (>= 1.6.0) ==> 1.6.10+tricia
    python3 ==> 3.6.7-1~18.04
    python3-gi ==> 3.26.1-2ubuntu1
    python3-setproctitle ==> 1.1.10-1build2
    python3-xapp (>= 1.6.0) ==> 1.8.1
    python3-zeroconf (>= 0.27.0)  ==> 0.19.1-1 ***cannot be updated
    python3-grpcio (>= 1.16.0) ==> 1.19.1-1ubuntu2~bionic
    python3-cryptography ==> 2.1.4-1ubuntu1.4
    python3-nacl ==> 1.1.2-1build1

    debhelper ==> 11.1.6ubuntu2

How do I go from here while definitely Flatpak/Snap/AppImage are unacceptable?

mtwebster commented 2 years ago

I'll have a look at the build when I get a chance, but in the meantime, why not use the flatpak version?

ghost commented 2 years ago

Let's say out of principle mostly, although the amount of extra stuff that usually comes with a Flatpak may prove too much for the scarce free space on my drives.

BTW, yesterday I installed the Windows port in an 8.x test setup and it all went fine apart from the additional VC14 runtime that had to be installed too. I was hoping to get a working share between this Mint and that Windows considering Samba has become utterly useless compared to years ago when I could fairly easily connect a Mint 17.2 to an XP. But I guess that's progress, huh...

ghost commented 2 years ago

Nevermind previous content, after a lot of struggle installing packages not quite made for Mint 19.2 I finally managed to build a .deb package that actually works or at least it appears to.

For others using Mint 19.x that may have troubles building and/or running Warpinator I'll leave some pointers: