Bug 1666733
| Summary: | [Rebase] Rebase meson to, at least, 0.47.1 | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Timothy Redaelli <tredaelli> |
| Component: | meson | Assignee: | Stephen Gallagher <sgallagh> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Desktop QE <desktop-qa-list> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 8.0 | CC: | ajax, bnocera, igor.raits, jkoten, jwboyer, marcandre.lureau, sgallagh, tdawson, tpelka, wtaymans |
| Target Milestone: | rc | Keywords: | Rebase |
| Target Release: | 8.0 | Flags: | rule-engine:
mirror+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | meson-0.49.2-1.el8 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-06-14 01:24:12 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Timothy Redaelli
2019-01-16 13:37:35 UTC
Seconded. Would very much like a version of meson that has working PIE support: http://post-office.corp.redhat.com/archives/rhel8-devel/2018-October/msg00582.html I have downloaded and verified that the 0.49.0 version of meson from Fedora builds on rhel-8.0.0-candidate.
I am taking that scratch build and checking to see if all the RHEL8 packages that need meson will build ok with it.
For my first pass, I will just be using mock on an x86_64 machine. Just to see if there are any obvious problems.
This is the current list that I have for packages that depend on meson in RHEL8. If people see a package that is missing, please let me know.
at-spi2-core
baobab
bolt
clevis
colord
dconf
dconf-editor
egl-wayland
eog
file-roller
fuse
fwupd
gcab
geocode-glib
glib-networking
gnome-backgrounds
gnome-bluetooth
gnome-boxes
gnome-calculator
gnome-characters
gnome-color-manager
gnome-control-center
gnome-disk-utility
gnome-font-viewer
gnome-remote-desktop
gnome-screenshot
gnome-session
gnome-settings-daemon
gnome-shell
gnome-shell-extensions
gnome-software
gnome-tweaks
gom
grilo
grilo-plugins
hexchat
http-parser
json-glib
libappstream-glib
libdazzle
libdrm
libepoxy
libfprint
libgit2-glib
libgusb
libgweather
libgxps
libinput
libmodulemd
librhsm
libvarlink
microdnf
nautilus
nautilus-sendto
network-manager-applet
pango
pipewire
sscg
systemd
totem
totem-pl-parser
xmlrpc-c
Out of the list of 62, 16 failed to build on my local mock. I did a rebuild of them with the old meson, just to make sure it wasn't my environment, and all 16 built correctly with the old mock. bolt dconf-editor egl-wayland file-roller glib-networking gnome-boxes gnome-calculator gnome-characters gnome-control-center gnome-screenshot gnome-settings-daemon hexchat libfprint libgweather nautilus network-manager-applet I wasn't expecting so many to fail, so I didn't keep the build logs. I'm going to rebuild them and get those logs to see if there is a theme of what if failing. I've also noticed that we did two things to meson since it was imported to Fedora. We added python3-devel as a dependency. I've noticed that Fedora has a python3-setuptool dependency, but python3-devel is not installed. We also added a mkenums.patch patch ... but since that is an upstream patch, I'm suspecting that it's already in. I'm going to make those two changes to the Fedora meson, and see if it fixes the breakages. The mkenums.patch was already in 0.49.0, so there was no need to add it.
I added
Requires: python3-devel
to the Fedora meson-0.49.0 spec file, rebuilt, and tried again with that.
All but two packages built successfully.
Here are the packages that failed, and their logs.
egl-wayland
...
Configuring config.h using configuration
DEPRECATION: Setting a configuration data value to [2] is invalid, and will fail at configure_file(). If you are using it just to store some values, please use a dict instead.
Configuring wayland-eglstream.pc using configuration
meson.build:60:0: ERROR: Tried to replace variable 'EGL_EXTERNAL_PLATFORM_MAX_VERSION' value with something other than a string or int: [2]
libfprint
...
Building documentation for libfprint
ERROR: Error in gtkdoc helper script:
ERROR: ['gtkdoc-scangobj', '--types=/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/doc/libfprint.types', '--module=libfprint', '--run=', '--cflags=-I/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/. -I/builddir/build/BUILD/libfprint-0.8.2/. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libusb-1.0 -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/pixman-1 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE \'-DG_LOG_DOMAIN="libfprint"\'', '--ldflags=-L/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/libfprint -Wl,-rpath,/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/libfprint -lfprint -lm -lglib-2.0 -lusb-1.0 -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lpixman-1 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld', '--cc=cc', '--ld=cc', '--output-dir=/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/doc'] failed with status 1
Traceback (most recent call last):
File "/usr/bin/gtkdoc-scangobj", line 71, in <module>
sys.exit(scangobj.run(options))
File "/usr/share/gtk-doc/python/gtkdoc/scangobj.py", line 1230, in run
for line in common.open_text(options.types):
File "/usr/share/gtk-doc/python/gtkdoc/common.py", line 51, in open_text
return open(filename, mode, encoding=encoding)
FileNotFoundError: [Errno 2] No such file or directory: '/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/doc/libfprint.types'
Adding bnocera to the CC. Both of those failures look simple to resolve, so we should probably move forwards with this (possibly even picking up the 0.50 release coming from upstream today). (In reply to Troy Dawson from comment #4) > libfprint > ... > Building documentation for libfprint > ERROR: Error in gtkdoc helper script: > ERROR: ['gtkdoc-scangobj', > '--types=/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/doc/ > libfprint.types', '--module=libfprint', '--run=', > '--cflags=-I/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/. > -I/builddir/build/BUILD/libfprint-0.8.2/. -I/usr/include/glib-2.0 > -I/usr/lib64/glib-2.0/include -I/usr/include/libusb-1.0 -I/usr/include/nss3 > -I/usr/include/nspr4 -I/usr/include/pixman-1 -O2 -g -pipe -Wall > -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS > -fexceptions -fstack-protector-strong -grecord-gcc-switches > -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 > -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic > -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection > -D_GNU_SOURCE \'-DG_LOG_DOMAIN="libfprint"\'', > '--ldflags=-L/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/ > libfprint > -Wl,-rpath,/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/ > libfprint -lfprint -lm -lglib-2.0 -lusb-1.0 -lssl3 -lsmime3 -lnss3 > -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lpixman-1 -O2 -g -pipe > -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 > -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong > -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 > -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic > -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection > -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld', > '--cc=cc', '--ld=cc', > '--output-dir=/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/ > doc'] failed with status 1 > Traceback (most recent call last): > File "/usr/bin/gtkdoc-scangobj", line 71, in <module> > sys.exit(scangobj.run(options)) > File "/usr/share/gtk-doc/python/gtkdoc/scangobj.py", line 1230, in run > for line in common.open_text(options.types): > File "/usr/share/gtk-doc/python/gtkdoc/common.py", line 51, in open_text > return open(filename, mode, encoding=encoding) > FileNotFoundError: [Errno 2] No such file or directory: > '/builddir/build/BUILD/libfprint-0.8.2/x86_64-redhat-linux-gnu/doc/libfprint. > types' That's already fixed in git master, and in the development version of libfprint. I'll fix the FTBS when it happens. For the record, I'd like to bump the priority of this ticket as some recent changes in libmodulemd upstream would make 0.46 the minimum meson version to build (without significant hacking around on my part), so if we can get this landed, it would be a big help. *** Bug 1672316 has been marked as a duplicate of this bug. *** (In reply to Troy Dawson from comment #4) > egl-wayland > ... > Configuring config.h using configuration > DEPRECATION: Setting a configuration data value to [2] is invalid, and will > fail at configure_file(). If you are using it just to store some values, > please use a dict instead. > Configuring wayland-eglstream.pc using configuration > meson.build:60:0: ERROR: Tried to replace variable > 'EGL_EXTERNAL_PLATFORM_MAX_VERSION' value with something other than a string > or int: [2] Fixed in newer upstream egl-wayland, which I've imported and built for RHEL8 now. Troy can you please have a look whether new meson fixed all issues you had found? Thanks -Tom I am mock rebuilding all the latest rhel8 packages that depend on meson. This will take a couple hours. I have verified that all the latest rhel8 packages that depend on meson build, except for libfprint. libfprint failed with the same error as was earlier reported in Comment 4. As reported in Comment 6 "That's already fixed in git master, and in the development version of libfprint. I'll fix the FTBS when it happens." So, in my opinion, this new meson works. I'm not sure of the right wording, but ship it. (In reply to Troy Dawson from comment #19) > I have verified that all the latest rhel8 packages that depend on meson > build, except for libfprint. > libfprint failed with the same error as was earlier reported in Comment 4. > As reported in Comment 6 "That's already fixed in git master, and in the > development version of libfprint. I'll fix the FTBS when it happens." > > So, in my opinion, this new meson works. I'm not sure of the right wording, > but ship it. Thanks! |