ARM gdb compilation fails with implicit function declaration error ioctl

Ryan Schmidt ryandesign at macports.org
Fri Dec 25 22:10:33 UTC 2020



On Dec 21, 2020, at 14:52, Christoph Kukulies wrote:

> Excuses if is not actually a macports issue but I’m a bit lost.
> 
> I’m about to build this:
> https://gitlab.com/LinkiTools/binutils-gdb
> 
> 
> /Users/kuku/Downloads/binutils-gdb-users-ARM-embedded-gdb-master-2018q4/
> 
> 
> 
> 
> Running ./configure and make in this directory ends with an error:
> 
> config.status: executing default commands
> rm -f readline.o
> gcc -c -DHAVE_CONFIG_H    -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -g -O2 readline.c
> rm -f vi_mode.o
> gcc -c -DHAVE_CONFIG_H    -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -g -O2 vi_mode.c
> rm -f funmap.o
> gcc -c -DHAVE_CONFIG_H    -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -g -O2 funmap.c
> rm -f keymaps.o
> gcc -c -DHAVE_CONFIG_H    -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -g -O2 keymaps.c
> rm -f parens.o
> gcc -c -DHAVE_CONFIG_H    -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -g -O2 parens.c
> rm -f search.o
> gcc -c -DHAVE_CONFIG_H    -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -g -O2 search.c
> rm -f rltty.o
> gcc -c -DHAVE_CONFIG_H    -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -g -O2 rltty.c
> rltty.c:83:7: error: implicit declaration of function 'ioctl' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>   if (ioctl (tty, TIOCGWINSZ, &w) == 0)
>       ^
> rltty.c:720:3: error: implicit declaration of function 'ioctl' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>   ioctl (fildes, TIOCSTART, 0);
>   ^
> rltty.c:759:3: error: implicit declaration of function 'ioctl' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>   ioctl (fildes, TIOCSTOP, 0);
>   ^
> 3 errors generated.
> make[2]: *** [rltty.o] Error 1
> make[1]: *** [all-readline] Error 2
> make: *** [all] Error 2
> 
> 
> 
> Is there a way to either pass gcc an appropriate -W switch to overcome this error or „repair“ the readline source accordingly?
> 
> 
> $ gcc --version
> Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/c++/4.2.1
> Apple clang version 12.0.0 (clang-1200.0.32.28)
> Target: x86_64-apple-darwin19.6.0
> Thread model: posix
> InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> 
> OS is macOS Catalina 10.15.7
> 
> Help greatly appreciated.
> 
> (reason why not using a binary package is that I want to apply a patch to arm-none-eabi-gdb.

Implicit declaration of function is an error in the source code. The developers should fix the problem, usually by including the right headers that declare the functions that are being used. You should report it to them.




More information about the macports-users mailing list