Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 209552 - app-misc/lirc-0.8.3_pre1 doesn't compile under PPC32ul w/ PPC64 kernel
Summary: app-misc/lirc-0.8.3_pre1 doesn't compile under PPC32ul w/ PPC64 kernel
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: ppc64 architecture team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 208433 213283 253920
  Show dependency tree
 
Reported: 2008-02-10 17:33 UTC by Richard F. Ostrow Jr.
Modified: 2010-11-01 22:14 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard F. Ostrow Jr. 2008-02-10 17:33:03 UTC
lirc doesn't compile under the PPC 32-bit userland with a PPC64 kernel. The following is seen during configure:

checking for X... disabled
checking for getopt_long... yes
checking for mktemp... yes
checking for Linux kernel sources... :0: error: -m64 not supported in this configuration
:0: error: -m64 not supported in this configuration
/usr/src/linux-2.6.23-ps3-r1/scripts/gcc-version.sh: line 22: printf: #: invalid number
/usr/src/linux-2.6.23-ps3-r1/scripts/gcc-version.sh: line 22: printf: #: invalid number
/bin/sh: line 0: [: too many arguments
:0: error: -m64 not supported in this configuration
:0: error: -m64 not supported in this configuration
/usr/src/linux-2.6.23-ps3-r1/scripts/gcc-version.sh: line 22: printf: #: invalid number
/usr/src/linux-2.6.23-ps3-r1/scripts/gcc-version.sh: line 22: printf: #: invalid number
/bin/sh: line 0: [: too many arguments
:0: error: -m64 not supported in this configuration
:0: error: -m64 not supported in this configuration
/usr/src/linux-2.6.23-ps3-r1/scripts/gcc-version.sh: line 22: printf: #: invalid number
/usr/src/linux-2.6.23-ps3-r1/scripts/gcc-version.sh: line 22: printf: #: invalid number
/bin/sh: line 0: [: too many arguments
/usr/src/linux/
checking for which drivers can be installed on this system...
checking for caraca_init in -lcaraca_client... no
checking iguanaIR.h usability... no
checking iguanaIR.h presence... no

Which doesn't stop it from proceeding to attempt to compile:

Now enter 'make' and 'make install' to compile and install the package.

make  all-recursive
make[1]: Entering directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1'
Making all in drivers
make[2]: Entering directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers'
make[3]: Entering directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers'
make[2]: Leaving directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers'
Making all in daemons
make[2]: Entering directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/daemons'
powerpc64-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..     -O2 -pipe -mcpu=970 -mtune=970 -mabi=altivec -MT irrecord.o -MD -MP -MF .deps/irrecord.Tpo -c -o irrecord.o irrecord.c
irrecord.c:17:19: error: stdio.h: No such file or directory
irrecord.c:18:20: error: stdlib.h: No such file or directory
irrecord.c:22:23: error: sys/time.h: No such file or directory
irrecord.c:23:19: error: time.h: No such file or directory
irrecord.c:32:23: error: sys/types.h: No such file or directory
irrecord.c:33:20: error: unistd.h: No such file or directory
irrecord.c:34:20: error: string.h: No such file or directory
irrecord.c:36:19: error: fcntl.h: No such file or directory
irrecord.c:37:20: error: getopt.h: No such file or directory
irrecord.c:38:24: error: sys/socket.h: No such file or directory
irrecord.c:40:22: error: sys/stat.h: No such file or directory
irrecord.c:41:20: error: sys/un.h: No such file or directory
irrecord.c:42:19: error: errno.h: No such file or directory
irrecord.c:44:20: error: signal.h: No such file or directory
irrecord.c:45:20: error: syslog.h: No such file or directory

My emerge --info:

rich@hydra ~ $ emerge --info
Portage 2.1.3.19 (default-linux/ppc/ppc64/2007.0/32bit-userland/desktop/970, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-ps3-r1 ppc64)
=================================================================
System uname: 2.6.23-ps3-r1 ppc64 Cell Broadband Engine, altivec supported
Timestamp of tree: Sat, 09 Feb 2008 07:16:01 +0000
app-shells/bash:     3.2_p17
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.61-r1
sys-devel/automake:  1.8.5-r3, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="ppc"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mcpu=970 -mtune=970 -mabi=altivec"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -mcpu=970 -mtune=970 -mabi=altivec"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/cell /usr/local/portage"
SYNC="rsync://gorgon/gentoo-portage"
USE="X acl alsa altivec arts bash-completion berkdb bitmap-fonts bzip2 cairo cdr cli cracklib crypt dbus dri dts dvd dvdr eds emboss encode esd fam fbcon firefox fortran gcc64 gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg kde ldap lirc mad midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp oss pam pcre perl png ppc pppd python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode vim-syntax vorbis xml xorg xv 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="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="usb_uirt_raw" USERLAND="GNU" VIDEO_CARDS="dummy fbdev mach64 mga nv r128 radeon sisusb v4l"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Additional info may also be found in the forums here:

http://forums.gentoo.org/viewtopic.php?p=4839584#4839584
Comment 1 Brent Baude (RETIRED) gentoo-dev 2008-02-11 03:41:35 UTC
This is a somewhat common problem with the ppc64 32UL.  While the kernel is 64bit, the userland is 32bit.  Some Makefiles or configure processes do a uname and draw an assumption from there. 

Does this package compile userland or kernel code or both?
Comment 2 Richard F. Ostrow Jr. 2008-02-11 05:52:17 UTC
It compiles a daemon (I imagine this would be the userland portion) and in some cases it will compile kernel modules. For example, the lirc-serial device would compile a kernel module (lirc-serial). The usb-uirt-raw device (which I am using) would not, as it is using the ftdi-sio kernel module already built into the kernel.

It also compiles a client library, which would *definately* be 32-bit userland.
Comment 3 Matthias Schwarzott gentoo-dev 2008-02-11 10:23:26 UTC
The lirc package make-system is from hell!

I hope they get near using default kernel-module makefiles soon (as they try to get lirc somehow into the kernel).
Comment 4 Brent Baude (RETIRED) gentoo-dev 2008-02-20 13:11:53 UTC
I poked at this again. Given your input, I am wondering about the following. There seems to be a lot of configure input variables. I see ones for cross compiling etc.  I'm wondering if you have bumped into one that would set the compiler for the kernel stuff.  That is to say, can we ./configure and set the userland gcc and also set a different gcc for the kernel.  Grasping at straws here.

Also, I don't have a thorough understanding of the package and it's uses, but can we disable kernel module building (for serial) and only support usb as described in comment #2 ?   something like if arch is ppc64 and tcarch is ppc64?
Comment 5 Brent Baude (RETIRED) gentoo-dev 2008-02-20 13:12:47 UTC
(In reply to comment #4)
> I poked at this again. Given your input, I am wondering about the following.
> There seems to be a lot of configure input variables. I see ones for cross
> compiling etc.  I'm wondering if you have bumped into one that would set the
> compiler for the kernel stuff.  That is to say, can we ./configure and set the
> userland gcc and also set a different gcc for the kernel.  Grasping at straws
> here.
> 
> Also, I don't have a thorough understanding of the package and it's uses, but
> can we disable kernel module building (for serial) and only support usb as
> described in comment #2 ?   something like if arch is ppc64 and tcarch is
> ppc64?
> 

that should be arch is ppc and tcarch is ppc64
Comment 6 Markus Rothe (RETIRED) gentoo-dev 2008-04-16 16:53:57 UTC
could someone with a 32bit userland please test lirc again? 2008.0 profiles fixed the issues I had on 64bit UL.
Comment 7 Markus Rothe (RETIRED) gentoo-dev 2008-04-27 13:37:20 UTC
still fails. the exact same configure command outside of portage works as expected.

the error is a different one though: C compiler cannot create executables.
Comment 8 Mark Loeser (RETIRED) gentoo-dev 2010-11-01 22:14:47 UTC
I masked this package in arch/powerpc/ppc64/32ul/