[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