我知道这个问题已经在其他地方被问过,例如在这里,但我在那里找不到我的具体问题的解决方案。
我一直在尝试在 Linux 上安装软件Ipopt,按照文档中的说明进行操作,但是当我运行 make 时出现以下错误:
/obs/xxx/Ipopt-3.12.8/build/ThirdParty/ASL/.libs/libcoinasl.so: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make[3]: *** [ipopt] Error 1
make[3]: Leaving directory `/xxx_home/xxx/Ipopt-3.12.8/build/Ipopt/src/Apps/AmplSolver'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/xxx_home/xxx/Ipopt-3.12.8/build/Ipopt/src/Apps'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/xxx_home/xxx/Ipopt-3.12.8/build/Ipopt'
make: *** [all-recursive] Error 1
根据上面的帖子,解决这个问题的方法是包含 -lrt 标志,但我不知道我是否应该将它插入到 make 文件中,在什么 makefile 中,以及在 makefile 中的确切位置。仅供参考,这是我一直在使用的Ipopt 存档,您可以在其中找到 Makefile,这是有关我的 linux 发行版的一些信息
$ uname -or
3.2.0-0.bpo.4-amd64 GNU/Linux
$ lsb_release -irc
Distributor ID: Debian
Release: 6.0.10
Codename: squeeze
谢谢你。