我尝试运行一个二进制文件时,遇到了一些奇怪的行为。我使用的是 Mac OSX snow leopard,二进制文件本身是 labkey 软件的一部分……从源代码构建的。
如果我尝试使用绝对路径运行该文件,它将不起作用。失败并出现类似以下错误
-bash /Users/me/Sources/labkey/build/bin/program:无法执行二进制文件
但是,如果我更改为目录 /Users/me/Sources/labkey/build/bin/program 并通过输入其名称来运行二进制文件,它就可以正常工作。
我探索了执行该文件的多种排列组合。
如果我尝试在目录 /Users/me/Sources/labkey/external/osx/bin/program 中运行
。/程序
我收到上述错误,但如果我使用
程序
我没有收到错误。
对于可能出现的问题有什么想法吗?
谢谢您的回答,只是添加了更多信息;文件 ./program 的输出是;
./Program: ELF 64 位 LSB 可执行文件,x86-64,版本 1 (SYSV),动态链接(使用共享库),适用于 GNU/Linux 2.6.4,未剥离
“哪个程序”的输出是;
用户/我/来源/labkey/build/bin/program
答案1
您可能有另一个要运行的文件的安装。当您运行该文件时没有使用“./”,它可能从系统上的其他地方调用该文件(因为它在您的 PATH 中)。
执行“哪个程序”来查看您是否确实调用了正确的文件。