Summary: | gnome-extra/gnome-builder-3.20.4 fails to build due to sandbox dying | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Pacho Ramos <pacho> |
Component: | Current packages | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | floppym, gnome |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 553092 | ||
Bug Blocks: | 578452 | ||
Attachments: |
build.log
gnome-builder-3.20.4.ebuild My version of 3.20.4 ebuild 3.22.4 ebuild |
Created attachment 439556 [details]
gnome-builder-3.20.4.ebuild
*** This bug has been marked as a duplicate of bug 553092 *** @vapier, in my case it is failing always... do you want me to test something that could help to get it fixed? Also, is it possible to workaround this in some way at ebuild level? Thanks (In reply to Pacho Ramos from comment #3) for the other reporters, it's been failing consistently as well. it isn't really a problem with this ebuild, but some combination on your system of environment for this package. so putting a workaround in this ebuild doesn't make much sense. Will keep this opened for reminding why we cannot bump it I get this now after some 3.20 upgrades with gnome-builder-3.18 when opening a project (and so the GtkSourceView based IDE bits with said bubbles should appear in a new project window): ide-source-view:ERROR:ide-source-view.c:4282:ide_source_view_draw_search_bubbles: code should not be reached Aborted and so I can't use builder 3.18 anymore. Thus I bumped it to 3.20.4 locally again until it can go to 3.22 instead, as I need it working instead of aborting for doing paid work. Thought maybe it's from wayland, but GDK_BACKEND=x11 also aborts (just then I can see the editor for a second before it goes away on the abort still). Does builder 3.18 still work for you on an otherwise gnome 3.20 system? As in, does it allow to actually edit a source file in a project without aborting? That said, I hit the sandbox crap as well. So I have a bump pending as well (with hugely modified/fixed ebuild and its deps and USE flags). Not cool, back to sublime or something... Created attachment 447320 [details]
My version of 3.20.4 ebuild
My tweaked ebuild for 3.20.4 that still hits the sandbox issue.
Needs local USE flag descriptions added to metadata.xml too, and probably some further tweaks/fixes in ebuild - but as sandbox hates us, I worked around it and very busy with actually using 3.20.4 now after losing hours on a clean bump, only to be hit by sandbox love too.
But in "short":
* Unsure about the forced python now; and if yes, then might want to depend on libpeas[python] then too.
* For some reason I'm getting warnings about webkit plugin symbol stuff, even though I can't see that plugin anywhere because I did USE=-webkit.
* Not sure if we might ever need YACC/LEX that is now added; the sources are pre-generated in tarball and I couldn't even find the rules to re-generate them; so not an issue, unless the configure.ac checks actually error out if no "bison -y" or alternative found
* ctags is sort of automagical, but it builds fine and will default to using a "ctags" path for it and then seems to gracefully error out if not present; might want to note about it in some elog thing.
* python auto-completion jedi plugin stuff requires jedi and (optionally) python-lxml at runtime; should at least elog this.
* Not sure what rdtscp is that is reported as "no" in configure summary.
* gettext plugin uses xgettext executable at runtime; again missing rdep or elog.
* The USE=webkit is for "Build HTML and Markdown previewer plugin" (for local USE flag description override for more exact documentation), but also some generic support that I didn't figure out (which is now oddly claiming plugin load failed on startup, even though that plugin is excluded from build with --disable-webkit)
I think most of what is done is a strict improvement to what we had before or what's in the previous 3.20.4 attachment; maybe I can look further once we figure out this sandbox thing.
In this ebuild furthermore uncrustify is not needed. Hasn't been ever since it was added in 3.16 (it only had leftover path generation then, no actual usage). Since 3.18 uncrustify is only mentioned in leftover translation strings, either outdated or in fuzzy strings; the path handling for uncrustify is gone as well. Anyhow, debugged this rather deep, but got stuck on the subcommand libtool debug claims to be running last at the time of sandbox failure ran separately is passing; so I don't really know what's up anymore. Basically if I remove the -export-symbols-regex '^(ide_|_ide_).*' part from the link line, sandbox is happy. If it's there, it's not happy. However the working 3.18 also had the same -export-symbols-regex and it doesn't fail there. Debugging it deeper to libtool subcommands via: SANDBOX_DEBUG=1 sandbox debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' make I get a call of /usr/bin/x86_64-pc-linux-gnu-nm -B <long list of .o files and .a files> | sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | /bin/sed 's/.* //' | sort | uniq > .libs/libide-1.0.exp printer, which seems to be the point during which sandbox is erroring out. However if I copy-paste that nm call and do it manually inside sandbox, it doesn't fail. As an additional note about 3.18; while for me it aborted upon getting to the editor - for some others it works, but doesn't honor the desktop monospace font settings, nor builder settings font override, so people are stuck with a non-monospace font for the code editor when running gnome-builder-3.18 on top of gnome 3.20 (probably gtksourceview or gtk+ upgrade or something). I also saw the wrong font before abort for a second, when the window did show up for a second under X11. I've attached a patch to sandbox that fixes it for me at https://bugs.gentoo.org/show_bug.cgi?id=553092#c31 Created attachment 459590 [details]
3.22.4 ebuild
My current version of a 3.22.4 bump, if anyone wants to take a look and comment.
I intend to push this to main tree later today, after I have some time to tweak the jedi vs ctags description wrt python autocompletion and add USE flags to metadata.xml.
I didn't use readme eclass because I didn't know if it'll show it again after I change the contents (after packaging gnome-code-assistance I'd tweak it, and want it shown to users as it's very important, etc), tips welcome here or maybe I can research later today as well.
Bump to 3.22.4 now in tree. I added a soft build blocker on buggy sandbox to ensure we don't stable it without coordinating sandbox revbump stable first. There's plenty to do for getting Builder packaging better still, with plenty of FIXMEs in the ebuild for now, but this should be a huge improvement over the 3.18 ebuild (plus 3.18 doesn't really work well at runtime anymore with newer gtksourceview etc). Reviewing, help on improving and packaging the missing cool stuff very welcome (gnome-code-assistance and flatpak primarily). But this bug here I shall consider finally fixed, with sandbox patched and bump in tree. Thanks for the work Regarding the logs, maybe you could still use readme.gentoo-r1.eclass in combination with REPLACING_VERSIONS checks to ensure to print that elog messages when updating from older versions (exporting FORCE_PRINT_ELOG), while not bothering people in the future :/ I used readme.gentoo-r1 already in the commit, but setting FORCE_PRINT_ELOG=1 now. I want to get gnome-code-assistance packaged and that added to the log soon, probably no revbump or anything will happen to gnome-builder. Once that is done, we can start using it without the print forcing I guess, and replacing versions stuff. I don't personally see an issue with showing it every time though, it's a big thing afterall, but yeah, that was the idea - get some of this other stuff packaged, make it actually complete for that version and then remove the forcing. Then on bumps if it grows more optional deps, add them to the message and do the REPLACING_VERSIONS dance. |
Created attachment 439554 [details] build.log I am not sure why gnome-builder makes sandbox to die with: * /var/tmp/portage/sys-apps/sandbox-2.10-r2/work/sandbox-2.10/libsandbox/libsandbox.c:check_syscall():989: failure (No such file or directory): * ISE: abs_path: (null) res_path: (null) /usr/lib64/libsandbox.so(+0xac32)[0x7f45ac997c32] /usr/lib64/libsandbox.so(+0xad20)[0x7f45ac997d20] /usr/lib64/libsandbox.so(+0x51a2)[0x7f45ac9921a2] /usr/lib64/libsandbox.so(opendir+0x29)[0x7f45ac994779] /bin/sh[0x46d777] /bin/sh[0x46e3d6] /bin/sh[0x46e4d1] /bin/sh[0x46e4d1] /bin/sh[0x46e4d1] /bin/sh[0x46e4d1] /proc/19022/cmdline: /bin/sh ../libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -pthread -I/usr/include/gtksourceview-3.0 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libpeas-1.0 -I/usr/include/gobject-introspection-1.0 -I/usr/lib64/libffi-3.2.1/include -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/python3.5m -I/usr/include/python3.5m -DG_DISABLE_CAST_CHECKS -DG_DISABLE_CAST_CHECKS -DPACKAGE_DATADIR="/usr/share" -DPACKAGE_LOCALE_DIR="/usr/share/locale" -DPACKAGE_LIBDIR="/usr/lib64" -DBUILDDIR="/var/tmp/portage/gnome-extra/gnome-builder-3.20.4/work/gnome-builder-3.20.4" -DSRCDIR="/var/tmp/portage/gnome-extra/gnome-builder-3.20.4/work/gnome-builder-3.20.4" -I../libide -I../contrib/egg -I../contrib/gd -I../contrib/nautilus -I../contrib/pnl -I../contrib/search -I../contrib/tmpl -I../contrib/xml -I../contrib/pnl -I../contrib/tmpl -I../data/icons/hicolor -I. -I./doap -I./editor -I./greeter -I./genesis -I./gsettings -I./local -I./modelines -I./preferences -I./resources -I./theatrics -I./util -I../contrib/libeditorconfig -I./editorconfig -I./pygobject -DENABLE_EDITORCONFIG -I/usr/include/pygobject-3.0 -I/usr/lib64/libffi-3.2.1/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DENABLE_PYTHON_SCRIPTING -O2 -pipe -march=native -fno-stack-protector -std=gnu11 -D_GNU_SOURCE -Wall -Wcast-align -Wdeclaration-after-statement -Werror=format-security -Werror=format=2 -Wextra -Wformat-nonliteral -Wformat-security -Wmissing-include-dirs -Wnested-externs -Wno-missing-field-initializers -Wno-sign-compare -Wno-strict-aliasing -Wno-uninitialized -Wno-unused-parameter -Wpointer-arith -Wredundant-decls -Wshadow -Wswitch-default -Wswitch-enum -Wundef -Wl,-Bsymbolic -avoid-version -no-undefined -export-symbols-regex ^(ide_|_ide_).* -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -o libide-1.0.la -rpath /usr/lib64/gnome-builder directory/libide_1_0_la-ide-directory-build-system.lo directory/libide_1_0_la-ide-directory-genesis-addin.lo directory/libide_1_0_la-ide-directory-plugin.lo directory/libide_1_0_la-ide-directory-vcs.lo doap/libide_1_0_la-ide-doap-person.lo doap/libide_1_0_la-ide-doap.lo editor/libide_1_0_la-ide-editor-perspective.lo editor/libide_1_0_la-ide-editor-view-addin.lo editor/libide_1_0_la-ide-editor-view.lo genesis/libide_1_0_la-ide-genesis-addin.lo genesis/libide_1_0_la-ide-genesis-perspective.lo libide_1_0_la-ide-application-addin.lo libide_1_0_la-ide-application-tool.lo libide_1_0_la-ide-application.lo libide_1_0_la-ide-back-forward-item.lo libide_1_0_la-ide-back-forward-list-load.lo libide_1_0_la-ide-back-forward-list-save.lo libide_1_0_la-ide-back-forward-list.lo libide_1_0_la-ide-buffer-change-monitor.lo libide_1_0_la-ide-buffer-manager.lo libide_1_0_la-ide-buffer.lo libide_1_0_la-ide-build-result-addin.lo libide_1_0_la-ide-build-result.lo libide_1_0_la-ide-build-system.lo libide_1_0_la-ide-builder.lo libide_1_0_la-ide-completion-item.lo libide_1_0_la-ide-completion-provider.lo libide_1_0_la-ide-completion-results.lo libide_1_0_la-ide-configuration-manager.lo libide_1_0_la-ide-configuration.lo libide_1_0_la-ide-context.lo libide_1_0_la-ide-debugger.lo libide_1_0_la-ide-deployer.lo libide_1_0_la-ide-device-manager.lo libide_1_0_la-ide-device-provider.lo libide_1_0_la-ide-device.lo libide_1_0_la-ide-diagnostic-provider.lo libide_1_0_la-ide-diagnostic.lo libide_1_0_la-ide-diagnostician.lo libide_1_0_la-ide-diagnostics.lo libide_1_0_la-ide-environment-editor-row.lo libide_1_0_la-ide-environment-editor.lo libide_1_0_la-ide-environment-variable.lo libide_1_0_la-ide-environment.lo libide_1_0_la-ide-executable.lo libide_1_0_la-ide-executer.lo libide_1_0_la-ide-extension-adapter.lo libide_1_0_la-ide-extension-set-adapter.lo libide_1_0_la-ide-file-settings.lo libide_1_0_la-ide-file.lo libide_1_0_la-ide-fixit.lo libide_1_0_la-ide-highlight-engine.lo libide_1_0_la-ide-highlight-index.lo libide_1_0_la-ide-highlighter.lo libide_1_0_la-ide-indenter.lo libide_1_0_la-ide-layout-grid.lo libide_1_0_la-ide-layout-pane.lo libide_1_0_la-ide-layout-stack.lo libide_1_0_la-ide-layout-view.lo libide_1_0_la-ide-layout.lo libide_1_0_la-ide-log.lo libide_1_0_la-ide-object.lo libide_1_0_la-ide-pattern-spec.lo libide_1_0_la-ide-perspective.lo libide_1_0_la-ide-preferences-addin.lo libide_1_0_la-ide-preferences.lo libide_1_0_la-ide-process.lo libide_1_0_la-ide-progress.lo libide_1_0_la-ide-project-file.lo libide_1_0_la-ide-project-files.lo libide_1_0_la-ide-project-info.lo libide_1_0_la-ide-project-item.lo libide_1_0_la-ide-project-miner.lo libide_1_0_la-ide-project.lo libide_1_0_la-ide-recent-projects.lo libide_1_0_la-ide-refactory.lo libide_1_0_la-ide-runtime-manager.lo libide_1_0_la-ide-runtime-provider.lo libide_1_0_la-ide-runtime.lo libide_1_0_la-ide-script-manager.lo libide_1_0_la-ide-script.lo libide_1_0_la-ide-search-context.lo libide_1_0_la-ide-search-engine.lo libide_1_0_la-ide-search-provider.lo libide_1_0_la-ide-search-result.lo libide_1_0_la-ide-service.lo libide_1_0_la-ide-settings.lo libide_1_0_la-ide-source-location.lo libide_1_0_la-ide-source-map.lo libide_1_0_la-ide-source-range.lo libide_1_0_la-ide-source-snippet-chunk.lo libide_1_0_la-ide-source-snippet-context.lo libide_1_0_la-ide-source-snippet.lo libide_1_0_la-ide-source-snippets-manager.lo libide_1_0_la-ide-source-snippets.lo libide_1_0_la-ide-source-style-scheme.lo libide_1_0_la-ide-source-view-mode.lo libide_1_0_la-ide-source-view.lo libide_1_0_la-ide-subprocess-launcher.lo libide_1_0_la-ide-symbol-node.lo libide_1_0_la-ide-symbol-resolver.lo libide_1_0_la-ide-symbol-tree.lo libide_1_0_la-ide-symbol.lo libide_1_0_la-ide-tags-builder.lo libide_1_0_la-ide-target.lo libide_1_0_la-ide-test-case.lo libide_1_0_la-ide-test-suite.lo libide_1_0_la-ide-thread-pool.lo libide_1_0_la-ide-tree-builder.lo libide_1_0_la-ide-tree-node.lo libide_1_0_la-ide-tree.lo libide_1_0_la-ide-unsaved-file.lo libide_1_0_la-ide-unsaved-files.lo libide_1_0_la-ide-uri.lo libide_1_0_la-ide-vcs-uri.lo libide_1_0_la-ide-vcs.lo libide_1_0_la-ide-workbench-addin.lo libide_1_0_la-ide-workbench-header-bar.lo libide_1_0_la-ide-workbench-open.lo libide_1_0_la-ide-workbench.lo libide_1_0_la-ide-worker.lo libide_1_0_la-ide.lo local/libide_1_0_la-ide-local-device.lo preferences/libide_1_0_la-ide-preferences-entry.lo preferences/libide_1_0_la-ide-preferences-file-chooser-button.lo preferences/libide_1_0_la-ide-preferences-flow-box.lo preferences/libide_1_0_la-ide-preferences-font-button.lo preferences/libide_1_0_la-ide-preferences-group.lo preferences/libide_1_0_la-ide-preferences-page.lo preferences/libide_1_0_la-ide-preferences-spin-button.lo preferences/libide_1_0_la-ide-preferences-switch.lo search/libide_1_0_la-ide-omni-search-display.lo search/libide_1_0_la-ide-omni-search-entry.lo search/libide_1_0_la-ide-omni-search-group.lo search/libide_1_0_la-ide-omni-search-row.lo template/libide_1_0_la-ide-project-template.lo template/libide_1_0_la-ide-template-base.lo template/libide_1_0_la-ide-template-provider.lo util/libide_1_0_la-ide-cairo.lo util/libide_1_0_la-ide-dnd.lo util/libide_1_0_la-ide-file-manager.lo util/libide_1_0_la-ide-gtk.lo util/libide_1_0_la-ide-line-reader.lo util/libide_1_0_la-ide-pango.lo util/libide_1_0_la-ide-posix.lo util/libide_1_0_la-ide-rgba.lo editor/libide_1_0_la-ide-editor-frame-actions.lo editor/libide_1_0_la-ide-editor-frame.lo editor/libide_1_0_la-ide-editor-map-bin.lo editor/libide_1_0_la-ide-editor-plugin.lo editor/libide_1_0_la-ide-editor-print-operation.lo editor/libide_1_0_la-ide-editor-tweak-widget.lo editor/libide_1_0_la-ide-editor-view-actions.lo editor/libide_1_0_la-ide-editor-workbench-addin.lo greeter/libide_1_0_la-ide-greeter-perspective.lo greeter/libide_1_0_la-ide-greeter-project-row.lo gsettings/libide_1_0_la-ide-gsettings-file-settings.lo gsettings/libide_1_0_la-ide-language-defaults.lo libide_1_0_la-ide-application-command-line.lo libide_1_0_la-ide-application-actions.lo libide_1_0_la-ide-application-plugins.lo libide_1_0_la-ide-application-tests.lo libide_1_0_la-ide-async-helper.lo libide_1_0_la-ide-battery-monitor.lo libide_1_0_la-ide-css-provider.lo libide_1_0_la-ide-extension-util.lo libide_1_0_la-ide-keybindings.lo libide_1_0_la-ide-layout-stack-actions.lo libide_1_0_la-ide-layout-tab.lo libide_1_0_la-ide-layout-tab-bar.lo libide_1_0_la-ide-line-change-gutter-renderer.lo libide_1_0_la-ide-line-diagnostics-gutter-renderer.lo libide_1_0_la-ide-perspective-switcher.lo libide_1_0_la-ide-ref-ptr.lo libide_1_0_la-ide-search-reducer.lo libide_1_0_la-ide-shortcuts-window.lo libide_1_0_la-ide-source-iter.lo libide_1_0_la-ide-source-snippet-completion-item.lo libide_1_0_la-ide-source-snippet-completion-provider.lo libide_1_0_la-ide-source-snippet-parser.lo libide_1_0_la-ide-source-view-capture.lo libide_1_0_la-ide-source-view-movements.lo libide_1_0_la-ide-text-iter.lo libide_1_0_la-ide-theme-manager.lo libide_1_0_la-ide-workbench-actions.lo libide_1_0_la-ide-worker-manager.lo libide_1_0_la-ide-worker-process.lo modelines/libide_1_0_la-ide-modelines-file-settings.lo modelines/libide_1_0_la-modeline-parser.lo preferences/libide_1_0_la-ide-preferences-builtin.lo preferences/libide_1_0_la-ide-preferences-bin.lo preferences/libide_1_0_la-ide-preferences-language-row.lo preferences/libide_1_0_la-ide-preferences-perspective.lo theatrics/libide_1_0_la-ide-box-theatric.lo util/libide_1_0_la-ide-doc-seq.lo util/libide_1_0_la-ide-gdk.lo util/libide_1_0_la-ide-text-util.lo util/libide_1_0_la-ide-window-settings.lo editorconfig/libide_1_0_la-editorconfig-glib.lo editorconfig/libide_1_0_la-ide-editorconfig-file-settings.lo pygobject/libide_1_0_la-ide-pygobject-script.lo libide_1_0_la-ide-enums.lo resources/libide_1_0_la-ide-resources.lo -lgio-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lpeas-1.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgio-2.0 -lgirepository-1.0 -lxml2 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lpython3.5m -lpthread -ldl -lutil -lm -lrt -lm ../data/icons/hicolor/libicons.la ../contrib/egg/libegg-private.la ../contrib/gd/libgd.la ../contrib/nautilus/libnautilus.la ../contrib/pnl/libpanel-gtk.la ../contrib/search/libsearch.la ../contrib/tmpl/libtemplate-glib-1.0.la ../contrib/xml/libxml.la ../contrib/libeditorconfig/libeditorconfig.la -lgobject-2.0 -lglib-2.0 Makefile:1858: recipe for target 'libide-1.0.la' failed make[3]: *** [libide-1.0.la] Aborted (core dumped) make[3]: Leaving directory '/var/tmp/portage/gnome-extra/gnome-builder-3.20.4/work/gnome-builder-3.20.4/libide' Makefile:1543: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/var/tmp/portage/gnome-extra/gnome-builder-3.20.4/work/gnome-builder-3.20.4/libide' Makefile:636: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/gnome-extra/gnome-builder-3.20.4/work/gnome-builder-3.20.4' Makefile:568: recipe for target 'all' failed make: *** [all] Error 2