[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