在 Ubuntu 14.04 上构建 Celestia

在 Ubuntu 14.04 上构建 Celestia

我想在我的 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 时出现两个错误,可以解决:

  1. #include "mathlib.h"在文件中intersect.h
  2. #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 版本一起编译。

相关内容