Qt5 fails at configure phase because none of the three iconv implementation succeed. First, there is the POSIX iconv test, which fails with: iconv.o: In function `main': iconv.cpp:(.text.startup.main+0x32): undefined reference to `libiconv_open' iconv.cpp:(.text.startup.main+0x4d): undefined reference to `libiconv' iconv.cpp:(.text.startup.main+0x55): undefined reference to `libiconv_close' Then, the SUN iconv test, failing with: ../gnu-libiconv/gnu-libiconv.cpp: In function 'int main(int, char**)': ../gnu-libiconv/gnu-libiconv.cpp:46:46: error: invalid conversion from 'const char**' to 'char**' [-fpermissive] iconv(x, &inp, &inbytes, &outp, &outbytes); ^ Finally the GNU iconv test: gnu-libiconv.cpp: In function 'int main(int, char**)': gnu-libiconv.cpp:46:46: error: invalid conversion from 'const char**' to 'char**' [-fpermissive] iconv(x, &inp, &inbytes, &outp, &outbytes); ^ I see two things wrong here: 1. None of these tests tries to link with libiconv if it fails to link with an iconv-bundled libc. Glibc and FreeBSD 10 libc bundles iconv in libc, whereas on uclibc and older FreeBSD, a separate libiconv is used. 2. What is the difference between the SUN and the GNU iconv tests if they compile the same file? It may be the same problem as Bug 549664, in which blueness forced -liconv in LDFLAGS and I used a patch to change the prototype. It looks like each approach satisfies a different test. So, in order to prepare the correct patch, which iconv test succeed on uclibc with GNU libiconv? Reproducible: Always Steps to Reproduce: 1. emerge -1 qtcore:5 2. 3. Actual Results: * ERROR: dev-qt/qtcore-5.5.1-r1::gentoo failed (configure phase): * configure failed Expected Results: qtcore installed on system
Created attachment 438790 [details] emerge --info output
Created attachment 438796 [details] build.log
I applied attachment 403924 [details, diff] ( https://bugs.gentoo.org/attachment.cgi?id=403924 ) to qtcore:5 and qttest:5 , as is. It allowed me to build qtcore, qttest and qtchooser[test] .
(In reply to René Rhéaume from comment #3) > I applied attachment 403924 [details, diff] [details, diff] ( > https://bugs.gentoo.org/attachment.cgi?id=403924 ) > to qtcore:5 and qttest:5 , as is. It allowed me to build qtcore, qttest and > qtchooser[test] . The patch should also be applied to qtdbus, qtgui, qtnetwork, qtprintsupport, qtwidgets and qtxml.
(In reply to René Rhéaume from comment #4) > (In reply to René Rhéaume from comment #3) > > I applied attachment 403924 [details, diff] [details, diff] [details, diff] ( > > https://bugs.gentoo.org/attachment.cgi?id=403924 ) > > to qtcore:5 and qttest:5 , as is. It allowed me to build qtcore, qttest and > > qtchooser[test] . > > The patch should also be applied to qtdbus, qtgui, qtnetwork, > qtprintsupport, qtwidgets and qtxml. That same patch (attachment 403924 [details, diff]) is also needed for version 5.7.1 of the packages listed above on uclibc-ng
Has anyone tried to send these upstream? We avoid carrying custom patches for Qt as much as possible.
Where can I report this upstream?
(In reply to René Rhéaume from comment #7) > Where can I report this upstream? https://bugreports.qt.io Even better, submit your patch(es) directly to their code review system, see http://wiki.qt.io/Qt_Contribution_Guidelines
(In reply to Davide Pesavento from comment #8) > (In reply to René Rhéaume from comment #7) > > Where can I report this upstream? > > https://bugreports.qt.io > > Even better, submit your patch(es) directly to their code review system, see > http://wiki.qt.io/Qt_Contribution_Guidelines I went with the bug report on https://bugreports.qt.io/browse/QTBUG-63529 because I do not intend to clone their Git repository and do other just for that.
uclibc support in Gentoo has been removed.