<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>121657</bug_id>
          
          <creation_ts>2006-02-05 05:50 0000</creation_ts>
          <short_desc>Error while emerging app-editors/le-1.9.2</short_desc>
          <delta_ts>2006-04-19 15:35:04 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Unspecified</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>finn@sendmail.cz</reporter>
          <assigned_to>plasmaroo@gentoo.org</assigned_to>
          <cc>kumba@gentoo.org</cc>
    
    <cc>truedfx@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>finn@sendmail.cz</who>
            <bug_when>2006-02-05 05:50:10 0000</bug_when>
            <thetext>if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../include  -DPKGDATADIR=\&quot;/usr/share/le\&quot;   -march=athlon-xp -O3 -pipe -fomit-frame-pointer -falign-functions=4 -fno-implement-inlines -Winline -Wall -MT getstr.o -MD -MP -MF &quot;.deps/getstr.Tpo&quot; \
  -c -o getstr.o `test -f &apos;getstr.cc&apos; || echo &apos;./&apos;`getstr.cc; \
then mv &quot;.deps/getstr.Tpo&quot; &quot;.deps/getstr.Po&quot;; \
else rm -f &quot;.deps/getstr.Tpo&quot;; exit 1; \
fi
In file included from /usr/include/linux/keyboard.h:14,
                 from getch.cc:42:
