pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: webkit-gtk fails to build



On Mon, 28 Jan 2019 at 22:44, Leonardo Taccari <leot%netbsd.org@localhost> wrote:
>
> Hello Chavdar,
>
> Chavdar Ivanov writes:
> > This was the problem indeed. I found a random package having
> > 'introspection' as an option and tried to build it without DISPLAY set
> > (in this case, gtksourceview4). It failed in exactly the same way:
> > ....
> >   GISCAN   GtkSource-4.gir
> >
> > ** (process:9416): CRITICAL **: 10:52:26.148: Failed to get connection
> > to xfconfd: Cannot autolaunch D-Bus without X11 $DISPLAY
> >
> > ** (process:16605): CRITICAL **: 10:52:31.273: Failed to get
> > connection to xfconfd: Cannot autolaunch D-Bus without X11 $DISPLAY
> >   GICOMP   GtkSource-4.gir
> >
> > ** (g-ir-compiler:9024): CRITICAL **: 10:52:32.890: Failed to get
> > connection to xfconfd: Cannot autolaunch D-Bus without X11 $DISPLAY
> > gmake[4]: *** [/usr/pkg/share/gobject-introspection-1.0/Makefile.introspection:172:
> > GtkSource-4.typelib] Trace/BPT trap (core dumped)
> > gmake[4]: Leaving directory
> > '/usr/pkgsrc/x11/gtksourceview4/work/gtksourceview-4.0.2/gtksourceview'
> > gmake[3]: *** [Makefile:1651: all-recursive] Error 1
> > gmake[3]: Leaving directory
> > '/usr/pkgsrc/x11/gtksourceview4/work/gtksourceview-4.0.2/gtksourceview'
> > gmake[2]: *** [Makefile:982: all] Error 2
> > gmake[2]: Leaving directory
> > '/usr/pkgsrc/x11/gtksourceview4/work/gtksourceview-4.0.2/gtksourceview'
> > gmake[1]: *** [Makefile:578: all-recursive] Error 1
> > gmake[1]: Leaving directory
> > '/usr/pkgsrc/x11/gtksourceview4/work/gtksourceview-4.0.2'
> > gmake: *** [Makefile:485: all] Error 2
> > *** Error code 2
> >
> > Stop.
> > make[1]: stopped in /usr/pkgsrc/x11/gtksourceview4
> > *** Error code 1
> > .....
> >
> > [...]
>
> Nice (that is easier and quicker to reproduce than building at
> least 40-50% or so of webkit-gtk!)!
>
> Can you please share which programs actually crashes (probably just
> a find of all *.core in the ${WRKSRC} will be enough)?
>
> If tools of gobject-introspection are actually the problematic ones
> (or anything else) can you please also:
>
>  - Collect and share the backtraces of the corresponding .core (e.g. via
>    `gdb -core ....core ...')
>  - (probably the `bt' will not have a lot of information, if that's
>    the case...) Rebuild gobject-introspection (or other problematic
>    package) with `env CFLAGS=-g INSTALL_UNSTRIPPED=yes make replace'
>    and share the backtrace of the corresponding .core

I tried to rebuild gobject-introspection with the suggested flags, and
guess what, it failed the same way, as it internally invokes the newly
built copy of g-ir-compiler, which is what crashes:
-----------
root@ymir:/usr/pkgsrc/devel/gobject-introspection # gdb
work/gobject-introspection-1.56.1/.libs/g-ir-compiler -core
work/gobject-introspection-1.56.1/g-ir-compiler.core
GNU gdb (GDB) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64--netbsd".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from
work/gobject-introspection-1.56.1/.libs/g-ir-compiler...done.
[New process 1]
[New process 2]
Core was generated by `g-ir-compiler'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0  0x00007f4856c4b1a6 in _g_log_abort () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libglib-2.0.so.0
[Current thread is 1 (process 1)]
(gdb) bt
#0  0x00007f4856c4b1a6 in _g_log_abort () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libglib-2.0.so.0
#1  0x00007f4856c4c2b0 in g_logv () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libglib-2.0.so.0
#2  0x00007f4856c4c3f7 in g_log () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libglib-2.0.so.0
#3  0x00007f4855403727 in g_io_module_load () from
/usr/pkg/lib/gio/modules/libxfconfgsettingsbackend.so
#4  0x00007f4857c5e901 in g_io_module_load_module () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libgio-2.0.so.0
#5  0x00007f4857031fe2 in g_type_module_use () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libgobject-2.0.so.0
#6  0x00007f4857c5efbe in
g_io_modules_scan_all_in_directory_with_scope () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libgio-2.0.so.0
#7  0x00007f4857c5f2af in _g_io_modules_ensure_loaded () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libgio-2.0.so.0
#8  0x00007f4857c5f86c in _g_io_module_get_default () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libgio-2.0.so.0
#9  0x00007f4857c4dca6 in g_file_new_for_path () from
/usr/pkgsrc/devel/gobject-introspection/work/.buildlink/lib/libgio-2.0.so.0
#10 0x0000000000403701 in write_out_typelib (prefix=0x0,
typelib=0x7f4858709600) at tools/compiler.c:79
#11 0x0000000000403c37 in main (argc=1, argv=0x7f7fffb282f0) at
tools/compiler.c:227
-------------

Otherwise the message during the build is the same - no DISPLAY etc.

I then successfuly rebuilt gobject-introspection with the suggested
environment variables set and a valid DISPLAY and replaced it,
proceeding to try to rebuild gtksourceview4 with introspection enabled
and no DISPLAY set, which failed in exactly the same way, the core
being the same from g-ir-compiler and the above trace.

So it seems we have found the culprit - g-ir-compiler. If you look at
the trace above, there is one weird item - #3 - which doesn't make
sense to be here, as is a library from xfce4-conf package; one is not
expected to have it in all builds, of course. So I force-removed it
from the build system and repeated the build of gtksourceview4 as
above - with no DISPLAY and introspection enabled. This time it
succeeded.

So it points out to a problem between xfce4-conf and
gobject-introspection - the latter maps a library from the former
which expects DISPLAY to be set; if the library is not present,
nothing bad happens... To verify this, I rebuilt xfce4-conf and
reinstalled it, trying again to build gtksourceview4 - which failed
the same as before.

To summarize - one can't have a package build with introspection
enabled AND no DISPLAY set AND xfce4-conf installed on the build
system. Take any one of these and the build succeeds.

Chavdar Ivanov



>
>
> Thank you!
>
>
> (I have tried to reproduce that with webkit-gtk but unfortunately
> I couldn't reproduce it (i.e. it build fines on a last Friday
> -current with pkgsrc-current :\))



-- 
----


Home | Main Index | Thread Index | Old Index