Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 211325 - sys-libs/uclibc[pregen]: ebuild logic error
Summary: sys-libs/uclibc[pregen]: ebuild logic error
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-25 00:53 UTC by Andrew Bevitt
Modified: 2013-12-22 14:18 UTC (History)
0 users

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


Attachments
64_all_uClibc-add-glibc-fenvh.patch (64_all_uClibc-add-glibc-fenvh.patch,5.45 KB, patch)
2010-03-09 16:52 UTC, Christopher Friedt
Details | Diff
65_all_uClibc-kernel-fsid-t.patch (65_all_uClibc-kernel-fsid-t.patch,659 bytes, patch)
2010-03-09 16:54 UTC, Christopher Friedt
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Bevitt 2008-02-25 00:53:53 UTC
There is a logic error in all of the uClibc ebuilds.

The SRC_URI variable includes a file uClibc-locale-030818.tgz if USE="nls pregen -userlocales". However in src_unpack there is a block 

if use pregen ; then
...
fi

In this block the file "${DISTDIR}"/${MY_P}-$(tc-arch)-full-locale.tar.gz is used, when USE="pregen -userlocales", instead of uClibc-locale-030818.tgz. The full-locale.tar.gz file does not exist in the SRC_URI so does not exist in DISTFILES to be copied.

Possible fixes:
1) Replace "${DISTDIR}"/${MY_P}-$(tc-arch)-full-locale.tar.gz with uClibc-locale-030818.tgz when USE="iconv pregen -userlocales" in src_unpack.

2) Update SRC_URI to include "${DISTDIR}"/${MY_P}-$(tc-arch)-full-locale.tar.gz
Comment 1 Christopher Friedt 2010-03-09 16:52:23 UTC
Created attachment 222851 [details, diff]
64_all_uClibc-add-glibc-fenvh.patch

adds the fenv.h header from glibc (this is identical to what they do in later versions uClibc)

alters makefile to remove the installed header if no floating point environment is available. (is this correct?)
Comment 2 Christopher Friedt 2010-03-09 16:54:18 UTC
Created attachment 222853 [details, diff]
65_all_uClibc-kernel-fsid-t.patch

I guess some define mangling occurred with the newer stable gcc. This adds the new define as well as the older ones to prevent namespace collision.
Comment 3 Christopher Friedt 2010-03-09 16:57:57 UTC
Should be fixed with the above two patches. Builds for me, but only with USE="-iconv". That is probably an unrelated bug, but in either case the relevent output is:

...
gcc -O2 -Wall  -DCTYPE_PACKED=1 -DDO_WIDE_CHAR=1 -D__UCLIBC_GEN_LOCALE gen_wc8bi
t.c -o gen_wc8bit
gen_wc8bit.c: In function 'main':
gen_wc8bit.c:462: warning: pointer targets in assignment differ in signedness
gen_wc8bit.c:613: warning: pointer targets in assignment differ in signedness
gen_wc8bit.c:351: warning: array subscript is above array bounds
gen_wc8bit.c:410: warning: array subscript is above array bounds
gen_wc8bit.c:476: warning: array subscript is above array bounds

...
ishift 1  tshift 10  size 23636
ishift 2  tshift 10  size 23636
smallest = 6136
setting ishift 5  tshift 1
make: *** [wctables.h] Segmentation fault
 * ERROR: cross-i686-pc-linux-uclibc/uclibc-0.9.28.3-r9 failed:
 *   make locales failed
...
Comment 4 Christopher Friedt 2010-03-09 17:08:30 UTC
Sorry :S

This is the completely wrong bug - these patches should go to #300062

(In reply to comment #3)
> Should be fixed with the above two patches. Builds for me, but only with
> USE="-iconv". That is probably an unrelated bug, but in either case the
> relevent output is:
Comment 5 SpanKY gentoo-dev 2013-12-22 14:18:37 UTC
we've dropped USE=pregen in newer versions