2011-11-24 73 views
6

Doom 3的編譯錯誤,當我運行scons的來自新文件夾在我的提取源代碼樹的命令,我得到下面的輸出:使用SCons/Ubuntu上

[email protected]:~/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') 

,如果它失去了一些東西,我不能告訴,沒有引用什麼或什麼。這確實發生在一個新的提取到新的文件夾中。

謝謝!

回答

3

嘗試安裝m4宏包 - 或許scons正在尋找它,這是它報告缺失工具的方式?

+0

會通過apt-get嗎? – NRoach44

+0

剛剛通過apt-cache發現它。我會回報。 – NRoach44

+0

謝謝!這解決了它。現在我必須解決另一個問題... – NRoach44

11

sudo apt-get install m4

,對我固定的問題...

後來我:

scons: done reading SConscript files. scons: Building targets ... scons: building associated VariantDir targets: 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 In file included from d3xp/../idlib/precompiled.h:142:0, from d3xp/AF.cpp:29: d3xp/../idlib/../renderer/qgl.h:51:19: fatal error: GL/gl.h: No such file or directory compilation terminated. scons: *** [build/debug/d3xp/d3xp/AF.os] Error 1 scons: building terminated because of errors.

固定方式:

sudo apt-get install libgl1-mesa-dev

然後起身:

In file included from build/debug/core/glimp/sys/linux/glimp_dlopen.cpp:3:0: ./sys/linux/local.h:40:38: fatal error: X11/extensions/xf86vmode.h: No such file or directory compilation terminated. scons: *** [build/debug/core/glimp/sys/linux/glimp_dlopen.o] Error 1 scons: building terminated because of errors.

固定方式:

sudo apt-get install libxxf86vm-dev

然後起身:

In file included from openal/stubs.cpp:29:0: openal/../sound/snd_local.h:44:19: fatal error: AL/al.h: No such file or directory compilation terminated.

固定方式:

sudo apt-get install libopenal-dev

然後起身:

In file included from sys/linux/sound.cpp:42:0: sys/linux/sound.h:90:28: fatal error: alsa/asoundlib.h: No such file or directory compilation terminated. scons: *** [build/debug/core/sys/linux/sound.o] Error 1 scons: building terminated because of errors.

固定方式:

sudo apt-get install libasound2-dev

然後起身:

/usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status scons: *** [build/debug/core/sys/scons/doom] Error 1 scons: building terminated because of errors.

固定方式:

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

最後:

Install file: "build/debug/core/sys/scons/doom" as "doom.x86" Install file: "build/debug/game/sys/scons/libgame.so" as "gamex86-base.so" Install file: "build/debug/d3xp/sys/scons/libgame.so" as "gamex86-d3xp.so" scons: done building targets.

也請您查看: http://mapopa.blogspot.com/2011/11/building-doom3-gpl-code-on-ubuntu.html

+0

感謝您的鏈接。 – NRoach44

+0

+1除了你推薦的,我遇到了編譯curl的錯誤:http://lists.gobolinux.org/pipermail/gobolinux-users/2004-December/000370.html(我得到了同樣的錯誤) - 這個網站http://wiki.iodoom3.org/Downloading_and_Compiling_under_Linux建議運行'scons NOCURL = 1',所以我試圖.. – magnetar