pkgsrc-Users archive

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

Re: gtk4 fails to build with gcc12



On Wed, Oct 04, 2023 at 10:19:22PM +0200, Rhialto wrote:
> On Mon 02 Oct 2023 at 18:33:13 +0200, Rhialto wrote:
> > On Mon 02 Oct 2023 at 16:19:19 +0200, Benny Siegert wrote:
> > > Is this repeatable? That is, if you just re-do "make", does it fail at
> > > the same place?
> > > 
> > > I have seen segfaults from gcc before, typically on flaky hardware.
> > > They do not reappear when rerunning the same command.
> > 
> > Yes, it's repeatable. But it's not gcc that fails, but some other
> > command: 
> > 
> > [823/1781] Generating gtk/Gdk-4.0.gir ... command (wrapped by meson to set env)
> > FAILED: gtk/Gdk-4.0.gir
> 
> (the next line was rather long so I omit it here)
> 
> If I rerun that command (it runs g-ir-scanner) it outputs
> 
> ld: warning: libintl.so.1, needed by /tmp/pkgsrc/x11/gtk4/default/gtk-4.12.1/output/gtk/libgtk-4.so, may conflict with libintl.so.8
> ld: warning: libintl.so.1, needed by /tmp/pkgsrc/x11/gtk4/default/gtk-4.12.1/output/gtk/libgtk-4.so, may conflict with libintl.so.8
> Command '['/tmp/pkgsrc/x11/gtk4/default/gtk-4.12.1/output/tmp-introspectd2c9xgmi/Gdk-4.0', '--introspect-dump=/tmp/pkgsrc/x11/gtk4/default/gtk-4.12.1/output/tmp-introspectd2c9xgmi/functions.txt,/tmp/pkgsrc/x11/gtk4/default/gtk-4.12.1/output/tmp-introspectd2c9xgmi/dump.xml']' died with <Signals.SIGSEGV: 11>.


That long g-ir-scanner command creates a source file and compiles it
into the binary called Gdk-4.0.

Trying to run that binary kills ld.elf_so(!) as it tries to load the
newly compiled libgtk.

Just double checked that all is well with gcc 10.5.0, but not on my
-current/amd64 HAVE_GCC=12 box.


Cheers,

Patrick

Starting program: /tmp/pkgsrc/x11/gtk4/work.x86_64/gtk-4.12.3/output/tmp-introspect20oancyy/Gdk-4.0 

Program received signal SIGSEGV, Segmentation fault.
_rtld_call_ifunc (obj=0x7f7ff7ee7400, mask=mask@entry=0x7f7fffffe6f0, cur_objgen=cur_objgen@entry=1)
    at /usr/src/libexec/ld.elf_so/reloc.c:311
311                             *where = target;
(gdb) bt
#0  _rtld_call_ifunc (obj=0x7f7ff7ee7400, mask=mask@entry=0x7f7fffffe6f0, cur_objgen=cur_objgen@entry=1)
    at /usr/src/libexec/ld.elf_so/reloc.c:311
#1  0x00007f7ff7ef3284 in _rtld_call_ifunc_functions (cur_objgen=1, obj=<optimized out>, mask=0x7f7fffffe6f0)
    at /usr/src/libexec/ld.elf_so/rtld.c:280
#2  _rtld_call_init_functions (mask=mask@entry=0x7f7fffffe6f0) at /usr/src/libexec/ld.elf_so/rtld.c:304
#3  0x00007f7ff7ef3de5 in _rtld (sp=<optimized out>, relocbase=<optimized out>) at /usr/src/libexec/ld.elf_so/rtld.c:795
#4  0x00007f7ff7eed033 in rtld_start () from /usr/libexec/ld.elf_so
#5  0x0000000000000000 in ?? ()
(gdb) print *obj
$2 = {next = 0x7f7ff7ee7800, path = 0x7f7ff7ee5640 "gtk/libgtk-4.so.1", refcount = 1, dl_refcount = 0, 
  mapbase = 0x7f7ff774b000 "\177ELF\002\001\001\003", mapsize = 7962624, textsize = 675840, vaddrbase = 0, 
  relocbase = 0x7f7ff774b000 "\177ELF\002\001\001\003", dynamic = 0x7f7ff7ed2188, entry = 0x0, phdr = 0x7f7ff774b040, 
  phsize = 504, pltgot = 0x7f7ff7ed2568, rel = 0x0, rellim = 0x0, rela = 0x7f7ff77b5b28, relalim = 0x7f7ff77e2eb8, pltrel = 0x0, 
  pltrellim = 0x0, pltrela = 0x7f7ff77e2eb8, pltrelalim = 0x7f7ff77efb00, symtab = 0x7f7ff7756568, strtab = 0x7f7ff77817f8 "", 
  strsize = 198958, buckets = 0x7f7ff774b240, unused1 = 0, chains = 0x7f7ff774f24c, nchains = 7366, rpaths = 0x7f7ff7ee5a60, 
  needed = 0x7f7ff7ee5660, init = 0x7f7ff77f0000 <_init>, fini = 0x7f7ff7bbb370 <_fini>, mainprog = 0, rtld = 0, textrel = 0, 
  symbolic = 1, printed = 0, isdynamic = 1, mainref = 1, globalref = 0, init_done = 1, init_called = 0, fini_called = 0, 
  z_now = 1, z_nodelete = 0, z_initfirst = 0, z_noopen = 0, phdr_loaded = 1, tls_static = 1, tls_dynamic = 0, ref_nodel = 0, 
  sysv_hash = 1, gnu_hash = 0, linkmap = {l_addr = 0x7f7ff774b000 "\177ELF\002\001\001\003", 
    l_name = 0x7f7ff7ee5640 "gtk/libgtk-4.so.1", l_ld = 0x7f7ff7ed2188, l_next = 0x7f7ff7ee7908, l_prev = 0x7f7ff7ee7108}, 
  interp = 0x0, dldags = {sqh_first = 0x0, sqh_last = 0x7f7ff7ee7538}, dagmembers = {sqh_first = 0x0, sqh_last = 0x7f7ff7ee7548}, 
  dev = 43777, ino = 82351347333565409, ehdr = 0x7f7ff7ee3000, nbuckets = 4099, nbuckets_m = 4288680445, nbuckets_s1 = 1 '\001', 
  nbuckets_s2 = 12 '\f', buckets_gnu = 0x0, nbuckets_gnu = 0, nbuckets_m_gnu = 0, nbuckets_s1_gnu = 0 '\000', 
  nbuckets_s2_gnu = 0 '\000', chains_gnu = 0x0, bloom_gnu = 0x0, symndx_gnu = 0, mask_bm_gnu = 0, shift2_gnu = 0, pathlen = 17, 
  names = {sqh_first = 0x7f7ff7ee9000, sqh_last = 0x7f7ff7ee9000}, tlsindex = 0, tlsinit = 0x0, tlsinitsize = 0, tlssize = 0, 
  tlsoffset = 0, tlsalign = 0, relro_page = 0x7f7ff7eb8860, relro_size = 124832, verneed = 0x7f7ff77b5ab8, verneednum = 3, 
  verdef = 0x0, verdefnum = 0, versyms = 0x7f7ff77b2126, vertab = 0x7f7ff6251000, vertabnum = 6, init_array = 0x7f7ff7eb8860, 
  init_arraysz = 3, fini_array = 0x0, fini_arraysz = 0, ifunc_remaining = 2, ifunc_remaining_nonplt = 0, cxa_refcount = 0}



Home | Main Index | Thread Index | Old Index