[LEDE-DEV] [PATCH] _GNU_SOURCE should be defined for building vs uClibc
John Crispin
john at phrozen.org
Mon May 23 11:03:11 PDT 2016
Hi,
is it really a gnu extension or is uclibc b0rked for these symbols ?
John
On 23/05/2016 19:57, Alexey Brodkin wrote:
> In uClibc-ng O_PATH and O_DIRECTORY are only defined if _GNU_SOURCE is
> defined.
>
> So explicitly define _GNU_SOURCE in sources that use O_PATH and
> O_DIRECTORY.
>
> Without that extra definition that's what happens when building procd.
>
> utils/utils.c:
> ------------------------->8----------------------
> .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/utils/utils.c:
> In function 'patch_fd':
> .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/utils/utils.c:168:22:
> error: 'O_PATH' undeclared (first use in this function)
> dfd = open("/dev", O_PATH|O_DIRECTORY);
> ^
> .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/utils/utils.c:168:22:
> note: each undeclared identifier is reported only once for each function
> it appears in
> .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/utils/utils.c:168:29:
> error: 'O_DIRECTORY' undeclared (first use in this function)
> dfd = open("/dev", O_PATH|O_DIRECTORY);
> ^
> CMakeFiles/init.dir/build.make:182: recipe for target
> 'CMakeFiles/init.dir/utils/utils.c.o' failed
> ------------------------->8----------------------
>
> inittab.c:
> ------------------------->8----------------------
> .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/inittab.c:
> In function 'dev_exist':
> .../openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/inittab.c:72:21:
> error: 'O_PATH' undeclared (first use in this function)
> dfd = open("/dev", O_PATH|O_DIRECTORY);
> ^
> .../git/openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/inittab.c:72:21:
> note: each undeclared identifier is reported only once for each function
> it appears in
> .../git/openwrt/build_dir/target-arc_arc700_uClibc-1.0.14/procd-2016-05-19/inittab.c:72:28:
> error: 'O_DIRECTORY' undeclared (first use in this function)
> dfd = open("/dev", O_PATH|O_DIRECTORY);
> ^
> CMakeFiles/procd.dir/build.make:134: recipe for target
> 'CMakeFiles/procd.dir/inittab.c.o' failed
> make[6]: *** [CMakeFiles/procd.dir/inittab.c.o] Error 1
> ------------------------->8----------------------
>
> Signed-off-by: Alexey Brodkin <abrodkin at synopsys.com>
> Cc: Waldemar Brodkorb <wbx at openadk.org>
> Cc: John Crispin <john at phrozen.org>
> Cc: Jo-Philipp Wich <jo at mein.io>
> ---
> inittab.c | 1 +
> utils/utils.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/inittab.c b/inittab.c
> index 528396e..6dde11a 100644
> --- a/inittab.c
> +++ b/inittab.c
> @@ -12,6 +12,7 @@
> * GNU General Public License for more details.
> */
>
> +#define _GNU_SOURCE
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <sys/ioctl.h>
> diff --git a/utils/utils.c b/utils/utils.c
> index e2e3396..8f14aad 100644
> --- a/utils/utils.c
> +++ b/utils/utils.c
> @@ -12,6 +12,7 @@
> * GNU General Public License for more details.
> */
>
> +#define _GNU_SOURCE
> #include <libubox/avl.h>
> #include <libubox/avl-cmp.h>
> #include "utils.h"
>
More information about the Lede-dev
mailing list