Scons / Doom 3在ubuntu上编译错误

时间:2011-11-24 08:33:17

标签: linux compilation

当我从提取的源代码树中的neo文件夹运行scons命令时,我得到以下输出:

nroach44@ASUS-P5G43T-U1110:~/Source/doom3engine/neo$ scons
scons: Reading SConscript files ...
Loading build configuration from site.conf:
  BUILD_GAMEPAK='0'
  JOBS='1'
  DEDICATED='0'
  SILENT='0'
  GL_HARDLINK='0'
  ID_MCHECK='2'
  BUILD_ROOT='build'
  ALSA='1'
  CC='gcc'
  TARGET_D3XP='1'
  TARGET_CORE='1'
  BUILD='debug'
  TARGET_GAME='1'
  TARGET_MONO='0'
  BASEFLAGS=''
  CXX='g++'
  NOCURL='0'
  DEBUG_MEMORY='0'
  IDNET_HOST=''
  LIBC_MALLOC='1'
  ID_NOLANADDRESS='0'
  TARGET_DEMO='0'
AttributeError: 'SConsEnvironment' object has no attribute 'M4':
  File "/home/nroach44/Source/doom3engine/neo/SConstruct", line 422:
    SConscript( g_build + '/core/glimp/sys/scons/SConscript.gl' )
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 614:
    return method(*args, **kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 551:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 260:
    exec _file_ in call_stack[-1].globals
  File     "/home/nroach44/Source/doom3engine/neo/build/debug/core/glimp/sys/scons/SConscript.gl", line 69:
gl_env.M4( i_m4, i_m4 + '.m4' )

我不知道它是否遗漏了什么,没有引用某些内容或什么。从新提取到新文件夹也会发生这种情况。

谢谢!

2 个答案:

答案 0 :(得分:11)

  

sudo apt-get install m4

解决了我的问题...

然后我得到了:

   scons:完成阅读SConscript文件。 scons:建立目标......   scons:构建相关的VariantDir目标:build / debug / core / glimp   build / debug / core build / debug / game build / debug / d3xp g ++ -o   build / debug / d3xp / d3xp / AF.os -c -fPIC -pipe -Wall -Wno-unknown-pragmas   -fmessage-length = 0 -fpermissive -fvisibility = hidden -m32 -g -O1 -D_DEBUG -fno-strict-aliasing -D_D3XP -DCTF -DGAME_DLL d3xp / AF.cpp在d3xp /../ idlib / precompiled中包含的文件中。 H:142:0,                    来自d3xp / AF.cpp:29:d3xp /../ idlib /../ renderer / qgl.h:51:19:致命错误:GL / gl.h:没有这样的   文件或目录编译已终止。 scons:***   [build / debug / d3xp / d3xp / AF.os]错误1 scons:建筑已终止   因为错误。

修正:

  

sudo apt-get install libgl1-mesa-dev

然后得到了:

  

包含来自的文件   建立/调试/型芯/ glimp / SYS / LINUX / glimp_dlopen.cpp:3:0:   ./sys/linux/local.h:40:38:致命错误:X11 / extensions / xf86vmode.h:否   此类文件或目录编译已终止。 scons:***   [build / debug / core / glimp / sys / linux / glimp_dlopen.o]错误1 scons:   建筑因错误而终止。

修正:

  

sudo apt-get install libxxf86vm-dev

然后得到了:

  

在openal / stubs.cpp中包含的文件中:29:0:   openal /../ sound / snd_local.h:44:19:致命错误:AL / al.h:没有这样的文件   或目录编译终止。

修正:

  

sudo apt-get install libopenal-dev

然后得到了:

  

在sys / linux / sound.cpp中包含的文件中:42:0:   sys / linux / sound.h:90:28:致命错误:alsa / asoundlib.h:没有这样的文件   或目录编译终止。 scons:***   [build / debug / core / sys / linux / sound.o]错误1 scons:building   由于错误而终止。

修正:

  

sudo apt-get install libasound2-dev

然后得到了:

  

/ usr / bin / ld:找不到-lz collect2:ld返回1退出状态   scons:*** [build / debug / core / sys / scons / doom]错误1 scons:building   由于错误而终止。

修正:

  

sudo apt-get install g ++ - multilib gcc-multilib   sudo apt-get install zlib1g-dev

最后:

  

安装文件:“build / debug / core / sys / scons / doom”as“doom.x86”安装   file:“build / debug / game / sys / scons / libgame.so”as“gamex86-base.so”   安装文件:“build / debug / d3xp / sys / scons / libgame.so”as   “gamex86-d3xp.so”scons:完成了建筑目标。

还请检查: http://mapopa.blogspot.com/2011/11/building-doom3-gpl-code-on-ubuntu.html

答案 1 :(得分:3)

尝试安装m4宏包 - 也许scons正在寻找它,这是报告缺少工具的方式吗?