我想要在運行3.0.0-21-通用內核的x86_64系統上編譯llvm-gcc 4.2.2.9。 llvm 2.9本身就很好。我懷疑llvm-gcc的可下載版本導致了一些其他問題,所以我決定自己構建llvm-gcc。使用gcc編譯內核3.0上的LLVM 2.9的gcc 4.2 4.6
就像在README.LLVM
建議我配置了
../llvm-gcc-4.2-2.9.source/configure \
--prefix=/opt/llvm-gcc4.2-2.9/../llvm-gcc4.2-2.9-install \
--disable-multilib \
--program-prefix=llvm- \
--enable-llvm=/opt/llvm-2.9 \
--host=x86_64-generic-linux-gnu
--enable-languages=c,c++
我從/opt/llvm-gcc4.2-2.9
目錄運行此,而源坐在/opt/llvm-gcc-4.2-2.9.source
和我LLVM 2.9生活/opt/llvm-2.9
。請注意,我正在設置--host
而不是--target
,因爲這隱式地將--target
設置爲相同的體系結構。
make
確實建了很多東西(產生警告的相當大的量)時,終於在這個錯誤停止:
make[3]: Entering directory `/opt/llvm-gcc4.2-2.9/gcc'
/opt/llvm-gcc4.2-2.9/./gcc/xgcc -B/opt/llvm-gcc4.2-2.9/./gcc/ -B/opt/llvm-gcc4.2-2.9/../llvm-gcc4.2-2.9-install/x86_64-generic-linux-gnu/bin/ -B/opt/llvm-gcc4.2-2.9/../llvm-gcc4.2-2.9-install/x86_64-generic-linux-gnu/lib/ -isystem /opt/llvm-gcc4.2-2.9/../llvm-gcc4.2-2.9-install/x86_64-generic-linux-gnu/include -isystem /opt/llvm-gcc4.2-2.9/../llvm-gcc4.2-2.9-install/x86_64-generic-linux-gnu/sys-include -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I../../llvm-gcc-4.2-2.9.source/gcc -I../../llvm-gcc-4.2-2.9.source/gcc/. -I../../llvm-gcc-4.2-2.9.source/gcc/../include -I../../llvm-gcc-4.2-2.9.source/gcc/../libcpp/include -I../../llvm-gcc-4.2-2.9.source/gcc/../libdecnumber -I../libdecnumber -I/opt/llvm-2.9/include -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-omit-frame-pointer -fno-asynchronous-unwind-tables \
-c ../../llvm-gcc-4.2-2.9.source/gcc/crtstuff.c -DCRT_BEGIN \
-o crtbegin.o
In file included from /usr/include/stdio.h:28,
from ../../llvm-gcc-4.2-2.9.source/gcc/tsystem.h:90,
from ../../llvm-gcc-4.2-2.9.source/gcc/crtstuff.c:68:
/usr/include/features.h:323:26: error: bits/predefs.h: No such file or directory
/usr/include/features.h:356:25: error: sys/cdefs.h: No such file or directory
/usr/include/features.h:388:23: error: gnu/stubs.h: No such file or directory
我覺得有些奇怪的是,包括路徑從我的系統stdio.h
回到雲llvm-gcc
標題,然後再次嘗試包含系統標題。但也許這是正常的?
之後,出現錯誤的數百行錯誤出現在來自同一編譯單元的之後。
難道是我的系統的gcc 4.6.1或我的系統的頭可能與日期的llvm-gcc 4.2頭不兼容嗎?然後再次,我知道在一個不同的系統上(運行2.6內核),gcc 4.5.2在llvm 2.7的gcc 4.2中表現良好。
我在這裏不知所措,因爲我確實需要最近的llvm 2. *,而其他兩個可接受的llvm版本(2.7,2.8)沒有顯示任何結果更有幫助。
也許一個愚蠢的問題,但你嘗試LLVM-3.0或LLVM-3.1鐺? –
@ honk:我沒有。主要是因爲我對llvm> = 3.0沒有任何用處。我*需要* llvm-gcc和llvm 2.9(或8或7)。 – bitmask