Current (?) Git repository fails to build on Debian

Russ Allbery <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.heimdal.general
Organization The Eyrie
Message-ID <[email protected]>
I'm trying to build the master branch of git://svn.h5l.org/heimdal.git to
test some patches, and the build is failing in lib/asn1:

make[2]: Entering directory `/home/eagle/dvl/heimdal/lib/asn1'
  YACC   asn1parse.c
cd . && perl ../../cf/make-proto.pl -q -P comment -o der-protos.h der_locl.h der.c der.h der_get.c der_put.c der_free.c der_length.c der_copy.c der_cmp.c der_format.c heim_asn1.h extra.c template.c timegm.c || rm -f der-protos.h
Legacy library getopts.pl will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at ../../cf/make-proto.pl, line 5.
cd . && perl ../../cf/make-proto.pl -q -P comment -p der-private.h der_locl.h der.c der.h der_get.c der_put.c der_free.c der_length.c der_copy.c der_cmp.c der_format.c heim_asn1.h extra.c template.c timegm.c || rm -f der-private.h
Legacy library getopts.pl will be removed from the Perl core distribution in the next major release. Please install the separate libperl4-corelibs-perl package. It is being used at ../../cf/make-proto.pl, line 5.
  CC     asn1parse.o
asn1parse.y: In function ‘yyparse’:
asn1parse.y:244:5: warning: implicit declaration of function ‘error_message’ [-Wimplicit-function-declaration]
asn1parse.y:244:5: warning: nested extern declaration of ‘error_message’ [-Wnested-externs]
  CC     gen.o
  CC     gen_copy.o
  CC     gen_decode.o
  CC     gen_encode.o
  CC     gen_free.o
  CC     gen_glue.o
  CC     gen_length.o
  CC     gen_seq.o
  CC     gen_template.o
  CC     hash.o
  CC     lex.o
lex.l: In function ‘yylex’:
lex.l:261:8: warning: implicit declaration of function ‘error_message’ [-Wimplicit-function-declaration]
lex.l:261:8: warning: nested extern declaration of ‘error_message’ [-Wnested-externs]
lex.l: At top level:
lex.l:286:1: warning: no previous prototype for ‘error_message’ [-Wmissing-prototypes]
lex.l:286:1: warning: conflicting types for ‘error_message’ [enabled by default]
lex.l:261:8: note: previous implicit declaration of ‘error_message’ was here
  CC     main.o
  CC     symbol.o
  CCLD   asn1_compile
gen_decode.o: In function `find_tag':
/home/eagle/dvl/heimdal/lib/asn1/gen_decode.c:146: undefined reference to `lex_error_message'
symbol.o: In function `checkfunc':
/home/eagle/dvl/heimdal/lib/asn1/symbol.c:96: undefined reference to `lex_error_message'
collect2: ld returned 1 exit status
make[2]: *** [asn1_compile] Error 1
make[2]: Leaving directory `/home/eagle/dvl/heimdal/lib/asn1'

Something weird seems to be going on here, as the asn1parse.y and lex.l
source files reference lex_error_message, not error_message, but in the
generated *.c files all occurrences of lex_error_message have been changed
to error_message.  Is this some sort of weird behavior of Bison and Flex
that other people are not seeing because you're using BSD versions of the
tools?

Also, the last change in the Heimdal repository seems to be from November
19th, so I'm a bit worried that I'm looking in the wrong place.

(Note also the Perl error messages above.  The code should probably be
converted to Getopt::Long at some point, as the Perl folks are deprecating
the Perl 4 libraries.)

-- 
Russ Allbery ([email protected])             <http://www.eyrie.org/~eagle/>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.