Messages in this thread | | | From | hkumar@hss ... | Date | Mon, 11 Mar 2002 02:30:30 +0530 | Subject | Kernel 2.4.16 failed to compile |
| |
Hi,
I am trying to compile kernel version 2.4.16 for powerpc with networking off i.e. CONFIG_NET was not set.
----------------------------------- make CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.16/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -D__powerpc__ -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -mcpu=860 " -C net make[1]: Entering directory `/usr/src/linux-2.4.16/net' make -C core make[2]: Entering directory `/usr/src/linux-2.4.16/net/core' make all_targets make[3]: Entering directory `/usr/src/linux-2.4.16/net/core' ppc-linux-gcc -D__KERNEL__ -I/usr/src/linux-2.4.16/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -D__powerpc__ -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -mcpu=860 -c -o sock.o sock.c In file included from /usr/src/linux-2.4.16/include/net/tcp.h:1036, from sock.c:122: /usr/src/linux-2.4.16/include/net/tcp_ecn.h: In function `TCP_ECN_send': /usr/src/linux-2.4.16/include/net/tcp_ecn.h:54: union has no member named `af_inet' /usr/src/linux-2.4.16/include/net/tcp_ecn.h:61: union has no member named `af_inet' make[3]: *** [sock.o] Error 1 make[3]: Leaving directory `/usr/src/linux-2.4.16/net/core' make[2]: *** [first_rule] Error 2 make[2]: Leaving directory `/usr/src/linux-2.4.16/net/core' make[1]: *** [_subdir_core] Error 2 make[1]: Leaving directory `/usr/src/linux-2.4.16/net' make: *** [_dir_net] Error 2 -----------------------------------------------
I am wondering why is it compiling in the net/core directory when I do not want any kind of networking support!
After looking at the Makefiles I found that it compiles the net, net/core and net/ethernet directories even if CONFIG_NET is not set. I tried to remove all the networking stuff by changing the makefiles but I had to fix the following:
1. removed (using #ifdef) all the socket related stuff except for a sys_socketcall which returns ENOTSUPP. This hook is needed by the code in arch dir 2. put the sock_init call in main.c inside #ifdef 3. added some #ifdefs in fs/fcntl.c to remove calls to sock_fcntl
Am I doing it right or will it break something? Do we need socket.c etc. even when we do not want networking support?
Thanks, Harendra
"DISCLAIMER: This message is proprietary to Hughes Software Systems Limited (HSS) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. HSS accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |