

kernelのソースコード（linux-5.0)をダウンロードして、make menuconfigやmake
oldconfigを実行してみましたが、以下のようなエラーが発生します。 _zconfig.lex.c_ というファイルがないという話だと思うのですが、
_zconfig.lex.c_ とは、どのようなファイルでしょうか？また、どのようにして作成？すればよいのでしょうか？

[code]

     LEX     scripts/kconfig/zconf.lex.c
    /bin/sh: 1: flex: not found
    scripts/Makefile.lib:193: recipe for target 'scripts/kconfig/zconf.lex.c' failed
    make[1]: *** [scripts/kconfig/zconf.lex.c] Error 127
    Makefile:538: recipe for target 'menuconfig' failed
    make: *** [menuconfig] Error
    
[/code]


CC BY-SA 4.0
2020-07-26T01:59:41.617
68969
2020-07-26T03:57:34.967
2020-07-26T03:57:34.967
19110
28416
question
c kernel
Kernelの一部を修正しようとmake menuconfigしたが、scripts/kconfig/zconf.lex.cでエラーがでる


エラーメッセージのこの部分が大事です。

[code]

    /bin/sh: 1: flex: not found
    
[/code]

つまり、[flex コマンド](https://github.com/westes/flex)が見つかっていないというエラーです。zconf.lex.c
というファイルが見つからないというエラーではありません。`recipe for target 'scripts/kconfig/zconf.lex.c'
failed` というのは zconf.lex.c のための make が失敗したというログで、その理由は flex が見つからなかったからですね。

flex
は[字句解析器](https://ja.wikipedia.org/wiki/%E5%AD%97%E5%8F%A5%E8%A7%A3%E6%9E%90)のひとつで、お使いの
OS やパッケージマネジャーに合わせた方法でインストールできます。たとえば Ubuntu であれば `sudo apt install flex` など。


CC BY-SA 4.0
2020-07-26T03:56:56.463
68973
2020-07-26T03:56:56.463
19110
68969
answer