Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#12 build chokes on include/linux/string.h in linux 2.4.0-test12

closed-fixed
modules (5)
5
2001-02-09
2000-12-20
Anonymous
No

1. untar 1.2.15
2. run newburn (fails on turbolinux 6.0.5)
3. run make

result: the compile totally chokes on /usr/include/linux/string.h . Other programs use this just fine -- I think this may be a bug in gcc's preprocessor that needs to be worked around.

gcc -Wall -O3 -mpentiumpro -funroll-loops -c -o flushb.o flushb.c
In file included from /usr/include/linux/fs.h:23,
from flushb.c:20:
/usr/include/linux/string.h:12: parse error before `__extension__'
/usr/include/linux/string.h:12: parse error before `&&'
/usr/include/linux/string.h:14: parse error before `__extension__'
/usr/include/linux/string.h:14: parse error before `('
/usr/include/linux/string.h:15: parse error before `__extension__'
/usr/include/linux/string.h:15: parse error before `&&'
In file included from /usr/include/linux/fs.h:23,
from flushb.c:20:
/usr/include/linux/string.h:24: parse error before `__extension__'
/usr/include/linux/string.h:27: parse error before `__extension__'
/usr/include/linux/string.h:33: parse error before `__extension__'
/usr/include/linux/string.h:36: parse error before `__extension__'
/usr/include/linux/string.h:36: parse error before `&&'
/usr/include/linux/string.h:36: warning: data definition has no type or storage class
/usr/include/linux/string.h:36: parse error before `}'
/usr/include/linux/string.h:36: conflicting declarations of `__result'
/usr/include/linux/string.h:36: `__result' previously declared here
/usr/include/linux/string.h:36: parse error before `)'
/usr/include/linux/string.h:36: `__s2' undeclared here (not in a function)
/usr/include/linux/string.h:36: parse error before `;'
/usr/include/linux/string.h:36: conflicting declarations of `__result'
/usr/include/linux/string.h:36: `__result' previously defined here
/usr/include/linux/string.h:36: warning: data definition has no type or storage class
/usr/include/linux/string.h:36: parse error before `}'
/usr/include/linux/string.h:36: warning: data definition has no type or storage class
/usr/include/linux/string.h:36: parse error before `}'
/usr/include/linux/string.h:36: redefinition of `__result'
/usr/include/linux/string.h:36: `__result' previously defined here
/usr/include/linux/string.h:36: `__s1' undeclared here (not in a function)
/usr/includ/usr/include/linux/string.h:61: warning: data definition has no type or storage
class
/usr/include/linux/string.h:61: parse error before `case'
/usr/include/linux/string.h:61: redefinition of `__u'
/usr/include/linux/string.h:61: `__u' previously defined here
/usr/include/linux/string.h:61: warning: initialization makes integer from pointer without a cast
/usr/include/linux/string.h:61: initializer element is not constant
/usr/include/linux/string.h:61: warning: data definition has no type or storage
class
/usr/include/linux/string.h:61: parse error before `case'
/usr/include/linux/string.h:61: redefinition of `__u'
/usr/include/linux/string.h:61: `__u' previously defined here
/usr/include/linux/string.h:61: warning: initialization makes integer from pointer without a cast
/usr/include/linux/string.h:61: initializer element is not constant
/usr/include/linux/string.h:61: warning: data definition has no type or storage
class
/usr/include/linux/string.h:61: parse error before `case'
/usr/include/linux/string.h:61: redefinition of `__u'
/usr/include/linux/string.h:61: `__u' previously defined here
/usr/include/linux/string.h:61: warning: initialization makes integer from pointer without a cast
/usr/include/linux/string.h:61: initializer element is not constant
/usr/include/linux/string.h:61: warning: data definition has no type or storage
class
/usr/include/linux/string.h:61: parse error before `case'
/usr/include/linux/string.h:61: warning: data definition has no type or storage
class
/usr/include/linux/string.h:61: parse error before `}'
/usr/include/linux/string.h:61: parse error before character constant
/usr/include/linux/string.h:61: warning: data definition has no type or storage
class
/usr/include/linux/string.h:61: warning: data definition has no type or storage
class
/usr/include/linux/string.h:61: parse error before `}'
make[2]: *** [flushb.o] Error 1
make[2]: Leaving directory `/home/matt/ctcs-1.2.15/runin/src'
make[1]: *** [src-all] Error 2
make[1]: Leaving directory `/home/matt/ctcs-1.2.15/runin'
make: *** [all] Error 2

Discussion

    • priority: 5 --> 3
    • assigned_to: nobody --> jtcollins
    • labels: 100100 --> modules
     
  • I'll check this out. It actually looks like something isn't being included correctly or isn't being included the way it was before. To fix it yourself, check on line 12 of your string.h and make sure that whatever symbol is before __extension__ is defined at that point, include more header files, etc. I'll try to fix it/work around it myself as well.

     
  • This bug has been verified to occur under 2.4. Will fix.

     
    • priority: 3 --> 5
     
  • Fixed in CVS.

     
    • status: open --> open-fixed
     
    • status: open-fixed --> closed-fixed
     
  • Fixed in 1.3.0pre1.