bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mig/build/lexxer.c:1825: undefined reference to `yywrap'


From: Paul Dufresne
Subject: Re: mig/build/lexxer.c:1825: undefined reference to `yywrap'
Date: Thu, 11 Feb 2021 09:54:51 -0500
User-agent: Zoho Mail

I do not see a 32 bit version of libfl-devel in my distribution (64 bit version was installed):
paul@jacko:~/mymach/mig/build$ apt-cache madison libfl-dev
 libfl-dev |    2.6.4-8 | http://ca.archive.ubuntu.com/ubuntu groovy/main amd64 Packages

paul@jacko:~/mymach/mig$ dpkg-query --status libfl-dev
Package: libfl-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 73
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: flex
Version: 2.6.4-8
Replaces: flex (<< 2.5.39), flex-old (<= 2.5.4a-10)
Depends: flex (= 2.6.4-8), libfl2 (= 2.6.4-8)
Breaks: flex (<< 2.5.39), flex-old (<= 2.5.4a-10)
Description: static library for flex (a fast lexical analyzer generator)
 Flex is a tool for generating scanners: programs which recognized lexical
 patterns in text. It reads the given input files for a description of a
 scanner to generate. The description is in the form of pairs of regular
 expressions and C code, called rules. Flex generates as output a C source
 file, lex.yy.c, which defines a routine yylex().  This file is compiled
 and linked with the -lfl library to produce an executable. When the
 executable is run, it analyzes its input for occurrences of the regular
 expressions. Whenever it finds one, it executes the corresponding C code.
 .
 This package contains the static library for flex.
Original-Maintainer: Manoj Srivastava <srivasta@debian.org>
Homepage: https://github.com/westes/flex
paul@jacko:~/mymach/mig$

Multi-Arch:same
Does it means it is used for i686 too?

To fix:
paul@jacko:~/mymach/mig/build$ LANG=C make
Making all in tests
make[1]: Entering directory '/home/paul/mymach/mig/build/tests'
Making all in good
make[2]: Entering directory '/home/paul/mymach/mig/build/tests/good'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/paul/mymach/mig/build/tests/good'
Making all in generate-only
make[2]: Entering directory '/home/paul/mymach/mig/build/tests/generate-only'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/paul/mymach/mig/build/tests/generate-only'
Making all in bad
make[2]: Entering directory '/home/paul/mymach/mig/build/tests/bad'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/paul/mymach/mig/build/tests/bad'
make[2]: Entering directory '/home/paul/mymach/mig/build/tests'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/paul/mymach/mig/build/tests'
make[1]: Leaving directory '/home/paul/mymach/mig/build/tests'
make[1]: Entering directory '/home/paul/mymach/mig/build'
i686-linux-gnu-gcc-10  -g -O2   -o migcom error.o global.o header.o lexxer.o migcom.o parser.o routine.o server.o statement.o string.o type.o user.o utils.o vprint.o  
/usr/lib/gcc-cross/i686-linux-gnu/10/../../../../i686-linux-gnu/bin/ld: lexxer.o: in function `yylex':
/home/paul/mymach/mig/build/lexxer.c:1826: undefined reference to `yywrap'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:503: migcom] Error 1
make[1]: Leaving directory '/home/paul/mymach/mig/build'
make: *** [Makefile:594: all-recursive] Error 1
paul@jacko:~/mymach/mig/build$
I did:
=============
diff --git a/lexxer.l b/lexxer.l
index 9579522..48dda4a 100644
--- a/lexxer.l
+++ b/lexxer.l
@@ -1,4 +1,5 @@
 %option nounput
+%option noyywrap
 
 %k 10000
 %n 5000
=============

Which allows make to complete:
paul@jacko:~/mymach/mig/build$ LANG=C make
Making all in tests
make[1]: Entering directory '/home/paul/mymach/mig/build/tests'
Making all in good
make[2]: Entering directory '/home/paul/mymach/mig/build/tests/good'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/paul/mymach/mig/build/tests/good'
Making all in generate-only
make[2]: Entering directory '/home/paul/mymach/mig/build/tests/generate-only'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/paul/mymach/mig/build/tests/generate-only'
Making all in bad
make[2]: Entering directory '/home/paul/mymach/mig/build/tests/bad'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/paul/mymach/mig/build/tests/bad'
make[2]: Entering directory '/home/paul/mymach/mig/build/tests'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/paul/mymach/mig/build/tests'
make[1]: Leaving directory '/home/paul/mymach/mig/build/tests'
make[1]: Entering directory '/home/paul/mymach/mig/build'
/bin/bash ../build-aux/ylwrap ../lexxer.l lex.yy.c lexxer.c -- flex  
i686-linux-gnu-gcc-10 -DPACKAGE_NAME=\"GNU\ MIG\" -DPACKAGE_TARNAME=\"mig\" -DPACKAGE_VERSION=\"1.8\" -DPACKAGE_STRING=\"GNU\ MIG\ 1.8\" -DPACKAGE_BUGREPORT=\"bug-hurd@gnu.org\" -DPACKAGE_URL=\"http://www.gnu.org/software/mig/\" -DSTDC_HEADERS=1 -DHAVE_VPRINTF=1 -I. -I..     -g -O2 -MT lexxer.o -MD -MP -MF .deps/lexxer.Tpo -c -o lexxer.o lexxer.c
mv -f .deps/lexxer.Tpo .deps/lexxer.Po
i686-linux-gnu-gcc-10  -g -O2   -o migcom error.o global.o header.o lexxer.o migcom.o parser.o routine.o server.o statement.o string.o type.o user.o utils.o vprint.o  
make[1]: Leaving directory '/home/paul/mymach/mig/build'
paul@jacko:~/mymach/mig/build$ ls
config.log     error.o   lexxer.o  migcom.o  routine.o    tests    vprint.o
config.status  global.o  Makefile  parser.c  server.o     type.o
cpu.h          header.o  mig       parser.h  statement.o  user.o
cpu.symc       lexxer.c  migcom    parser.o  string.o     utils.o
paul@jacko:~/mymach/mig/build$ cd ..



reply via email to

[Prev in Thread] Current Thread [Next in Thread]