Reputation: 1223
I'm getting this While compiling Openwrt SDK with "make V=99":
Making all in examples
make[6]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/examples'
make[6]: Nothing to be done for 'all'.
make[6]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/examples'
Making all in lib
make[6]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/lib'
make all-am
make[7]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/lib'
x86_64-linux-gnu-gcc -std=gnu99 -I. -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -MT gl_avltree_oset.o -MD -MP -MF .deps/gl_avltree_oset.Tpo -c -o gl_avltree_oset.o gl_avltree_oset.c
mv -f .deps/gl_avltree_oset.Tpo .deps/gl_avltree_oset.Po
x86_64-linux-gnu-gcc -std=gnu99 -I. -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -MT c-stack.o -MD -MP -MF .deps/c-stack.Tpo -c -o c-stack.o c-stack.c
mv -f .deps/c-stack.Tpo .deps/c-stack.Po
x86_64-linux-gnu-gcc -std=gnu99 -I. -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -MT clean-temp.o -MD -MP -MF .deps/clean-temp.Tpo -c -o clean-temp.o clean-temp.c
In file included from clean-temp.h:22:0,
from clean-temp.c:23:
./stdio.h:456:1: error: 'gets' undeclared here (not in a function)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
Makefile:1279: recipe for target 'clean-temp.o' failed
make[7]: *** [clean-temp.o] Error 1
make[7]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/lib'
Makefile:1083: recipe for target 'all' failed
make[6]: *** [all] Error 2
make[6]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/lib'
Makefile:1023: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15'
Makefile:976: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15'
Makefile:32: recipe for target '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/.built' failed
make[3]: *** [/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/.built] Error 2
make[3]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/tools/m4'
tools/Makefile:112: recipe for target 'tools/m4/compile' failed
make[2]: *** [tools/m4/compile] Error 2
make[2]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt'
tools/Makefile:111: recipe for target '/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.32/stamp/.tools_install_nnynn' failed
make[1]: *** [/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.32/stamp/.tools_install_nnynn] Error 2
make[1]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt'
/home/ghanem/Documents/openwrtsdk/openwrt/include/toplevel.mk:138: recipe for target 'world' failed
make: *** [world] Error 2
ghanem@ghanem-VGN-BZ31XT:~/Documents/openwrtsdk/openwrt$ clear
ghanem@ghanem-VGN-BZ31XT:~/Documents/openwrtsdk/openwrt$ make V=99
make[1]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt'
make[2]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt'
+ mkdir -p /home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.32
+ cd /home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.32
+ mkdir -p bin lib include stamp
mkdir -p /home/ghanem/Documents/openwrtsdk/openwrt/build_dir/target-mipsel_r2_uClibc-0.9.32/stamp
touch /home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.32/.prepared
+ mkdir -p /home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host
+ cd /home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host
+ mkdir -p bin lib include stamp
mkdir -p /home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/stamp
install -m0644 /home/ghanem/Documents/openwrtsdk/openwrt/tools/include/*.h /home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include/
touch /home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/.prepared
make[3]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/tools/m4'
make -C /home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15
make[4]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15'
make all-recursive
make[5]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15'
Making all in .
make[6]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15'
make[6]: Nothing to be done for 'all-am'.
make[6]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15'
Making all in examples
make[6]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/examples'
make[6]: Nothing to be done for 'all'.
make[6]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/examples'
Making all in lib
make[6]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/lib'
make all-am
make[7]: Entering directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/lib'
x86_64-linux-gnu-gcc -std=gnu99 -I. -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -MT gl_avltree_oset.o -MD -MP -MF .deps/gl_avltree_oset.Tpo -c -o gl_avltree_oset.o gl_avltree_oset.c
mv -f .deps/gl_avltree_oset.Tpo .deps/gl_avltree_oset.Po
x86_64-linux-gnu-gcc -std=gnu99 -I. -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -MT c-stack.o -MD -MP -MF .deps/c-stack.Tpo -c -o c-stack.o c-stack.c
mv -f .deps/c-stack.Tpo .deps/c-stack.Po
x86_64-linux-gnu-gcc -std=gnu99 -I. -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -O2 -I/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/host/include -MT clean-temp.o -MD -MP -MF .deps/clean-temp.Tpo -c -o clean-temp.o clean-temp.c
In file included from clean-temp.h:22:0,
from clean-temp.c:23:
./stdio.h:456:1: error: 'gets' undeclared here (not in a function)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
Makefile:1279: recipe for target 'clean-temp.o' failed
make[7]: *** [clean-temp.o] Error 1
make[7]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/lib'
Makefile:1083: recipe for target 'all' failed
make[6]: *** [all] Error 2
make[6]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/lib'
Makefile:1023: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15'
Makefile:976: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15'
Makefile:32: recipe for target '/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/.built' failed
make[3]: *** [/home/ghanem/Documents/openwrtsdk/openwrt/build_dir/host/m4-1.4.15/.built] Error 2
make[3]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt/tools/m4'
tools/Makefile:112: recipe for target 'tools/m4/compile' failed
make[2]: *** [tools/m4/compile] Error 2
make[2]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt'
tools/Makefile:111: recipe for target '/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.32/stamp/.tools_install_nnynn' failed
make[1]: *** [/home/ghanem/Documents/openwrtsdk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.32/stamp/.tools_install_nnynn] Error 2
make[1]: Leaving directory '/home/ghanem/Documents/openwrtsdk/openwrt'
/home/ghanem/Documents/openwrtsdk/openwrt/include/toplevel.mk:138: recipe for target 'world' failed
make: *** [world] Error 2
Anyone know if this is a common occurrence? And if so how can I get past it? I've already read about "fixes", like this one: (https://dev.openwrt.org/attachment/ticket/12005/stdio.patch) But how can I use this fix and where should I copy-paste it?
Upvotes: 0
Views: 2990
Reputation: 1223
Right after this, you'll run into a "elf.cpp: In static member function 'static Elf::file* Elf::file::open(const char*)'"
All you need to do to get past this error is by opening the file "elf.cpp" in /build_dir/host/mklibs/src/mklibs-readelf and add:
#include <unistd.h>
That should get you past it.
Upvotes: 0
Reputation: 1223
ok, I was able to get past this error but I was welcomed with a truckload of others. Anyway, here's how you get past it:
open the file “build_dir/host/m4-1.4.16/lib/stdio.h” in a text editor, then search for “_GL_WARN_ON_USE (gets, “gets is a security hole – use fgets instead”);” and replace it with the following line.
#define gets(a) fgets( a, sizeof(*(a)), stdin);
save and close.
You'll now have another folder named bison-2.4.3 in build_dir/host. Go to /build_dir/host/bison-2.4.3/lib/stdio.h and do the same thing. That's it.
Upvotes: 2