I've tested building this with either all gcc or all g++, and the result is the same.
At this point I suspect a regression in glibc 2.23. I don't think lua is doing anything particularly fancy here, yet at the time the binary is built, stdout points to a place in memory (possibly read-only) that's too small for a struct _IO_FILE_complete, yet glibc nevertheless tries to cast to this in the destructor and then gets very sad. It seems that it is possible to work around this by not passing the flags '-Wl,--version-script -Wl,../debian/version-script' to the link command. Comparing the symbols between the binaries linked with and without this version script shows the following important difference: 10030ab0 g DO .rodata 00000004 Base _IO_stdin_used Seems like we probably want the executable to not hide that symbol. OTOH seems like hiding that symbol shouldn't break the binary? which is happening only on powerpc. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1570055 Title: FTBFS on powerpc To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1570055/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs