Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 323377

Summary: sys-devel/gettext-0.18.1: bundled gnulib doesn't cross compiles with uclibc targets
Product: Gentoo Linux Reporter: Maksim 'max_posedon' Melnikau <maxposedon>
Component: New packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal CC: laborer2008
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: gettext uclibc nls patch
gettext ebuild patch
gettext mipsel-ucibc cross build.log

Description Maksim 'max_posedon' Melnikau 2010-06-09 22:42:02 UTC
I'm trying get uclibc based platform, there is 2 options: with or without nls - I'm trying with nls. One of the goals - compile glib:2 (which "opens doors" to big software base).

so, gettext doesn't cross compiles for mips-uclibc (I think for any uclibc platform)

Reproducible: Always

Steps to Reproduce:
1. crossdev mipsel-gentoo-linux-uclibc
2. edit make.conf USE="nls unicode" (note: nls hardmasked on uclibc now)
3. emerge-mipsel-gentoo-linux-uclibc gettext

Actual Results:  
compilation fails

Expected Results:  
compilation should be successfull

Portage 2.2_rc67 (embedded, gcc-4.4.3, uclibc-0.9.30.1-r1, 2.6.34-gentoo i686)
=================================================================
System uname: Linux-2.6.34-gentoo-i686-Genuine_Intel-R-_CPU_T2130_@_1.86GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 08 Jun 2010 08:30:20 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-python/pycrypto: 2.1.0
dev-util/cmake:      2.8.1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3, 4.5.0
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.8
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="mips ~mips"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 "
CHOST="mipsel-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 "
DISTDIR="/media/sheeva/linux/gentoo/distfiles"
FEATURES="assume-digests buildpkg distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS=""
LINGUAS="en"
MAKEOPTS="-j2"
PKGDIR="/media/sheeva/linux/gentoo/mips-uclibc-packages"
PORTAGE_CONFIGROOT="/usr/mipsel-gentoo-linux-uclibc/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/home/data/gentoo/mips-uclibc-tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/kde /var/lib/layman/loongson /var/lib/layman/embedded-cross /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="make-symlinks minimal mips ncurses nls pam readline unicode zlib" ELIBC="uclibc" INPUT_DEVICES="evdev keyboard" KERNEL="linux" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="fbdev" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Maksim 'max_posedon' Melnikau 2010-06-09 22:44:43 UTC
Created attachment 234789 [details]
gettext uclibc nls patch

This patch should be applied *during* compile time - just after error.
Its crazy hack, but it works. 
I don't know where all this files (which gettext generates) comes from - I don't know root of the problem.
Comment 2 Maksim 'max_posedon' Melnikau 2010-06-09 22:47:33 UTC
Created attachment 234791 [details]
gettext ebuild patch

This is how crazy hack can be applied.
This patches possible never go to portage. But let they save time for somebody who want just compile it right now.

If somebody know how to fix such issues correct way - plz let me know.
Comment 3 Maksim 'max_posedon' Melnikau 2010-06-09 22:49:37 UTC
Created attachment 234793 [details]
gettext mipsel-ucibc cross build.log

This how it failed for me, before this patches.
Comment 4 SpanKY gentoo-dev 2010-06-10 01:33:29 UTC
not really bugs in gettext
Comment 5 NickNill 2010-07-15 22:58:50 UTC
This issue is present for me too. 
I try to crosscompile it for arm cpu, but it has  
./spawn.h:403: error: field '_sp' has incomplete type 
error
Comment 6 Sergey Gusarov 2010-11-18 16:51:31 UTC
>I try to crosscompile it for arm cpu, but it has  
./spawn.h:403: error: field '_sp' has incomplete type 
error

Also for me!
I am compile it without nls. Patch is trivial:

--- spawn.h.orig	2010-11-18 19:49:42.424350565 +0300
+++ spawn.h	2010-11-18 19:49:10.392349526 +0300
@@ -37,6 +37,10 @@
 # include <signal.h>
 #endif
 
+#ifdef __UCLIBC__
+# include <sched.h>
+#endif
+
 #include <sys/types.h>
 
 #ifndef __THROW
Comment 7 SpanKY gentoo-dev 2011-09-07 02:28:13 UTC
the sched/spawn issue is fixed in gettext-0.18.1.1-r2

gettext failing with uclibc is generally tracked in Bug 214835