[Sussex] Unable to compile - elements of array `long_options' have incomplete type
Jim Nicholson
jim.nicholson at newlinesystems.co.uk
Mon Sep 26 19:51:26 UTC 2005
Matthew Macdonald-Wallace wrote:
> I'm having issues compiling Silky (http://silky.sourceforge.net/).
> Basically, I get the following error when I'm compiling:
>
> main.c: In function `main':
> main.c: 512: error: elements of array `long_options' have incomplete type
> main.c: 513:warning: excess elements in struct initializer
> main.c: 513:warning: (near initialization for `long_options[0]')
You don't say what version of silky you're building or on which
distribution.
I've downloaded silky-0.5.4 and silc-toolkit-0.9.12 source tarballs onto
my Mandriva 2005 LE x86 box.
In silc-toolkit-0.9.12 I did the usual
./configure
make
sudo make install
which put the files in /usr/local/silc
In silky-0.5.4 I did
./configure
which complained it could not find the silc.pc
did a
find /usr -name silc.pic
and
find ~/build_area/silc-toolkit-0.9.12 -name silc.pic
but got no results, so I checked the silky website and did
./configure --with-silc-libs=/usr/local/silc/lib
--with-silc-include=/usr/local/silc/include
make
this aborted with unresolved references when linking, but it did compile
main.c, you're offending lines are:
static struct option long_options[] = {
{"debug", 0, 0, 0},
{"debug-level", 1, 0, 0},
{0, 0, 0, 0}
};
(BTW If you had posted these lines I would not have had to go through
the rigmarole above)
The error you are getting is because the compiler cannot find a
definition for "struct option". A quick grep in the silky src directory
found nothing, but grepping in /usr/local/silc/include turns it up in
getopt.h
So, either
1) you didn't install silc correctly
2) you have a silc.pc which is wrong (assuming that it is some kind of
script defining the paths to things)
3) you passed the wrong path to configure
4) you had errors from configure but tried to compile anyway.
Jim
More information about the Sussex
mailing list