OpenWrt Forum Archive

Topic: unknown type name 'sa_family_t'

The content of this topic has been archived on 28 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

[ 58%] Built target kmodloader
make[6]: Entering directory `/home/banglang/work/openwrt/trunk/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/ubox-2014-03-18'
make[6]: Leaving directory `/home/banglang/work/openwrt/trunk/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/ubox-2014-03-18'
make[6]: Entering directory `/home/banglang/work/openwrt/trunk/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/ubox-2014-03-18'
[ 64%] Building C object CMakeFiles/logd.dir/log/syslog.c.o
In file included from /home/banglang/work/openwrt/trunk/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/ubox-2014-03-18/log/syslog.c:14:0:
/home/banglang/work/openwrt/trunk/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/include/linux/un.h:7:2: error: unknown type name 'sa_family_t'
  sa_family_t sun_family; /* AF_UNIX */
  ^
make[6]: *** [CMakeFiles/logd.dir/log/syslog.c.o] Error 1


I found that the file linux/socket.h, which contains sa_family_t definition, does not compile the relevant code contained by __KERNEL__. Thus the problem is why the __KERNEL__ is not defined ???

how to solve this issue ?? Any hints will be appreciated.

(Last edited by banglang.huang on 10 Apr 2014, 10:23)

I had the same problem.
Just change the order of the include files on syslog.c.
linux/un.h should be after sockets.h

The discussion might have continued from here.