Need help building Veyon for Leap 15.1 and TW

Hello, I am trying to build Veyon https://veyon.io/.

Veyon is a free and Open Source software for computer monitoring and classroom management supporting Linux and Windows.

I originally found Veyon from Irupp home project but it was drop, so I branched the package and update the source to latest stable version 4.3.0.

https://build.opensuse.org/package/show/home:andythe_great:branches:home:lrupp:archive/veyon

From the Github page of Veyon, I need

 Requirements for Debian-based distributions:
 


  - Build tools: g++ make cmake 
  - Qt5: qtbase5-dev qtbase5-dev-tools qttools5-dev qttools5-dev-tools qtdeclarative5-dev qtquickcontrols2-5-dev 
  - X11: xorg-dev libxtst-dev libfakekey-dev 
  - libjpeg: libjpeg-dev provided by libjpeg-turbo8-dev or libjpeg62-turbo-dev 
  - zlib: zlib1g-dev 
  - OpenSSL: libssl-dev 
  - PAM: libpam0g-dev 
  - procps: libprocps-dev 
  - LZO: liblzo2-dev 
  - QCA: libqca2-dev libqca-qt5-2-dev 
  - LDAP: libldap2-dev 
  - SASL: libsasl2-dev 



Which in the spec file, it seems fine.
One thing that I am not sure is libqca2-dev because I don’t think there is this package in openSUSE. I only found libqca-qt5-devel.

BuildRequires:  gcc-c++
BuildRequires:  glibc-devel
BuildRequires:  cmake
BuildRequires:  make

BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5Concurrent)
BuildRequires:  pkgconfig(Qt5Gui)
BuildRequires:  pkgconfig(Qt5Widgets)
BuildRequires:  pkgconfig(Qt5Network)
BuildRequires:  cmake(Qt5LinguistTools)
BuildRequires:  pkgconfig(Qt5DBus)
BuildRequires:  pkgconfig(Qt5Xml)
#BuildRequires:  wvstreams-devel
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(xtst)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xrandr)
BuildRequires:  libstdc++-devel
BuildRequires:  pkgconfig(libvncclient)
BuildRequires:  pkgconfig(libvncserver)
BuildRequires:  pkgconfig(zlib)
BuildRequires:  pkgconfig(Qt5X11Extras)

BuildRequires:  libX11-devel
BuildRequires:  xorg-x11-devel
BuildRequires:  cyrus-sasl-devel
BuildRequires:  libXp-devel
BuildRequires:  libjpeg-devel
BuildRequires:  zlib-devel
BuildRequires:  openssl-devel
BuildRequires:  pam-devel
BuildRequires:  procps-devel
BuildRequires:  lzo-devel
BuildRequires:  libqca-qt5
BuildRequires:  libqca-qt5-devel
BuildRequires:  openldap2-devel
BuildRequires:  libgsasl 
BuildRequires:  libxkbcommon-devel
BuildRequires:  libxkbcommon-x11-devel 

So I’m not sure what to do.

The log for failed build for TW x86_64 is shown here:

https://build.opensuse.org/package/live_build_log/home:andythe_great:branches:home:lrupp:archive/veyon/openSUSE_Tumbleweed/x86_64.

Thanks.

Hi
Looks like it needs git to pull in some of the thirdparty items, or configured to use the system cmake stuff… If you give me a couple of days can branch your current package and look at it.

Thanks for the help !

Hi,

the tarball in the OBS repository contains neither the necessary submodules nor the Git repository:


$ tar tvf veyon-4.3.0.tar.bz2 | grep 3rdparty
drwxr-xr-x kev-test/users    0 2019-10-11 07:38 veyon-4.3.0/3rdparty/
drwxr-xr-x kev-test/users    0 2019-10-11 07:38 veyon-4.3.0/3rdparty/ddengine/
-rw-r--r-- kev-test/users  212 2019-10-11 07:38 veyon-4.3.0/3rdparty/ddengine/README.md
-rw-r--r-- kev-test/users 250160 2019-10-11 07:38 veyon-4.3.0/3rdparty/ddengine/ddengine.dll
-rw-r--r-- kev-test/users 326960 2019-10-11 07:38 veyon-4.3.0/3rdparty/ddengine/ddengine64.dll
drwxr-xr-x kev-test/users      0 2019-10-11 07:38 veyon-4.3.0/3rdparty/interception/
-rw-r--r-- kev-test/users 470528 2019-10-11 07:38 veyon-4.3.0/3rdparty/interception/install-interception.exe
-rw-r--r-- kev-test/users    147 2019-10-11 07:38 veyon-4.3.0/3rdparty/interception/install.bat
-rw-r--r-- kev-test/users     51 2019-10-11 07:38 veyon-4.3.0/3rdparty/interception/uninstall.bat
drwxr-xr-x kev-test/users      0 2019-10-11 07:38 veyon-4.3.0/3rdparty/kitemmodels/
drwxr-xr-x kev-test/users      0 2019-10-11 07:38 veyon-4.3.0/3rdparty/kldap/
drwxr-xr-x kev-test/users      0 2019-10-11 07:38 veyon-4.3.0/3rdparty/libfakekey/
drwxr-xr-x kev-test/users      0 2019-10-11 07:38 veyon-4.3.0/3rdparty/libvncserver/
drwxr-xr-x kev-test/users      0 2019-10-11 07:38 veyon-4.3.0/3rdparty/ultravnc/
drwxr-xr-x kev-test/users      0 2019-10-11 07:38 veyon-4.3.0/3rdparty/x11vnc/
$ tar tvf veyon-4.3.0.tar.bz2 | grep .git
-rw-r--r-- kev-test/users   63 2019-10-11 07:38 veyon-4.3.0/.gitignore
-rw-r--r-- kev-test/users  434 2019-10-11 07:38 veyon-4.3.0/.gitlab-ci.yml
-rw-r--r-- kev-test/users  660 2019-10-11 07:38 veyon-4.3.0/.gitmodules

Using the official release tarball (https://github.com/veyon/veyon/releases/download/v4.3.0/veyon-4.3.0-src.tar.bz2) fixes the configure phase (the build fails later on a Qt-related error).

I also noticed that the project has official RPMs for Leap built using a Docker image - maybe you could extract the spec file from there.

Hi
Yup, or can use a _service with submodules enabled to pull them in, as well as grabbing any of the latest fixes beyond the tarball release…

I download the source from its website, seems to contain the unmerged sources, but still have some error.

Hi
Yes, need to patch out the -Werror, but there are some QT issues on build. On my todo list for tomorrow :wink:

Hi
Here you go (openSUSE Leap 15.1);
https://build.opensuse.org/request/show/749160

It won’t build for Tumbleweed due to this;
https://github.com/veyon/veyon/issues/570

Wow! Thanks for the help. I seems like the only way to fix bug for the dev to switch to QScreen.
I would also submit this package to Education, do I have to wait until TW is fix or I can submit with only working leap?

Hi
I would wait until it’s fixed… Did you test the package?

Hello,
Not yet, I’m running on TW, I will try it on leap on VM.