On Tue, Nov 20, 2012 at 09:32:17PM +0000, Arran Cudbard-Bell wrote:
Just finished adding all.mk files to most of the modules, to finish the work Alan started a while back. This involved
Nice one.
Can you all try and build the latest HEAD in master and report any issues.
As follows - eventually gets stuck linking build/bin/rlm_utf8: $ ./configure --enable-boilermake ... $ $ make -j8 gcc /home/mcn/git/frs/scripts/jlibtool.c -o /home/mcn/git/frs/scripts/jlibtool CC /home/mcn/git/frs/src/lib/dict.c CC /home/mcn/git/frs/src/lib/filters.c make: /home/mcn/git/frs/scripts/jlibtool: Command not found make: /home/mcn/git/frs/scripts/jlibtool: Command not found make: *** [build/objs//home/mcn/git/frs/src/lib/dict.lo] Error 127 make: *** Waiting for unfinished jobs.... make: *** [build/objs//home/mcn/git/frs/src/lib/filters.lo] Error 127 CC /home/mcn/git/frs/src/lib/hash.c make: /home/mcn/git/frs/scripts/jlibtool: Command not found make: *** [build/objs//home/mcn/git/frs/src/lib/hash.lo] Error 127 /home/mcn/git/frs/scripts/jlibtool.c: In function ‘parse_args’: /home/mcn/git/frs/scripts/jlibtool.c:1771: warning: assignment discards qualifiers from pointer target type $ $ make -j8 CC /home/mcn/git/frs/src/lib/dict.c CC /home/mcn/git/frs/src/lib/filters.c CC /home/mcn/git/frs/src/lib/hash.c CC /home/mcn/git/frs/src/lib/hmac.c CC /home/mcn/git/frs/src/lib/hmacsha1.c CC /home/mcn/git/frs/src/lib/isaac.c In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:45, from /home/mcn/git/frs/src/lib/dict.c:26: /home/mcn/git/frs/src/freeradius-devel/hash.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash’In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:45, from /home/mcn/git/frs/src/lib/filters.c:26: /home/mcn/git/frs/src/freeradius-devel/hash.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash’ /home/mcn/git/frs/src/freeradius-devel/hash.h:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_update’ /home/mcn/git/frs/src/freeradius-devel/hash.h:40: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_string’ /home/mcn/git/frs/src/freeradius-devel/hash.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_fold’ /home/mcn/git/frs/src/freeradius-devel/hash.h:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_update’/home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: expected declaration specifiers or ‘...’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: type defaults to ‘int’ in declaration of ‘uint32_t’/home/mcn/git/frs/src/freeradius-devel/hash.h:40: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_string’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: ‘uint32_t’ declared as function returning a function /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: function declaration isn’t a prototype /home/mcn/git/frs/src/freeradius-devel/hash.h:55: error: expected ‘)’ before ‘hashNode’/home/mcn/git/frs/src/freeradius-devel/hash.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_fold’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: expected declaration specifiers or ‘...’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: type defaults to ‘int’ in declaration of ‘uint32_t’ In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:68, from /home/mcn/git/frs/src/lib/filters.c:26: /home/mcn/git/frs/src/freeradius-devel/sha1.h:14: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:15: error: declaration of ‘count’ as array of functions/home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: ‘uint32_t’ declared as function returning a function /home/mcn/git/frs/src/freeradius-devel/sha1.h:16: error: expected specifier-qualifier-list before ‘uint8_t’ In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:45, from /home/mcn/git/frs/src/lib/hmac.c:31: /home/mcn/git/frs/src/freeradius-devel/hash.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: function declaration isn’t a prototype/home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/hash.h:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_update’/home/mcn/git/frs/src/freeradius-devel/sha1.h:19: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/hash.h:40: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_string’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: expected ‘;’, ‘,’ or ‘)’ before ‘buffer’ /home/mcn/git/frs/src/freeradius-devel/hash.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_fold’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: expected declaration specifiers or ‘...’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/sha1.h:22: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: type defaults to ‘int’ in declaration of ‘uint32_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:30: error: expected ‘)’ before ‘digest’/home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: ‘uint32_t’ declared as function returning a function /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: function declaration isn’t a prototype /home/mcn/git/frs/src/freeradius-devel/sha1.h:47: error: expected ‘)’ before ‘mk’ /home/mcn/git/frs/src/freeradius-devel/hash.h:55: error: expected ‘)’ before ‘hashNode’/home/mcn/git/frs/src/freeradius-devel/hash.h:55: error: expected ‘)’ before ‘hashNode’ In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:68, from /home/mcn/git/frs/src/lib/hmac.c:31: /home/mcn/git/frs/src/freeradius-devel/sha1.h:14: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:15: error: declaration of ‘count’ as array of functions In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:68, from /home/mcn/git/frs/src/lib/dict.c:26: /home/mcn/git/frs/src/freeradius-devel/sha1.h:14: error: declaration of ‘state’ as array of functions/home/mcn/git/frs/src/freeradius-devel/sha1.h:16: error: expected specifier-qualifier-list before ‘uint8_t’In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:45, from /home/mcn/git/frs/src/lib/hmacsha1.c:14: /home/mcn/git/frs/src/freeradius-devel/hash.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash’In file included from /usr/include/inttypes.h:28, from /home/mcn/git/frs/src/freeradius-devel/md4.h:16, from /home/mcn/git/frs/src/freeradius-devel/libradius.h:69, from /home/mcn/git/frs/src/lib/filters.c:26: /usr/include/stdint.h:52: error: conflicting types for ‘uint32_t’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: note: previous declaration of ‘uint32_t’ was here /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: declaration of ‘state’ as array of functions/home/mcn/git/frs/src/freeradius-devel/hash.h:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_update’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/hash.h:40: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_string’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: expected ‘;’, ‘,’ or ‘)’ before ‘buffer’ /home/mcn/git/frs/src/freeradius-devel/hash.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_fold’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token/home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: expected declaration specifiers or ‘...’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/sha1.h:22: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: type defaults to ‘int’ in declaration of ‘uint32_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:30: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: ‘uint32_t’ declared as function returning a function /home/mcn/git/frs/src/freeradius-devel/sha1.h:47: error: expected ‘)’ before ‘mk’/home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: function declaration isn’t a prototype /home/mcn/git/frs/src/freeradius-devel/sha1.h:15: error: declaration of ‘count’ as array of functions /home/mcn/git/frs/src/freeradius-devel/hash.h:55: error: expected ‘)’ before ‘hashNode’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:16: error: expected specifier-qualifier-list before ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:68, from /home/mcn/git/frs/src/lib/hmacsha1.c:14: /home/mcn/git/frs/src/freeradius-devel/sha1.h:14: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:15: error: declaration of ‘count’ as array of functions/home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: expected ‘;’, ‘,’ or ‘)’ before ‘buffer’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:16: error: expected specifier-qualifier-list before ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: declaration of ‘state’ as array of functions In file included from /usr/include/inttypes.h:28, from /home/mcn/git/frs/src/freeradius-devel/md4.h:16, from /home/mcn/git/frs/src/freeradius-devel/libradius.h:69, from /home/mcn/git/frs/src/lib/hmac.c:31: /usr/include/stdint.h:52: error: conflicting types for ‘uint32_t’/home/mcn/git/frs/src/freeradius-devel/sha1.h:19: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: note: previous declaration of ‘uint32_t’ was here /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: expected ‘;’, ‘,’ or ‘)’ before ‘buffer’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: warning: type defaults to ‘int’ in declaration of ‘uint8_t’/home/mcn/git/frs/src/freeradius-devel/sha1.h:22: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:30: error: expected ‘)’ before ‘digest’/home/mcn/git/frs/src/freeradius-devel/sha1.h:21: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/sha1.h:47: error: expected ‘)’ before ‘mk’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:22: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:30: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:47: error: expected ‘)’ before ‘mk’ In file included from /usr/include/inttypes.h:28, from /home/mcn/git/frs/src/freeradius-devel/md4.h:16, from /home/mcn/git/frs/src/freeradius-devel/libradius.h:69, from /home/mcn/git/frs/src/lib/hmacsha1.c:14: /usr/include/stdint.h:52: error: conflicting types for ‘uint32_t’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: note: previous declaration of ‘uint32_t’ was here In file included from /usr/include/inttypes.h:28, from /home/mcn/git/frs/src/freeradius-devel/md4.h:16, from /home/mcn/git/frs/src/freeradius-devel/libradius.h:69, from /home/mcn/git/frs/src/lib/dict.c:26: /usr/include/stdint.h:52: error: conflicting types for ‘uint32_t’In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:45, from /home/mcn/git/frs/src/lib/hash.c:36: /home/mcn/git/frs/src/freeradius-devel/hash.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash’ /home/mcn/git/frs/src/freeradius-devel/hash.h:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_update’ /home/mcn/git/frs/src/freeradius-devel/hash.h:40: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_string’ /home/mcn/git/frs/src/freeradius-devel/hash.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_fold’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: note: previous declaration of ‘uint32_t’ was here/home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: expected declaration specifiers or ‘...’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: type defaults to ‘int’ in declaration of ‘uint32_t’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: ‘uint32_t’ declared as function returning a function /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: function declaration isn’t a prototype /home/mcn/git/frs/src/freeradius-devel/hash.h:55: error: expected ‘)’ before ‘hashNode’ In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:68, from /home/mcn/git/frs/src/lib/hash.c:36: /home/mcn/git/frs/src/freeradius-devel/sha1.h:14: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:15: error: declaration of ‘count’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:16: error: expected specifier-qualifier-list before ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: expected ‘;’, ‘,’ or ‘)’ before ‘buffer’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/sha1.h:22: error: expected ‘)’ before ‘digest’ In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:45, from /home/mcn/git/frs/src/lib/isaac.c:16: /home/mcn/git/frs/src/freeradius-devel/hash.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash’/home/mcn/git/frs/src/freeradius-devel/sha1.h:30: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/hash.h:39: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_update’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:47: error: expected ‘)’ before ‘mk’ /home/mcn/git/frs/src/freeradius-devel/hash.h:40: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_string’ /home/mcn/git/frs/src/freeradius-devel/hash.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fr_hash_fold’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: expected declaration specifiers or ‘...’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: type defaults to ‘int’ in declaration of ‘uint32_t’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: error: ‘uint32_t’ declared as function returning a function /home/mcn/git/frs/src/freeradius-devel/hash.h:51: warning: function declaration isn’t a prototype /home/mcn/git/frs/src/freeradius-devel/hash.h:55: error: expected ‘)’ before ‘hashNode’ In file included from /usr/include/inttypes.h:28, from /home/mcn/git/frs/src/freeradius-devel/md4.h:16, from /home/mcn/git/frs/src/freeradius-devel/libradius.h:69, from /home/mcn/git/frs/src/lib/hash.c:36: /usr/include/stdint.h:52: error: conflicting types for ‘uint32_t’In file included from /home/mcn/git/frs/src/freeradius-devel/libradius.h:68, from /home/mcn/git/frs/src/lib/isaac.c:16: /home/mcn/git/frs/src/freeradius-devel/sha1.h:14: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:15: error: declaration of ‘count’ as array of functions/home/mcn/git/frs/src/freeradius-devel/hash.h:51: note: previous declaration of ‘uint32_t’ was here /home/mcn/git/frs/src/freeradius-devel/sha1.h:16: error: expected specifier-qualifier-list before ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: declaration of ‘state’ as array of functions /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:19: error: expected ‘;’, ‘,’ or ‘)’ before ‘buffer’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:21: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token /home/mcn/git/frs/src/freeradius-devel/sha1.h:22: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:30: error: expected ‘)’ before ‘digest’ /home/mcn/git/frs/src/freeradius-devel/sha1.h:47: error: expected ‘)’ before ‘mk’ In file included from /usr/include/inttypes.h:28, from /home/mcn/git/frs/src/freeradius-devel/md4.h:16, from /home/mcn/git/frs/src/freeradius-devel/libradius.h:69, from /home/mcn/git/frs/src/lib/isaac.c:16: /usr/include/stdint.h:52: error: conflicting types for ‘uint32_t’ /home/mcn/git/frs/src/freeradius-devel/hash.h:51: note: previous declaration of ‘uint32_t’ was here In file included from /home/mcn/git/frs/src/lib/filters.c:26: /home/mcn/git/frs/src/freeradius-devel/libradius.h:164: error: field ‘ipaddr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:165: error: field ‘ipv6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:221: error: field ‘ip4addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:222: error: field ‘ip6addr’ has incomplete type In file included from /home/mcn/git/frs/src/lib/hmac.c:31: /home/mcn/git/frs/src/freeradius-devel/libradius.h:164: error: field ‘ipaddr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:165: error: field ‘ipv6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:221: error: field ‘ip4addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:222: error: field ‘ip6addr’ has incomplete type In file included from /home/mcn/git/frs/src/lib/hmacsha1.c:14: /home/mcn/git/frs/src/freeradius-devel/libradius.h:164: error: field ‘ipaddr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:165: error: field ‘ipv6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:221: error: field ‘ip4addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:222: error: field ‘ip6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: its scope is only this definition or declaration, which is probably not what you want /home/mcn/git/frs/src/freeradius-devel/libradius.h:477: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:478: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: its scope is only this definition or declaration, which is probably not what you want /home/mcn/git/frs/src/freeradius-devel/libradius.h:477: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:478: warning: ‘struct sockaddr_storage’ declared inside parameter list In file included from /home/mcn/git/frs/src/lib/hash.c:36: /home/mcn/git/frs/src/freeradius-devel/libradius.h:164: error: field ‘ipaddr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:165: error: field ‘ipv6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:221: error: field ‘ip4addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:222: error: field ‘ip6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: its scope is only this definition or declaration, which is probably not what you want /home/mcn/git/frs/src/freeradius-devel/libradius.h:477: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:478: warning: ‘struct sockaddr_storage’ declared inside parameter list In file included from /home/mcn/git/frs/src/lib/dict.c:26: /home/mcn/git/frs/src/freeradius-devel/libradius.h:164: error: field ‘ipaddr’ has incomplete typeIn file included from /home/mcn/git/frs/src/lib/isaac.c:16: /home/mcn/git/frs/src/freeradius-devel/libradius.h:164: error: field ‘ipaddr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:165: error: field ‘ipv6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:165: error: field ‘ipv6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:221: error: field ‘ip4addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:222: error: field ‘ip6addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:221: error: field ‘ip4addr’ has incomplete type /home/mcn/git/frs/src/freeradius-devel/libradius.h:222: error: field ‘ip6addr’ has incomplete type /home/mcn/git/frs/src/lib/hmacsha1.c: In function ‘fr_hmac_sha1’: /home/mcn/git/frs/src/lib/hmacsha1.c:50: warning: implicit declaration of function ‘fr_SHA1Update’ /home/mcn/git/frs/src/lib/hmacsha1.c:50: warning: nested extern declaration of ‘fr_SHA1Update’ /home/mcn/git/frs/src/lib/hmacsha1.c:51: warning: implicit declaration of function ‘fr_SHA1Final’ /home/mcn/git/frs/src/lib/hmacsha1.c:51: warning: nested extern declaration of ‘fr_SHA1Final’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: its scope is only this definition or declaration, which is probably not what you want /home/mcn/git/frs/src/freeradius-devel/libradius.h:477: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:478: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/lib/filters.c: In function ‘ascend_parse_ipx_net’: /home/mcn/git/frs/src/lib/filters.c:369: warning: implicit declaration of function ‘htonl’ /home/mcn/git/frs/src/lib/filters.c:369: warning: nested extern declaration of ‘htonl’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: its scope is only this definition or declaration, which is probably not what you want /home/mcn/git/frs/src/freeradius-devel/libradius.h:477: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:478: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/lib/hash.c:60: error: expected specifier-qualifier-list before ‘fr_hash_table_hash_t’ /home/mcn/git/frs/src/lib/filters.c:443: warning: implicit declaration of function ‘htons’ /home/mcn/git/frs/src/lib/filters.c:443: warning: nested extern declaration of ‘htons’ make: *** [build/objs//home/mcn/git/frs/src/lib/hmac.lo] Error 1 make: *** Waiting for unfinished jobs.... /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: ‘struct sockaddr_storage’ declared inside parameter list make: /home/mcn/git/frs/src/freeradius-devel/libradius.h:476: warning: its scope is only this definition or declaration, which is probably not what you want*** [build/objs//home/mcn/git/frs/src/lib/hmacsha1.lo] Error 1 /home/mcn/git/frs/src/freeradius-devel/libradius.h:477: error: expected declaration specifiers or ‘...’ before ‘socklen_t’ /home/mcn/git/frs/src/freeradius-devel/libradius.h:478: warning: ‘struct sockaddr_storage’ declared inside parameter list /home/mcn/git/frs/src/lib/hash.c: In function ‘list_find’: /home/mcn/git/frs/src/lib/hash.c:188: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c:190: error: ‘fr_hash_table_t’ has no member named ‘cmp’ /home/mcn/git/frs/src/lib/hash.c:191: error: ‘fr_hash_table_t’ has no member named ‘cmp’ /home/mcn/git/frs/src/lib/hash.c: In function ‘list_insert’: /home/mcn/git/frs/src/lib/hash.c:214: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c:219: error: ‘fr_hash_table_t’ has no member named ‘cmp’ /home/mcn/git/frs/src/lib/hash.c:220: error: ‘fr_hash_table_t’ has no member named ‘cmp’ /home/mcn/git/frs/src/lib/hash.c: In function ‘list_delete’: /home/mcn/git/frs/src/lib/hash.c:245: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c: At top level: /home/mcn/git/frs/src/lib/hash.c:260: error: expected ‘)’ before ‘hashNode’ /home/mcn/git/frs/src/lib/hash.c: In function ‘fr_hash_table_fixup’: /home/mcn/git/frs/src/lib/hash.c:322: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:331: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:334: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c:339: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c:340: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:350: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:350: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:350: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c: In function ‘fr_hash_table_grow’: /home/mcn/git/frs/src/lib/hash.c:369: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:374: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:375: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c: In function ‘fr_hash_table_insert’: /home/mcn/git/frs/src/lib/hash.c:398: error: ‘fr_hash_table_t’ has no member named ‘hash’ /home/mcn/git/frs/src/lib/hash.c:402: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:412: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c:418: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c: In function ‘fr_hash_table_find’: /home/mcn/git/frs/src/lib/hash.c:448: error: ‘fr_hash_table_t’ has no member named ‘hash’ /home/mcn/git/frs/src/lib/hash.c:452: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:454: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c: In function ‘fr_hash_table_yank’: /home/mcn/git/frs/src/lib/hash.c:505: error: ‘fr_hash_table_t’ has no member named ‘hash’ /home/mcn/git/frs/src/lib/hash.c:509: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:511: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:514: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c: In function ‘fr_hash_table_free’: /home/mcn/git/frs/src/lib/hash.c:554: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:554: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:555: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c:566: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c: In function ‘fr_hash_table_walk’: /home/mcn/git/frs/src/lib/hash.c:599: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:601: error: ‘fr_hash_table_t’ has no member named ‘buckets’ /home/mcn/git/frs/src/lib/hash.c:601: error: ‘fr_hash_table_t’ has no member named ‘null’ /home/mcn/git/frs/src/lib/hash.c: At top level: /home/mcn/git/frs/src/lib/hash.c:699: warning: no previous prototype for ‘fr_hash’ /home/mcn/git/frs/src/lib/hash.c:733: warning: no previous prototype for ‘fr_hash_update’ /home/mcn/git/frs/src/lib/hash.c:753: warning: no previous prototype for ‘fr_hash_fold’ /home/mcn/git/frs/src/lib/hash.c:777: warning: no previous prototype for ‘fr_hash_string’ make: *** [build/objs//home/mcn/git/frs/src/lib/isaac.lo] Error 1 make: *** [build/objs//home/mcn/git/frs/src/lib/hash.lo] Error 1 /home/mcn/git/frs/src/lib/filters.c: In function ‘print_abinary’: /home/mcn/git/frs/src/lib/filters.c:1195: warning: implicit declaration of function ‘ntohs’ /home/mcn/git/frs/src/lib/filters.c:1195: warning: nested extern declaration of ‘ntohs’ /home/mcn/git/frs/src/lib/filters.c:1221: warning: implicit declaration of function ‘ntohl’ /home/mcn/git/frs/src/lib/filters.c:1221: warning: nested extern declaration of ‘ntohl’ /home/mcn/git/frs/src/lib/dict.c: In function ‘dict_attr_value_hash’: /home/mcn/git/frs/src/lib/dict.c:183: warning: implicit declaration of function ‘fr_hash’ /home/mcn/git/frs/src/lib/dict.c:183: warning: nested extern declaration of ‘fr_hash’ /home/mcn/git/frs/src/lib/dict.c:184: warning: implicit declaration of function ‘fr_hash_update’ /home/mcn/git/frs/src/lib/dict.c:184: warning: nested extern declaration of ‘fr_hash_update’ make: *** [build/objs//home/mcn/git/frs/src/lib/filters.lo] Error 1 /home/mcn/git/frs/src/lib/dict.c: In function ‘dict_addvalue’: /home/mcn/git/frs/src/lib/dict.c:893: warning: implicit declaration of function ‘strlcpy’ /home/mcn/git/frs/src/lib/dict.c:893: warning: nested extern declaration of ‘strlcpy’ /home/mcn/git/frs/src/lib/dict.c: In function ‘my_dict_init’: /home/mcn/git/frs/src/lib/dict.c:1788: error: ‘FR_DIR_SEP’ undeclared (first use in this function) /home/mcn/git/frs/src/lib/dict.c:1788: error: (Each undeclared identifier is reported only once /home/mcn/git/frs/src/lib/dict.c:1788: error: for each function it appears in.) /home/mcn/git/frs/src/lib/dict.c:1800: error: ‘errno’ undeclared (first use in this function) /home/mcn/git/frs/src/lib/dict.c: In function ‘dict_init’: /home/mcn/git/frs/src/lib/dict.c:2142: warning: implicit declaration of function ‘fr_hash_table_create’ /home/mcn/git/frs/src/lib/dict.c:2142: warning: nested extern declaration of ‘fr_hash_table_create’ /home/mcn/git/frs/src/lib/dict.c:2144: warning: assignment makes pointer from integer without a cast /home/mcn/git/frs/src/lib/dict.c:2156: warning: assignment makes pointer from integer without a cast /home/mcn/git/frs/src/lib/dict.c:2169: warning: assignment makes pointer from integer without a cast /home/mcn/git/frs/src/lib/dict.c:2181: warning: assignment makes pointer from integer without a cast /home/mcn/git/frs/src/lib/dict.c:2188: warning: assignment makes pointer from integer without a cast /home/mcn/git/frs/src/lib/dict.c:2195: warning: assignment makes pointer from integer without a cast make: *** [build/objs//home/mcn/git/frs/src/lib/dict.lo] Error 1 $ make -j8 ... LINK build/bin/rlm_utf8 LINK build/lib/rlm_wimax.la LINK build/bin/radclient LINK build/bin/radsniff LINK build/bin/radmin LINK build/bin/radattr LINK build/bin/radconf2xml LINK build/bin/radwho LINK build/bin/dhclient /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 8 has invalid symbol index 2 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 9 has invalid symbol index 2 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 10 has invalid symbol index 12 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 20 has invalid symbol index 20 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' build/objs//home/mcn/git/frs/src/modules/rlm_utf8/rlm_utf8.o: In function `utf8_clean': /home/mcn/git/frs/src/modules/rlm_utf8/rlm_utf8.c:47: undefined reference to `fr_utf8_char' collect2: ld returned 1 exit status make: *** [build/bin/rlm_utf8] Error 1 make: *** Waiting for unfinished jobs.... $ $ make -j8 LINK build/lib/rlm_eap.la LINK build/bin/rlm_utf8 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 8 has invalid symbol index 2 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 9 has invalid symbol index 2 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 10 has invalid symbol index 12 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 20 has invalid symbol index 20 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' build/objs//home/mcn/git/frs/src/modules/rlm_utf8/rlm_utf8.o: In function `utf8_clean': /home/mcn/git/frs/src/modules/rlm_utf8/rlm_utf8.c:47: undefined reference to `fr_utf8_char' collect2: ld returned 1 exit status make: *** [build/bin/rlm_utf8] Error 1 make: *** Waiting for unfinished jobs.... $ $ make -j8 LINK build/bin/rlm_utf8 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld.bfd.real: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 ... then gets stuck as above. (Until recently, make often had to be run a couple of times, as the jlibtool build failed initially, but then FR would build OK after that.) Cheers, Matthew -- Matthew Newton, Ph.D. <mcn4@le.ac.uk> Systems Architect (UNIX and Networks), Network Services, I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom For IT help contact helpdesk extn. 2253, <ithelp@le.ac.uk>