mesonbuild / meson

The Meson Build System
http://mesonbuild.com
Apache License 2.0
5.56k stars 1.61k forks source link

gnome.gtkdoc integration breaks when ASAN is enabled #4009

Open chergert opened 6 years ago

chergert commented 6 years ago

When doing ninja install to install docs using gnome.gtkdoc(), things break if ASAN is enabled. I assume its similar to other library ordering issues we've discovered over time.

nirbheek commented 6 years ago

Could you paste the error log and steps to reproduce please?

chergert commented 6 years ago

I had configured Builder with -Dwith_docs=true which causes our gtk-doc to build/install. Various dependencies and Builder itself were configured with -Db_sanitize=address.

Running custom install script '/usr/bin/python3 /opt/gnome/bin/meson --internal gtkdoc --sourcedir=/home/christian/Projects/gnome-builder --builddir=/home/christian/Projects/gnome-builder/build --subdir=doc/sdk --headerdirs=/home/christian/Projects/gnome-builder/src/libide@@/home/christian/Projects/gnome-builder/build/src/libide --mainfile=libide-docs.sgml --modulename=libide --mode=auto --scanargs=--rebuild-types@@--ignore-decorators=_IDE_EXTERN --gobjects-types-file=/home/christian/Projects/gnome-builder/doc/sdk/libide.types --fixxrefargs=--html-dir=share/gtk-doc/html@@--extra-dir=/opt/gnome/share/gtk-doc/html@@--extra-dir=/opt/gnome/share/gtk-doc/html@@--extra-dir=/opt/gnome/share/gtk-doc/html@@--extra-dir=/opt/gnome/share/gtk-doc/html@@--extra-dir=/usr/share/gtk-doc/html@@--extra-dir=/opt/gnome/share/gtk-doc/html@@--extra-dir=/usr/share/vte-doc/html --content-files= --ignore-headers=config.h@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-actions.c@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-actions.h@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-color.c@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-command-line.c@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-plugins.c@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-private.h@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-shortcuts.c@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-tests.c@@/home/christian/Projects/gnome-builder/src/libide/application/ide-application-tests.h@@/home/christian/Projects/gnome-builder/src/libide/buildconfig/ide-buildconfig-configuration-provider.c@@/home/christian/Projects/gnome-builder/src/libide/buildconfig/ide-buildconfig-configuration-provider.h@@/home/christian/Projects/gnome-builder/src/libide/buildconfig/ide-buildconfig-plugin.c@@/home/christian/Projects/gnome-builder/src/libide/buildconfig/ide-buildconfig-pipeline-addin.c@@/home/christian/Projects/gnome-builder/src/libide/buildconfig/ide-buildconfig-pipeline-addin.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-configuration-row.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-configuration-row.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-configuration-view.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-configuration-view.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-log-panel.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-log-panel.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-panel.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-panel.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-perspective.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-perspective.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-plugin.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-stage-row.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-stage-row.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-tool.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-workbench-addin.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-build-workbench-addin.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-environment-editor-row.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-environment-editor-row.h@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-environment-editor.c@@/home/christian/Projects/gnome-builder/src/libide/buildui/ide-environment-editor.h@@/home/christian/Projects/gnome-builder/src/libide/buildsystem/ide-build-log.c@@/home/christian/Projects/gnome-builder/src/libide/buildsystem/ide-build-log-private.h@@/home/christian/Projects/gnome-builder/src/libide/buildsystem/ide-build-stage-private.h@@/home/christian/Projects/gnome-builder/src/libide/buffers/ide-buffer-private.h@@/home/christian/Projects/gnome-builder/src/libide/completion/ide-completion-private.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-actions.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-address-map.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-address-map.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-breakpoints-view.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-breakpoints-view.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-controls.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-controls.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-disassembly-view.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-disassembly-view.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-editor-addin.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-editor-addin.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-fallbacks.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-hover-controls.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-hover-controls.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-hover-provider.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-hover-provider.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-libraries-view.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-libraries-view.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-locals-view.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-locals-view.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-plugin.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-registers-view.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-registers-view.h@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-threads-view.c@@/home/christian/Projects/gnome-builder/src/libide/debugger/ide-debugger-threads-view.h@@/home/christian/Projects/gnome-builder/src/libide/doap/xml-reader.c@@/home/christian/Projects/gnome-builder/src/libide/doap/xml-reader.h@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-hover-provider.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-hover-provider.h@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-layout-stack-addin.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-layout-stack-addin.h@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-layout-stack-controls.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-layout-stack-controls.h@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-perspective-actions.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-perspective-shortcuts.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-plugin.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-print-operation.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-print-operation.h@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-properties.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-properties.h@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-search-bar.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-search-bar.h@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-search-bar-shortcuts.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-view-actions.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-view-settings.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-view-shortcuts.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-workbench-addin.c@@/home/christian/Projects/gnome-builder/src/libide/editor/ide-editor-workbench-addin.h@@/home/christian/Projects/gnome-builder/src/libide/greeter/ide-greeter-perspective.c@@/home/christian/Projects/gnome-builder/src/libide/greeter/ide-greeter-perspective.h@@/home/christian/Projects/gnome-builder/src/libide/gsettings/ide-gsettings-file-settings.c@@/home/christian/Projects/gnome-builder/src/libide/gsettings/ide-gsettings-file-settings.h@@/home/christian/Projects/gnome-builder/src/libide/gsettings/ide-language-defaults.c@@/home/christian/Projects/gnome-builder/src/libide/gsettings/ide-language-defaults.h@@/home/christian/Projects/gnome-builder/src/libide/hover/ide-hover.c@@/home/christian/Projects/gnome-builder/src/libide/hover/ide-hover-private.h@@/home/christian/Projects/gnome-builder/src/libide/hover/ide-hover-popover.c@@/home/christian/Projects/gnome-builder/src/libide/hover/ide-hover-popover-private.h@@/home/christian/Projects/gnome-builder/src/libide/keybindings/ide-keybindings.c@@/home/christian/Projects/gnome-builder/src/libide/keybindings/ide-keybindings.h@@/home/christian/Projects/gnome-builder/src/libide/keybindings/ide-shortcuts-window.c@@/home/christian/Projects/gnome-builder/src/libide/keybindings/ide-shortcuts-window.h@@/home/christian/Projects/gnome-builder/src/libide/layout/ide-layout-grid-actions.c@@/home/christian/Projects/gnome-builder/src/libide/layout/ide-layout-grid-column-actions.c@@/home/christian/Projects/gnome-builder/src/libide/layout/ide-layout-private.h@@/home/christian/Projects/gnome-builder/src/libide/layout/ide-layout-stack-actions.c@@/home/christian/Projects/gnome-builder/src/libide/layout/ide-layout-stack-shortcuts.c@@/home/christian/Projects/gnome-builder/src/libide/layout/ide-shortcut-label.c@@/home/christian/Projects/gnome-builder/src/libide/layout/ide-shortcut-label.h@@/home/christian/Projects/gnome-builder/src/libide/modelines/ide-modelines-file-settings.c@@/home/christian/Projects/gnome-builder/src/libide/modelines/ide-modelines-file-settings.h@@/home/christian/Projects/gnome-builder/src/libide/modelines/modeline-parser.c@@/home/christian/Projects/gnome-builder/src/libide/modelines/modeline-parser.h@@/home/christian/Projects/gnome-builder/src/libide/plugins/ide-extension-util.c@@/home/christian/Projects/gnome-builder/src/libide/plugins/ide-extension-util.h@@/home/christian/Projects/gnome-builder/src/libide/preferences/ide-preferences-builtin.c@@/home/christian/Projects/gnome-builder/src/libide/preferences/ide-preferences-builtin.h@@/home/christian/Projects/gnome-builder/src/libide/preferences/ide-preferences-language-row.c@@/home/christian/Projects/gnome-builder/src/libide/preferences/ide-preferences-language-row.h@@/home/christian/Projects/gnome-builder/src/libide/projects/ide-project-edit-private.h@@/home/christian/Projects/gnome-builder/src/libide/runner/ide-run-button.c@@/home/christian/Projects/gnome-builder/src/libide/runner/ide-run-button.h@@/home/christian/Projects/gnome-builder/src/libide/runner/ide-run-manager-private.h@@/home/christian/Projects/gnome-builder/src/libide/snippets/ide-snippet-private.h@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-cursor.c@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-cursor.h@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-omni-gutter-renderer.c@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-omni-gutter-renderer.h@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-line-change-gutter-renderer.c@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-line-change-gutter-renderer.h@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-source-view-capture.c@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-source-view-capture.h@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-source-view-mode.c@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-source-view-mode.h@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-source-view-movements.c@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-source-view-shortcuts.c@@/home/christian/Projects/gnome-builder/src/libide/sourceview/ide-text-util.c@@/home/christian/Projects/gnome-builder/src/libide/subprocess/ide-breakout-subprocess.c@@/home/christian/Projects/gnome-builder/src/libide/subprocess/ide-breakout-subprocess.h@@/home/christian/Projects/gnome-builder/src/libide/subprocess/ide-breakout-subprocess-private.h@@/home/christian/Projects/gnome-builder/src/libide/subprocess/ide-simple-subprocess.c@@/home/christian/Projects/gnome-builder/src/libide/subprocess/ide-simple-subprocess.h@@/home/christian/Projects/gnome-builder/src/libide/testing/ide-test-panel.c@@/home/christian/Projects/gnome-builder/src/libide/testing/ide-test-panel.h@@/home/christian/Projects/gnome-builder/src/libide/testing/ide-test-editor-addin.c@@/home/christian/Projects/gnome-builder/src/libide/testing/ide-test-editor-addin.h@@/home/christian/Projects/gnome-builder/src/libide/testing/testing-plugin.c@@/home/christian/Projects/gnome-builder/src/libide/util/gs-markdown.c@@/home/christian/Projects/gnome-builder/src/libide/util/gs-markdown.h@@/home/christian/Projects/gnome-builder/src/libide/util/ide-async-helper.c@@/home/christian/Projects/gnome-builder/src/libide/util/ide-async-helper.h@@/home/christian/Projects/gnome-builder/src/libide/util/ide-battery-monitor.c@@/home/christian/Projects/gnome-builder/src/libide/util/ide-battery-monitor.h@@/home/christian/Projects/gnome-builder/src/libide/util/ide-doc-seq.c@@/home/christian/Projects/gnome-builder/src/libide/util/ide-doc-seq.h@@/home/christian/Projects/gnome-builder/src/libide/util/ide-window-settings.c@@/home/christian/Projects/gnome-builder/src/libide/util/ide-window-settings.h@@/home/christian/Projects/gnome-builder/src/libide/util/ptyintercept.c@@/home/christian/Projects/gnome-builder/src/libide/util/ptyintercept.h@@/home/christian/Projects/gnome-builder/src/libide/workbench/ide-omni-pausable-row.c@@/home/christian/Projects/gnome-builder/src/libide/workbench/ide-omni-pausable-row.h@@/home/christian/Projects/gnome-builder/src/libide/workbench/ide-workbench-actions.c@@/home/christian/Projects/gnome-builder/src/libide/workbench/ide-workbench-private.h@@/home/christian/Projects/gnome-builder/src/libide/workbench/ide-workbench-shortcuts.c@@/home/christian/Projects/gnome-builder/src/libide/workers/ide-worker-manager.c@@/home/christian/Projects/gnome-builder/src/libide/workers/ide-worker-manager.h@@/home/christian/Projects/gnome-builder/src/libide/workers/ide-worker-process.c@@/home/christian/Projects/gnome-builder/src/libide/workers/ide-worker-process.h --cc=ccache cc --ld=ccache cc --cflags=-I/home/christian/Projects/gnome-builder/build/src/libide/. -I/home/christian/Projects/gnome-builder/src/libide/. -I/opt/gnome/include/libdazzle-1.0 -I/opt/gnome/include/gtk-3.0 -I/opt/gnome/include/pango-1.0 -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -I/opt/gnome/include/fribidi -I/opt/gnome/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/libdrm -I/opt/gnome/include/harfbuzz -I/opt/gnome/include/gdk-pixbuf-2.0 -I/opt/gnome/include/gio-unix-2.0 -I/opt/gnome/include/atk-1.0 -I/opt/gnome/include/at-spi2-atk/2.0 -I/opt/gnome/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -pthread -I/opt/gnome/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/opt/gnome/include/jsonrpc-glib-1.0 -I/opt/gnome/include/libpeas-1.0 -I/opt/gnome/include/gobject-introspection-1.0 -I/opt/gnome/include/template-glib-1.0 -I/usr/include/vte-2.91 -I/usr/include/p11-kit-1 -I/usr/include/webkitgtk-4.0 -I/usr/include/libsoup-2.4 -O2 -fno-omit-frame-pointer --ldflags=-L/home/christian/Projects/gnome-builder/build/src/libide -Wl,-rpath,/home/christian/Projects/gnome-builder/build/src/libide -lide-1.0 -L/opt/gnome/lib -ldazzle-1.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgtksourceview-4 -ljson-glib-1.0 -ljsonrpc-glib-1.0 -lm -lpangoft2-1.0 -lfontconfig -lfreetype -lpeas-1.0 -lgmodule-2.0 -pthread -lgirepository-1.0 -ltemplate_glib-1.0 -lvte-2.91 -lz -lpcre2-8 -lgnutls -lxml2 -lwebkit2gtk-4.0 -lsoup-2.4 -ljavascriptcoregtk-4.0 -O2 -fno-omit-frame-pointer'
Building documentation for libide
ERROR: 
Error in gtkdoc helper script:

ERROR: 'gtkdoc-scangobj' failed with status 1
//usr/lib64/libasan.so.5: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
//usr/lib64/libasan.so.5: warning: the use of `tempnam' is dangerous, better use `mkstemp'
//usr/lib64/libasan.so.5: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
==4657==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.
2018-08-13 12:44:58,221:scangobj.py:execute_command:1196:WARNING:Running scanner failed: 1, command: ./libide-scan
hadess commented 6 years ago

Seen the same with libgweather built with the -Db_sanitize=address flag.