Skip to contentSkip to conversation

setserial fails to build (after uClibc 0.9.30.3 upgrade?)

Buildroot Paulius Zaleckas 2 participants 4 messages Mar 14, 2010 – Mar 15, 2010

lore
Share & tools
lore
#0 lore raw

Hi,

I am almost sure that setserial was building OK before uClibc upgrade to 0.9.30.3. Now I get:

/home/paulius/buildroot/output/build/staging_dir/usr/bin/i386-linux-uclibc-gcc -Os -pipe -Os -g2 -I/home/paulius/buildroot/output/build/staging_dir/usr/include -I/home/paulius/buildroot/output/build/staging_dir/include --sysroot=/home/paulius/buildroot/output/build/staging_dir/ -isysroot /home/paulius/buildroot/output/build/staging_dir -mtune=i386 -march=i386 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_ASM_IOCTLS_H=1 -I. setserial.c -o setserial
setserial.c: In function ?get_multiport?:
setserial.c:249: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c: In function ?set_multiport?:
setserial.c:271: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:281: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:338: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:342: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c: In function ?print_hayesesp?:
setserial.c:362: error: storage size of ?esp? isn?t known setserial.c: In function ?set_hayesesp?:
setserial.c:378: error: storage size of ?esp? isn?t known setserial.c:384: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:410: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c: In function ?set_serial?:
setserial.c:488: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:494: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:512: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:516: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:520: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:541: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:571: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:575: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:579: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:585: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:592: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:608: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:613: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c: In function ?do_wild_intr?:
setserial.c:628: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:632: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:636: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c: In function ?usage?:
setserial.c:714: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c: In function ?main?:
setserial.c:749: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:764: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:770: warning: incompatible implicit declaration of built-in function ?exit?
setserial.c:776: warning: incompatible implicit declaration of built-in function ?exit?
make[1]: *** [setserial] Error 1
make[1]: Leaving directory `/home/paulius/buildroot/output/build/setserial-2.17'
make: *** [/home/paulius/buildroot/output/build/setserial-2.17/setserial] Error 2

Actual problem I see here is not with uClibc, but with setserial.c not including stdlib.h. Due to my very limited time I can't provide fix now...

BR,
Paulius Zaleckas

#1 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Paulius" == Paulius Zaleckas <[email protected]> writes:

Hi,

Paulius> setserial.c: In function ?print_hayesesp?:
Paulius> setserial.c:362: error: storage size of ?esp? isn?t known
Paulius> setserial.c: In function ?set_hayesesp?:
Paulius> setserial.c:378: error: storage size of ?esp? isn?t known
Paulius> setserial.c:384: warning: incompatible implicit declaration of Paulius> built-in function ?exit?
Paulius> make[1]: *** [setserial] Error 1
Paulius> make[1]: Leaving directory `/home/paulius/buildroot/output/build/setserial-2.17' Paulius> make: *** [/home/paulius/buildroot/output/build/setserial-2.17/setserial] Error 2

Paulius> Actual problem I see here is not with uClibc, but with setserial.c not including Paulius> stdlib.h. Due to my very limited time I can't provide fix now...

No, the stdlib.h stuff is only warnings, the error is that it tries to use a struct hayes_esp_config because the kernel headers on x86 has the TIOCGHAYESESP ioctl defined in asm/ioctls.h (E.G. on ARM it isn't defined, and there it builds).

The hayes stuff is for a really ancient driver (which has recently been removed by Alan Cox).

As far as I can see, this has nothing to do with uClibc - Did you recently change the kernel headers version?

As for a fix - We could add an #undef TIOCGHAYESESP after include <linux/serial.h>, but I would like to know when the problem started first.

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw
Quoted 22 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Paulius" == Paulius Zaleckas <[email protected]> writes:

Hi,

?Paulius> setserial.c: In function ?print_hayesesp?:
?Paulius> setserial.c:362: error: storage size of ?esp? isn?t known ?Paulius> setserial.c: In function ?set_hayesesp?:
?Paulius> setserial.c:378: error: storage size of ?esp? isn?t known ?Paulius> setserial.c:384: warning: incompatible implicit declaration of ?Paulius> built-in function ?exit?
?Paulius> make[1]: *** [setserial] Error 1
?Paulius> make[1]: Leaving directory `/home/paulius/buildroot/output/build/setserial-2.17' ?Paulius> make: *** [/home/paulius/buildroot/output/build/setserial-2.17/setserial] Error 2

?Paulius> Actual problem I see here is not with uClibc, but with setserial.c not including ?Paulius> stdlib.h. Due to my very limited time I can't provide fix now...

No, the stdlib.h stuff is only warnings, the error is that it tries to use a struct hayes_esp_config because the kernel headers on x86 has the TIOCGHAYESESP ioctl defined in asm/ioctls.h (E.G. on ARM it isn't defined, and there it builds).

Quoted 5 lines

The hayes stuff is for a really ancient driver (which has recently been removed by Alan Cox).

As far as I can see, this has nothing to do with uClibc - Did you recently change the kernel headers version?

Yes, I switched to 2.6.33

Quoted 6 lines

As for a fix - We could add an #undef TIOCGHAYESESP after include <linux/serial.h>, but I would like to know when the problem started first.

--
Bye, Peter Korsgaard

#3 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Paulius" == Paulius Zaleckas <[email protected]> writes:

Hi,

Quoted 5 lines
Quoted 5 lines

The hayes stuff is for a really ancient driver (which has recently been removed by Alan Cox).

As far as I can see, this has nothing to do with uClibc - Did you recently change the kernel headers version?

Paulius> Yes, I switched to 2.6.33

Ok, I've pushed a fix to git (5a2844c74815)

Signature · 1 line
Bye, Peter Korsgaard