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 ..

Reply via email to