[libvirt] [jenkins-ci PATCH v3 5/7] projects: add gtk-vnc project

Daniel P. Berrangé berrange at redhat.com
Tue Jan 7 11:49:25 UTC 2020


On Fri, Dec 13, 2019 at 06:20:57PM +0100, Andrea Bolognani wrote:
> On Fri, 2019-12-13 at 14:36 +0000, Daniel P. Berrangé wrote:
> > +++ b/guests/playbooks/build/projects/gtk-vnc+mingw64.yml
> > @@ -0,0 +1,12 @@
> > +---
> > +- set_fact:
> > +    name: gtk-vnc+mingw64
> > +    machines: '{{ mingw_machines }}'
> > +    archive_format: xz
> > +    git_url: '{{ git_urls["gtk-vnc"][git_remote] }}'
> > +
> > +- include: '{{ playbook_base }}/jobs/prepare.yml'
> > +- include: '{{ playbook_base }}/jobs/meson-build-job.yml'
> > +  vars:
> > +    local_env: '{{ mingw64_local_env }}'
> > +    meson_args: '{{ mingw32_meson_args }}'
> 
> s/mingw32/mingw64/
> 
> > +++ b/guests/playbooks/build/projects/gtk-vnc.yml
> > @@ -0,0 +1,19 @@
> > +---
> > +- set_fact:
> > +    name: gtk-vnc
> > +    machines: '{{ all_machines }}'
> > +    archive_format: xz
> > +    git_url: '{{ git_urls["gtk-vnc"][git_remote] }}'
> > +
> > +- include: '{{ playbook_base }}/jobs/prepare.yml'
> > +- include: '{{ playbook_base }}/jobs/meson-build-job.yml'
> 
> Build fails on FreeBSD with
> 
>   $ meson .. . --prefix=$VIRT_PREFIX
>   The Meson build system
>   Version: 0.52.1
>   Source dir: /usr/home/test/gtk-vnc
>   Build dir: /usr/home/test/gtk-vnc/build
>   Build type: native build
>   Project name: gtk-vnc
>   Project version: 1.0.0
>   C compiler for the host machine: ccache cc (clang 6.0.1 "FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)")
>   C linker for the host machine: lld 6.0.1
>   Host machine cpu family: x86_64
>   Host machine cpu: x86_64
>   Program pod2man found: YES (/usr/local/bin/pod2man)
>   Found pkg-config: /usr/local/bin/pkg-config (1.6.3)
>   Run-time dependency gobject-2.0 found: YES 2.56.3
>   Run-time dependency gio-2.0 found: YES 2.56.3
>   Run-time dependency gio-unix-2.0 found: YES 2.56.3
>   Run-time dependency gdk-pixbuf-2.0 found: YES 2.38.1
>   Did not find CMake 'cmake'
>   Found CMake: NO
>   Run-time dependency gtk+-3.0 found: NO
> 
>   meson.build:81:0: ERROR: Could not generate cargs for gtk+-3.0:
>   Package xproto was not found in the pkg-config search path.
>   Perhaps you should add the directory containing `xproto.pc'
>   to the PKG_CONFIG_PATH environment variable
>   Package 'xproto', required by 'x11', not found
>   Package 'kbproto', required by 'x11', not found
>   Package 'xextproto', required by 'xext', not found
>   Package 'xproto', required by 'xdamage', not found
>   [...]
> 
> The issue is not in Meson itself:
> 
>   $ pkg-config --cflags --libs gtk+-3.0
>   Package xproto was not found in the pkg-config search path.
>   Perhaps you should add the directory containing `xproto.pc'
>   to the PKG_CONFIG_PATH environment variable
>   Package 'xproto', required by 'x11', not found
>   Package 'kbproto', required by 'x11', not found
>   Package 'xextproto', required by 'xext', not found
>   Package 'xproto', required by 'xdamage', not found
>   [...]
> 
> so it looks like it's most likely a packaging issue.

