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 <mailto:ubuntu-devel-disc...@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 <mailto:sriva...@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=\"mailto: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 ..