我想在我的 Ubuntu 14.04 机器上构建 Celestia-1.6.1,但是,似乎无法使用 gcc 版本 4.9.1 轻松地做到这一点。
我使用的源文件来自http://sourceforge.net/projects/celestia/files/
正在运行的./configure --with glut
作品:
***************************************************************
** Celestia configuration complete. Now do a 'make' followed **
** by 'make install' **
***************************************************************
Front-End: GLUT
Use Lua: yes
Use Theora: auto
然后我在运行 make 时出现两个错误,可以解决:
#include "mathlib.h"
在文件中intersect.h
#include <cstddef>
在文件中frametree.h
但是我无法修复最后一个错误:
/usr/bin/ld: ../celengine/libcelengine.a(libcelengine_a-glext.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libdl.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
有谁成功完成这个构建吗?
答案1
我建议您使用 SVN 的最新源代码。Celestia 1.6.1 相当老旧。Celestia 1.7 从未发布过,但已经接近发布。目前 Celestia SVN 中没有任何开发。
Celestia 1.7 推荐的 UI 是 QT4。构建此 UI 的 Makefile 是使用 qmake 生成的,而不是使用 GNU autotools。
编辑 celestia.pro。
运行 qmake
并 make
更多详情请见:http://en.wikibooks.org/wiki/Celestia/Development/Qt4
因为官方 SourceForge SVN 中的开发已经停止,所以我刚刚启动了一个包含最新 Celestia 源的 git repo:https://github.com/bgodard/celestia-g2。它包含一个为 Celestia 添加新功能的补丁。
如果您确实想要构建 Celestia 1.6.1,您可能需要从 Ubuntu repo 获取源包并查看可能已应用哪些补丁以使其与最新的 gcc 版本一起编译。