I can't reproduce that on FreeBSD 11.3 or 12.1, so I assume it is
fixed now.

> On Debian 9, it fails with
> 
>   [...]
>   [56/64] Linking target src/libgtk-vnc-2.0.so.0.0.2.
>   FAILED: src/libgtk-vnc-2.0.so.0.0.2
>   ccache cc  -o src/libgtk-vnc-2.0.so.0.0.2 'src/25a6634@@gtk-vnc-2.0 at sha/meson-generated_.._vncdisplayenums.c.o' 'src/25a6634@@gtk-vnc-2.0 at sha/meson-generated_.._vncmarshal.c.o' 'src/25a6634@@gtk-vnc-2.0 at sha/meson-generated_.._vncconnectionenums.c.o' 'src/25a6634@@gtk-vnc-2.0 at sha/vncdisplay.c.o' 'src/25a6634@@gtk-vnc-2.0 at sha/vncgrabsequence.c.o' 'src/25a6634@@gtk-vnc-2.0 at sha/vnccairoframebuffer.c.o' 'src/25a6634@@gtk-vnc-2.0 at sha/vncdisplaykeymap.c.o' -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libgtk-vnc-2.0.so.0 src/libgvnc-1.0.so.0.0.1 -Wl,--no-undefined -Wl,--version-script,/home/test/gtk-vnc/src/libgtk-vnc_sym.version /usr/lib/x86_64-linux-gnu/libgtk-3.so /usr/lib/x86_64-linux-gnu/libgdk-3.so /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so /usr/lib/x86_64-linux-gnu/libpango-1.0.so /usr/lib/x86_64-linux-gnu/libatk-1.0.so /usr/lib/x86_64-linux-gnu/libcairo-gobject.so /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so -lgcrypt /usr/lib/x86_64-linux-gnu/libgnutls.so /usr/lib/x86_64-linux-gnu/libsasl2.so /usr/lib/x86_64-linux-gnu/libz.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/test/gtk-vnc/build/src
>   src/25a6634@@gtk-vnc-2.0 at sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table':
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:150: undefined reference to `XkbGetMap'
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:154: undefined reference to `XkbGetNames'
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:163: undefined reference to `XkbFreeKeyboard'
>   src/25a6634@@gtk-vnc-2.0 at sha/vncdisplaykeymap.c.o: In function `check_for_xquartz':
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:116: undefined reference to `XListExtensions'
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList'
>   src/25a6634@@gtk-vnc-2.0 at sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table':
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode'
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode'
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode'
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode'
>   src/25a6634@@gtk-vnc-2.0 at sha/vncdisplaykeymap.c.o: In function `check_for_xquartz':
>   /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList'
>   collect2: error: ld returned 1 exit status
>   [58/64] Generating GVncPulse-1.0.typelib with a custom command.
>   ninja: build stopped: subcommand failed.
> 
> and both Ubuntu version also display very similar failures.

That just looks like a code bug in gtk-vnc, not a problem with
the CI setup.

> > +- include: '{{ playbook_base }}/jobs/meson-check-job.yml'
> > +- include: '{{ playbook_base }}/jobs/meson-rpm-job.yml'
> > +  vars:
> > +    # RPM build is still not possible on CentOS7 as it does not
> > +    # have the needed RPM macros for meson.
> > +    machines:
> > +      - libvirt-centos-8
> > +      - libvirt-fedora-30
> > +      - libvirt-fedora-31
> > +      - libvirt-fedora-rawhide
> 
> Building the RPM fails everywhere with
> 
>   $ rpmbuild --clean --define "_topdir `pwd`/rpmbuild" -ta meson-dist/*.tar.xz
>   error: Failed to read spec file from meson-dist/gtk-vnc-1.0.0.tar.xz
> 
> I think we might need to adapt our RPM build rules.

I've changed the meson setup for gtk-vnc  to more closely
match libvirt-dbus/libosinfo.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list