setserial fails to build (after uClibc 0.9.30.3 upgrade?)
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 setserialsetserial.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
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
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.cnot including ?Paulius>stdlib.h. Due to my very limited time I can't provide fix now...No, the
stdlib.hstuff is only warnings, the error is that it tries to use a structhayes_esp_configbecause the kernel headers on x86 has the TIOCGHAYESESP ioctl defined inasm/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
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