Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 587062 - dev-qt/qtcore:5 with sys-libs/uclibc - cannot configure because all 3 iconv tests fail
Summary: dev-qt/qtcore:5 with sys-libs/uclibc - cannot configure because all 3 iconv t...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL: https://bugreports.qt.io/browse/QTBUG...
Whiteboard:
Keywords:
Depends on:
Blocks: uclibc-porting
  Show dependency tree
 
Reported: 2016-06-25 17:47 UTC by René Rhéaume
Modified: 2022-01-02 10:28 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info output (emerge-info.txt,6.21 KB, text/plain)
2016-06-25 19:21 UTC, René Rhéaume
Details
build.log (build.log,12.84 KB, text/plain)
2016-06-25 19:31 UTC, René Rhéaume
Details

Note You need to log in before you can comment on or make changes to this bug.
Description René Rhéaume 2016-06-25 17:47:52 UTC
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
Comment 1 René Rhéaume 2016-06-25 19:21:57 UTC
Created attachment 438790 [details]
emerge --info output
Comment 2 René Rhéaume 2016-06-25 19:31:04 UTC
Created attachment 438796 [details]
build.log
Comment 3 René Rhéaume 2017-02-04 21:34:52 UTC
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] .
Comment 4 René Rhéaume 2017-03-05 23:59:01 UTC
(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.
Comment 5 René Rhéaume 2017-09-10 16:04:30 UTC
(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
Comment 6 Michael Palimaka (kensington) gentoo-dev 2017-09-13 12:17:55 UTC
Has anyone tried to send these upstream? We avoid carrying custom patches for Qt as much as possible.
Comment 7 René Rhéaume 2017-10-01 00:38:48 UTC
Where can I report this upstream?
Comment 8 Davide Pesavento gentoo-dev 2017-10-01 12:54:24 UTC
(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
Comment 9 René Rhéaume 2017-10-01 14:27:42 UTC
(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.
Comment 10 David Seifert gentoo-dev 2022-01-02 10:28:15 UTC
uclibc support in Gentoo has been removed.