Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
dev-libs/pth and others fail to compile on arch=arm
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures
View previous topic :: View next topic  
Author Message
slackline
Veteran
Veteran


Joined: 01 Apr 2005
Posts: 1324
Location: /uk/sheffield

PostPosted: Mon Apr 07, 2008 1:48 pm    Post subject: dev-libs/pth and others fail to compile on arch=arm Reply with quote

Hi,

I'm trying to emerge -uDN world on a NSLU2 (after finally resolving a few things).

Anyway, I'm having trouble with six packages, the first of which is dev-libs/pth, when emerging it crashes with...

emerge pth:

Now please type `make' to compile. Good luck.

./shtool scpp -o pth_p.h -t pth_p.h.in -Dcpp -Cintern -M '==#==' pth_compat.c pth_debug.c pth_syscall.c pth_errno.c pth_ring.c pth_mctx.c pth_uctx.c pth_clean.c pth_time.c pth_tcb.c pth_util.c pth_pqueue.c pth_event.c pth_sched.c pth_data.c pth_msg.c pth_cancel.c pth_sync.c pth_attr.c pth_lib.c pth_fork.c pth_high.c pth_ext.c pth_string.c pthread.c
./libtool --mode=compile --quiet armeb-softfloat-linux-uclibc-gcc -c -I. -march=armv5t -Os -pipe pth_debug.c
./libtool --mode=compile --quiet armeb-softfloat-linux-uclibc-gcc -c -I. -march=armv5t -Os -pipe pth_ring.c
./libtool --mode=compile --quiet armeb-softfloat-linux-uclibc-gcc -c -I. -march=armv5t -Os -pipe pth_pqueue.c
./libtool --mode=compile --quiet armeb-softfloat-linux-uclibc-gcc -c -I. -march=armv5t -Os -pipe pth_time.c
./libtool --mode=compile --quiet armeb-softfloat-linux-uclibc-gcc -c -I. -march=armv5t -Os -pipe pth_errno.c
./libtool --mode=compile --quiet armeb-softfloat-linux-uclibc-gcc -c -I. -march=armv5t -Os -pipe pth_mctx.c
pth_mctx.c:480:2: #error "Unsupported Linux (g)libc version and/or platform"
make: *** [pth_mctx.lo] Error 1
 *
 * ERROR: dev-libs/pth-2.0.7-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2361:  Called die
 * The specific snippet of code:
 *       emake || die
 *  The die message:
 *   (no error message)
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/dev-libs/pth-2.0.7-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/pth-2.0.7-r1/temp/environment'.
 *



I checked the ebuild, but theres no explicit dependency for a (g)libc version.

Current profile is...

emerge --info:

# emerge --info
Portage 2.1.4.4 (uclibc/arm, gcc-3.4.6, uclibc-0.9.28.3-r3, 2.6.21.7 armv5teb)
=================================================================
System uname: 2.6.21.7 armv5teb XScale-IXP42x Family rev 2 (v5b)
Timestamp of tree: Fri, 04 Apr 2008 10:15:01 +0000
app-shells/bash:     3.2_p17-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.61-r1
sys-devel/automake:  1.10
sys-devel/binutils:  2.16-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="arm"
ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol"
APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias"
ARCH="arm"
AUTOCLEAN="yes"
CBUILD="armeb-softfloat-linux-uclibc"
CFLAGS="-march=armv5t -Os"
CHOST="armeb-softfloat-linux-uclibc"
CLEAN_DELAY="5"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CVS_RSH="ssh"
CXXFLAGS="-march=armv5t -Os"
DISTDIR="/usr/portage/distfiles"
EDITOR="/bin/nano"
ELIBC="uclibc"
EMERGE_DEFAULT_OPTS="--verbose --alphabetical"
EMERGE_WARNING_DELAY="10"
FEATURES="autoconfig ccache distlocks metadata-transfer nodoc noinfo noman parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}"
GCC_SPECS=""
GENTOO_MIRRORS="http://gentoo.virginmedia.com http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/"
GRP_STAGE23_USE="ncurses readline zlib uclibc"
HOME="/root"
INFOPATH="/usr/share/info:/usr/share/gcc-data/armeb-softfloat-linux-uclibc/3.4.6/info"
INPUT_DEVICES="keyboard mouse evdev"
KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe.sh %s"
LOGNAME="root"
LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.xcf=01;35:*.pcx=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.avi=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.mov=01;35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.mp3=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.ogg=00;36:*.flac=00;36:*.aac=00;36:"
MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/gcc-data/armeb-softfloat-linux-uclibc/3.4.6/man"
PAGER="/usr/bin/less"
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
PKGDIR="/usr/portage/packages"
PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha hppa sparc-fbsd"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_BIN_PATH="/usr/lib/portage/bin"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_MAILFROM="portage@localhost"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_SYSTEM="save_summary echo"
PORTAGE_GID="250"
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_IUSE="^(3dnow|3dnowext|ada|adabas|alpha|alsa_cards_aoa|alsa_cards_aoa-fabric-layout|alsa_cards_aoa-onyx|alsa_cards_aoa-soundbus|alsa_cards_aoa-soundbus-i2s|alsa_cards_aoa-tas|alsa_cards_aoa-toonie|alsa_cards_armaaci|alsa_cards_at91-soc|alsa_cards_at91-soc-eti-b1-wm8731|alsa_cards_au1x00|alsa_cards_harmony|alsa_cards_powermac|alsa_cards_pxa2xx-i2sound|alsa_cards_pxa2xx-soc|alsa_cards_pxa2xx-soc-corgi|alsa_cards_pxa2xx-soc-poodle|alsa_cards_pxa2xx-soc-spitz|alsa_cards_pxa2xx-soc-tosa|alsa_cards_sa11xx-uda1341ts|alsa_cards_sun-amd7930|alsa_cards_sun-cs4231|alsa_cards_sun-dbri|altivec|amd64|aqua|arm|birdstep|bmp|bmpx|bootstrap|build|clvm|cman|coreaudio|crosscompile_opts_.*|db2|dbmaker|elibc_.*|elibc_Darwin|elibc_DragonFly|elibc_FreeBSD|elibc_NetBSD|elibc_OpenBSD|elibc_glibc|elibc_uclibc|empress|empress-bcs|emul-linux-x86|esoob|fdftk|filepro|firebird|frontbase|gulm|hppa|ia64|ibm|icc|icc-pgo|iconv|ifc|infopipe|informix|ingres|input_devices_synaptics|input_devices_vmmouse|input_devices_wacom|kernel_.*|kernel_Darwin|kernel_FreeBSD|kernel_linux|kqemu|lcd_devices_luise|lcd_devices_svga|m68k|macbook|mips|mmx|mmxext|mplayer-bin|multilib|n32|n64|nis|nls|nptl|nvidia|nvram|oci8|oci8-instant-client|oracle7|osp|pam_console|pbbuttonsd|pfpro|ppc|ppc64|ppcsha1|psyco|real|s390|selinux|sh|solid|sparc|sparc-fbsd|sse|sse2|ssse3|svga|sybase|sybase-ct|tcc|ultra1|userland_.*|userland_BSD|userland_Darwin|userland_GNU|video_cards_amd|video_cards_fglrx|video_cards_impact|video_cards_newport|video_cards_nvidia|video_cards_sunbw2|video_cards_suncg14|video_cards_suncg3|video_cards_suncg6|video_cards_sunffb|video_cards_sunleo|video_cards_suntcx|video_cards_vermilion|video_cards_vmware|video_cards_xgi|vis|win32codecs|x264|x86|x86-fbsd|xmms|yellownet)$"
PORTAGE_LIBC="uClibc"
PORTAGE_PYM_PATH="/usr/lib/portage/pym"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_RSYNC_RETRIES="3"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_USE="arm elibc_uclibc kernel_linux userland_GNU"
PORTAGE_WORKDIR_MODE="0700"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
PWD="/home/neil"
PYTHONPATH="/usr/lib/portage/pym"
RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}"
ROOT="/"
ROOTPATH="/opt/bin:/usr/armeb-softfloat-linux-uclibc/gcc-bin/3.4.6"
RPMDIR="/usr/portage/rpm"
SHELL="/bin/bash"
SHLVL="2"
SSH_AGENT_PID="3112"
SSH_AUTH_SOCK="/tmp/ssh-PNFsmB3111/agent.3111"
SSH_CLIENT="192.168.1.100 52523 22"
SSH_CONNECTION="192.168.1.100 52523 192.168.1.103 22"
SSH_TTY="/dev/pts/0"
STAGE1_USE="uclibc"
SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage"
TERM="rxvt"
UCLIBC_CPU="ARM_XSCALE"
UCLIBC_CPU_DEFAULT="GENERIC_ARM"
USE="arm bash-completion cli cracklib crypt dri midi mp3 mudflap ncurses ogg openmp pcre perl python readline reflection session spl ssl tcpd uclibc xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="uclibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l"
USER="root"
USERLAND="GNU"
USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS"
USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d"
VIDEO_CARDS="dummy fbdev v4l"
_="/usr/bin/emerge"




Is it complaining about the uclibc version? The ebuild is marked as stable for arm, and I've the most up-to-date uclibs available in portage.

Any advice or hints would be more than welcome.

Cheers,

slack
_________________
"Science is what we understand well enough to explain to a computer.  Art is everything else we do." - Donald Knuth
Back to top
View user's profile Send private message
Neo2
Apprentice
Apprentice


Joined: 25 Sep 2006
Posts: 224
Location: Italy

PostPosted: Mon Apr 07, 2008 3:11 pm    Post subject: Reply with quote

I think you spot the problem already. Seems like pth doesn't like uclibc.
To be sure about that I manually extracted the files to a temporary directory and checked "pth_mctx.c" for the #error directive shown in the compile log.

Code:
fabio@gentoo-node1 ~/pth-2.0.7 $ cat pth_mctx.c
[...]

/*
 * VARIANT 3: LINUX SPECIFIC JMP_BUF FIDDLING
 *
 * Oh hell, I really love it when Linux guys talk about their "POSIX
 * compliant system". It's far away from POSIX compliant, IMHO. Autoconf
 * finds sigstack/sigaltstack() on Linux, yes. But it doesn't work. Why?
 * Because on Linux below version 2.2 and glibc versions below 2.1 these
 * two functions are nothing more than silly stub functions which always
 * return just -1. Very useful, yeah...
 */

intern int pth_mctx_set(
    pth_mctx_t *mctx, void (*func)(void), char *sk_addr_lo, char *sk_addr_hi)
{
    pth_mctx_save(mctx);
#if defined(__GLIBC__) && defined(__GLIBC_MINOR__) \
    && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 0 && defined(JB_PC) && defined(JB_SP)
    mctx->jb[0].__jmpbuf[JB_PC] = (int)func;
    mctx->jb[0].__jmpbuf[JB_SP] = (int)sk_addr_hi;
#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) \
    && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 0 && defined(__mc68000__)
    mctx->jb[0].__jmpbuf[0].__aregs[0] = (long int)func;
    mctx->jb[0].__jmpbuf[0].__sp = (int *)sk_addr_hi;
#elif defined(__GNU_LIBRARY__) && defined(__i386__)
    mctx->jb[0].__jmpbuf[0].__pc = (char *)func;
    mctx->jb[0].__jmpbuf[0].__sp = sk_addr_hi;
#else
#error "Unsupported Linux (g)libc version and/or platform"
#endif
    sigemptyset(&mctx->sigs);
    mctx->error = 0;
    return TRUE;
}
[...]


I'm pretty sure that this is the code that throws the error. I think that uclibc is incompatible with this software because it doesn't define __GLIBC__ nor __GNU_LIBRARY__ (hence the else directive is executed by the preprocessor). I'd try creating a custom patch for this file by removing this section (likely to lead to compile breakages) or by adding a specific section for uclibc directives (won't break compile but would be experimental/unstested software then). I'd suggest the second method but that way, even if the package compiles, I still wouldn't be able to know if the software itself will work properly.
Anyway this problem doesn't seem to be related to the customization of your box, so I'd try contacting the package/profile mantainers or issuing a bugfix request at the gentoo bugzilla.
In the meanwhile, downgrading to a previous version might help.
Hope to have helped somehow :)
_________________
Neo2
Unofficial minimal liveCD for x86/amd64 w/reiser4+truecrypt
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum