MariaDB bison.exe: m4: Invalid argument 导致错误的原因

在编译的时候,导致:D:\Dkits\GnuWin32\bin\bison.exe: m4: Invalid argument

错误的主要原因是 PATH 路径没有设置正确。

使用 ProcessMonitor进行进程监控。

我们可能会发现这样的错误:24:20.9 bison.exe 4240 CreateFile C:\GnuWin32\share\bison\m4sugar\m4sugar.m4 SUCCESS Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened 24:20.9 bison.exe 4240 CloseFile C:\GnuWin32\share\bison\m4sugar\m4sugar.m4 SUCCESS 24:20.9 bison.exe 4240 QueryOpen D:\workdir\Repositories\p\maria\bld\m4.com NAME NOT FOUND 24:20.9 bison.exe 4240 QueryOpen D:\workdir\Repositories\p\maria\bld\m4.exe NAME NOT FOUND 24:20.9 bison.exe 4240 QueryOpen D:\workdir\Repositories\p\maria\bld\m4.bat NAME NOT FOUND 24:20.9 bison.exe 4240 QueryOpen D:\workdir\Repositories\p\maria\bld\m4.cmd NAME NOT FOUND

我们可以看到程序的执行路径没有被程序找到。

找到 PATH 设置界面。

仅仅设置用户 PATH 是不够的,需要设置 System Path 才能避免这个错误。