O erro aponta para a linha 2128 de bow/libbow.h
extern struct argp_child bow_argp_children[];
Isso significa que struct argp_child
não está definido.
Notei que na linha 1346 há uma declaração antecipada da estrutura.
struct argp_child; /* forward declare this type */
A declaração completa da estrutura está na linha 245 de argp/argp.h
Para resolver esse problema, você pode
-
Use as inclusões de
argp.h
emlibbow.h
ou seja,
#include "../argp/argp.h"
-
Copie a definição
struct argp_child
emlibbow.h
(não recomendado)
Um outro pensamento é que você pode compilar array.c
do diretório errado e -Ibow -I. -I./argp
não aponta para os diretórios corretos.