while emerging the package it fails when trying to compile the bug seem to be the result of using non-portable (to 64bit) code within the package. Reproducible: Always Steps to Reproduce: 1. emerge thinkpad 2. 3. Actual Results: <snip> * Preparing thinkpad module make -j3 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= KSRC=/usr/src/linux default make -C /usr/src/linux SUBDIRS=/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers modules make[1]: Entering directory `/usr/src/linux-2.6.26-hardened-r4' CC [M] /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/thinkpad.o CC [M] /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_core.o AS [M] /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.o /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S: Assembler messages: /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:38: Error: suffix or operands invalid for `push' /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:42: Error: suffix or operands invalid for `push' /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:43: Error: suffix or operands invalid for `push' /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:45: Error: suffix or operands invalid for `push' /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:46: Error: suffix or operands invalid for `push' /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:50: Warning: indirect lcall without `*' /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:53: Error: suffix or operands invalid for `pop' In file included from /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/../include/thinkpad_common.h:80, from /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_core.c:39: /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/../include/rtcmosram.h:171: warning: 'packed' attribute ignored /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_core.c: In function 'smapi_init': /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_core.c:282: warning: cast from pointer to integer of different size make[2]: *** [/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/../include/thinkpad_common.h:80, from /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/thinkpad.c:49: /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/../include/rtcmosram.h:171: warning: 'packed' attribute ignored make[1]: *** [_module_/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.26-hardened-r4' make: *** [default] Error 2 /usr/libexec/paludis/utils/emake: emake returned error 2 Expected Results: compile modules on 64bit architecture i know the package is marked x86 only, and i have manually changed this to make it start compile on my machine. Browsing old bug reports for thinkpad i found out that amd64 keyword was removed around 2005 as there were no thinkpads with 64bit CPUs then. However, nowadays thinkpad laptops do come with amd64 compatible processors (intel core duo) i have amd64 on my x60 and it generally works well, but this specific package doesnt. Portage 2.1.4.5 (hardened/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.26-hardened-r4 x86_64) ================================================================= System uname: 2.6.26-hardened-r4 x86_64 Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz Timestamp of tree: Wed, 29 Oct 2008 06:00:01 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13, 2.5.2-r7 dev-python/pycrypto: 2.0.1-r6 dev-util/cmake: 2.6.2 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=nocona" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=nocona" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.gentoo.no/ http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ http://gentoo.virginmedia.com/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/" LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--as-needed -s" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" 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="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl amd64 berkdb bzip2 cli cracklib crypt cups dri gdbm gpm hardened iconv isdnlog justify midi mmx mudflap multilibncurses nptl nptlonly openmp pam pcre perl pic pppd python readline reflection session spl sse sse2 ssl sysfs tcpd urandom xorg zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul 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_cachefilter 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="keboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="i810 vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
How old is your thinkpad? This thinkpad ebuild has deprecated tpctl modules, which don't even build with latest kernels. Hopefully you can use tp_smapi instead, which is keyworded for amd64 (testing, though not yet stable) http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux#Using_the_tp_smapi_module
I didnt know thinkpad module was depreciated. I have tried tp_smapi - it does build, but it does not load. When i try to insmod them i get: WARNING: Error inserting thinkpad_ec (/lib/modules/2.6.26-hardened-r4/extra/thinkpad_ec.ko): No such device or address FATAL: Error inserting tp_smapi (/lib/modules/2.6.26-hardened-r4/extra/tp_smapi.ko): Unknown symbol in module, or unknownparameter (see dmesg) in dmesg: thinkpad_ec: cannot claim io ports 0x1600-0x161f thinkpad_ec: cannot claim io ports 0x1600-0x161f tp_smapi: Unknown symbol thinkpad_ec_unlock tp_smapi: Unknown symbol thinkpad_ec_invalidate tp_smapi: Unknown symbol thinkpad_ec_read_row tp_smapi: Unknown symbol thinkpad_ec_lock the root cause seems to be the thinkpad_ec not being able to read the io space. I wonder if that may be caused by the hardened configuration, though the module is not an executable itself, so I cant control its execution (e.g. via paxctl)
This could be your tp_smapi problem: http://fixunix.com/debian/531137-bug-498207-does-not-load-2-6-26-1-openvz-amd64.html The solution was getting rid of the kernel-included hdaps driver (module for debian, perhaps you have it builtin); if hdaps is needed, turn on the useflag and let tp_smapi install a compatible one.
Thanks, this does solve the problem. removing the hdaps from the kernel allow tp_smapi to load - though tp_smapi does not pull in hdapsd even when the use flag is set. trying to emerge hdapsd manually fails as it requires the hdaps functionality in the kernel. But since tp_smapi ignored it, maybe its not needed? does tp_smapi provide hdaps functionality? Last thing: if tp_smapi shall replace thinkpad package, maybe some info shall be added to it to point users to tp_smapi? Anyway, i think this bug can be closed now.
Steev, hope you don't mind me closing your bug, but it seems the reporter is fairly satisfied now :)
Not at all - I do apologize - real life being hectic, and my thinkpad is actually on the fritz - well, past it - its a 600E - i have a new one arriving some time this week or next thanks to a nice friend of mine who no longer uses his and is giving it to me
yes, i am happy with the resolution - and until there is some better way to point the users wanting to install thinkpad module to tp_smapi i guess this bug can do the job