Linux 如何使用可移植的dataroot路径生成bison二进制文件

Linux 如何使用可移植的dataroot路径生成bison二进制文件,linux,bison,m4,Linux,Bison,M4,从源代码构建,可以通过通常的/configure&&make&&makeinstall完成 我的工作是构建bison二进制文件,也可以在其他机器上使用 要指定bison构建路径,可以使用--prefix参数,例如 $ ./configure --prefix=/home/users/yuhao10/bison-3.4/output 构建的bison文件树如下所示: ├── bin │   ├── bison │   └── yacc ├── lib │   └── liby.a └── sha

从源代码构建,可以通过通常的
/configure&&make&&makeinstall
完成

我的工作是构建bison二进制文件,也可以在其他机器上使用

要指定bison构建路径,可以使用
--prefix
参数,例如

$ ./configure --prefix=/home/users/yuhao10/bison-3.4/output
构建的bison文件树如下所示:

├── bin
│   ├── bison
│   └── yacc
├── lib
│   └── liby.a
└── share
    ├── bison
    │   ├── m4sugar
    │   │   ├── foreach.m4
    │   │   └── m4sugar.m4
省略了许多不重要的文件

问题是,内置的
bison
二进制文件总是从内置的同一绝对路径中查找
m4sugar
文件

如果
bison
被放在其他机器上的某个随机路径中,它将报告

./bison: /home/users/yuhao10/bison-3.4/output/share/bison/m4sugar/m4sugar.m4: cannot open: No such file or directory

有没有一种方法可以从相对路径为
m4sugar
等数据文件构建或运行loos的
bison

您能看看文件/home/users/yuhao10/bison-3.4/output/share/bison/m4sugar/m4sugar.m4吗?它存在吗?我怀疑它存在,但由于错误的CPU体系结构而无法运行(请使用
file/home/users/yuhao10/bison-3.4/output/share/bison/m4sugar/m4sugar.m4
)来检查这一点。您能看看文件/home/users/yuhao10/bison-3.4/output/share/bison/m4sugar/m4sugar.m4吗?它存在吗?我怀疑它存在,但由于错误的CPU体系结构而无法运行(请使用
file/home/users/yuhao10/bison-3.4/output/share/bison/m4sugar/m4sugar.m4
检查此问题)。