/usr/include/linux/wait.h: In function `int wait_on_bit(void*, int, int (*)(void*), unsigned int)&apos;:
/usr/include/linux/wait.h:376: error: invalid conversion from `void*&apos; to `const volatile long unsigned int*&apos;
/usr/include/linux/wait.h:376: error:   initializing argument 2 of `int constant_test_bit(int, const volatile long unsigned int*)&apos;
/usr/include/linux/wait.h:376: error: invalid conversion from `void*&apos; to `const volatile long unsigned int*&apos;
/usr/include/linux/wait.h:376: error:   initializing argument 2 of `int variable_test_bit(int, const volatile long unsigned int*)&apos;
/usr/include/linux/wait.h: In function `int wait_on_bit_lock(void*, int, int (*)(void*), unsigned int)&apos;:
/usr/include/linux/wait.h:400: error: invalid conversion from `void*&apos; to `volatile long unsigned int*&apos;
/usr/include/linux/wait.h:400: error:   initializing argument 2 of `int test_and_set_bit(int, volatile long unsigned int*)&apos;
make[2]: *** [getch.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/tmp/portage/le-1.9.2/work/le-1.9.2/src&apos;
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/le-1.9.2/work/le-1.9.2&apos;
make: *** [all] Error 2

!!! ERROR: app-editors/le-1.9.2 failed.
!!! Function src_compile, Line 566, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.

------------

finn ~ # emerge --info
Portage 2.0.54 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.15-gentoo-r1 i686)
=================================================================
System uname: 2.6.15-gentoo-r1 i686 AMD Sempron(tm)   2200+
Gentoo Base System version 1.6.14
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.2.3-r5, 2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-march=athlon-xp -O3 -pipe -fomit-frame-pointer -falign-functions=4&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control&quot;
CONFIG_PROTECT_MASK=&quot;/etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-march=athlon-xp -O3 -pipe -fomit-frame-pointer -falign-functions=4&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoconfig candy distlocks sandbox sfperms strict&quot;
GENTOO_MIRRORS=&quot;http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo&quot;
LANG=&quot;cs_CZ.UTF-8&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;3dnow X Xaw3d aalib acl acpi alsa apm arts audiofile avi bash-completion berkdb bindist bitmap-fonts bzip2 cdr crypt cscope cups curl dvd eds emboss encode esd ethereal exif expat fam fbcon ffmpeg flac foomaticdb fortran gb gd gdbm ggi gif glut gnome gpm gstreamer gtk gtk2 gtkhtml guile idn imagemagick imap imlib ipv6 java jpeg kde lcms ldap libcaca libg++ libgda libwww mad mhash mikmod mmx mmxext mng motif mozilla mp3 mpeg mysql ncurses nls ogg oggvorbis opengl oss pam pcre pdflib perl plotutils png python qt quicktime readline samba scanner sdl slang snmp spell sse sse2 ssl tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis wmf wxwindows x86 xine xinerama xml xml2 xmms xosd xv xvid zlib userland_GNU kernel_linux elibc_glibc&quot;
Unset:  ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS

finn ~ # eix linux-headers
* sys-kernel/linux-headers 
     Available versions:  *2.0.40 *2.2.26 2.4.21 2.4.21-r1 ~2.4.22 2.4.22-r1 *2.4.23 *2.4.23_p3 *2.4.25 *2.4.26 ~2.4.26-r1 2.6.8.1-r4 2.6.11-r2 ~2.6.11-r3 *2.6.11-r4 [M]2.6.15_rc6
     Installed:           2.6.11-r2
     Homepage:            http://www.kernel.org/ http://www.gentoo.org/
     Description:         Linux system headers</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-02-05 06:02:44 0000</bug_when>
            <thetext>Needs a maintainer and a version bump to actually compile...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-02-05 14:13:34 0000</bug_when>
            <thetext>jakub, thanks for re-assigning :)

The problem is actually with linux-headers; &lt;linux/wait.h&gt; is not C++-compatible. It relies on implicit conversions from void * to unsigned long *. Simple test program:
#include &lt;linux/wait.h&gt;
int main() {}

:)

The obvious patch, modifying wait.h to make these conversions explicit, works fine, but modifying the argument types may be a better way to go, I don&apos;t know.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-02-05 17:05:22 0000</bug_when>
            <thetext>By the way, apparently g++ has a switch to make this a warning instead of an error (-fpermissive), so I made le use this and it should compile now, but it would still be great if this is not necessary.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>plasmaroo@gentoo.org</who>
            <bug_when>2006-02-14 10:56:12 0000</bug_when>
            <thetext>Created an attachment (id=79788)
Patch

&gt; The obvious patch, modifying wait.h to make these conversions explicit, works
&gt; fine, but modifying the argument types may be a better way to go, I don&apos;t know.

Unfortunately that won&apos;t work since different archs have different function prototypes for test_bit and test_and_set_bit. This is fixed in the 2.6.15 headers; attaching a patch for the 2.6.11 headers.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>plasmaroo@gentoo.org</who>
            <bug_when>2006-04-19 15:35:04 0000</bug_when>
            <thetext>Patch added to 2.6.11-r5 headers, reopen bug if you still get problems.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79788</attachid>
            <date>2006-02-14 10:56 0000</date>
            <desc>Patch</desc>
            <filename>linux-headers-2.6.11-121657.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIGxpbnV4LTIuNi4xMS9pbmNsdWRlL2xpbnV4L3dhaXQuaAkyMDA2LTAyLTE0IDE4OjM2OjAw
LjAwMDAwMDAwMCArMDAwMAorKysgbGludXgtMi42LjExL2luY2x1ZGUvbGludXgvd2FpdC5oCTIw
MDYtMDItMTQgMTg6NTU6MDcuMDAwMDAwMDAwICswMDAwCkBAIC0zNTYsNiArMzU2LDcgQEAKIAkJ
SU5JVF9MSVNUX0hFQUQoJih3YWl0KS0+dGFza19saXN0KTsJCQlcCiAJfSB3aGlsZSAoMCkKIAor
I2lmbmRlZiBfX2NwbHVzcGx1cwogLyoqCiAgKiB3YWl0X29uX2JpdCAtIHdhaXQgZm9yIGEgYml0
IHRvIGJlIGNsZWFyZWQKICAqIEB3b3JkOiB0aGUgd29yZCBiZWluZyB3YWl0ZWQgb24sIGEga2Vy
bmVsIHZpcnR1YWwgYWRkcmVzcwpAQCAtNDAxLDUgKzQwMiw2IEBACiAJCXJldHVybiAwOwogCXJl
dHVybiBvdXRfb2ZfbGluZV93YWl0X29uX2JpdF9sb2NrKHdvcmQsIGJpdCwgYWN0aW9uLCBtb2Rl
KTsKIH0KLQkKKworI2VuZGlmCQogI2VuZGlmCg==
</data>        

          </attachment>
    </bug>

</bugzilla>