我正在尝试构建OpenWebOS,并遵循构建-webos GitHub自述的计划。我正在使用一个新的32位Ubuntu 12.10安装。事情有点颠簸。
然而,在这里和那里进行了一些调整后,我设法在它出错之前从2500或(或其他)中爬到了第350步。问题在于构建glibc的依赖性,它在抱怨
(...)/sysdeps/i386/start.S:107: undefined reference to `__libc_csu_fini'
(...)/sysdeps/i386/start.S:108: undefined reference to `__libc_csu_init'
搜索网页可以发现,人们在不构建glibc本身的情况下也会发生这种情况:
但这是在构建自定义嵌入式LIBC: eglibc期间。所以这有点不同,我能找到的最接近的例子就是这个OpenEmbedded列表上的2009年线程。我不知道如何在令人困惑的"bakefile"-laden宇宙的WebOS构建结构中应用它们的补丁,这是令人眩晕的奇怪之处。
正在失败的命令行的怪物--我将把它“简化”到以下几点:
gcc --sysroot=/home/webos/build-webos/BUILD-qemux86/sysroots/qemux86-tcbootstrap -m32 -march=i586 -nostdlib -nostartfiles -o -Wl/iconvconfig,-dynamic-linker=/lib/ld-linux.so.2 -Wl,-z,combreloc -Wl,-z,relro -Wl,-散列样式= csu/crt1.o csu/crti.o
gcc -m32 -march=i586 --sysroot=/home/hostilefork/Projects/webos/build-webos/BUILD-qemux86/sysroots/qemux86-tcbootstrap --print-file-name=crtbegin.o
gcc/iconvconfig.o crt1.o/strtab.o指标v/xmalloc.o/散列-o -Wl,-rpath-link=/home/webos/build-webos/BUILD-qemux86/work/i586-webos-linux/eglibc-2.16-r15+svnr20393/build-i586-webos-linux:math:elf:dlfcn:nss:nis:rt:resolv:crypt:nptl libc.so.6 libc_nonshared.a -Wl,--作为需要的精灵/ld.so -Wl,--不需要-lgccgcc -m32 -march=i586 --sysroot=/home/webos/build-webos/BUILD-qemux86/sysroots/qemux86-tcbootstrap --print-file-name=crtend.o
csu/crtn.o
目录中有一个libc_nonshared.a文件和一个libc.a文件。在非共享版本中没有提到__libc_csu_init
或__libc_csu_fini
,但它们在普通的libc.a中。从人们的行为上看,这似乎是倒退的,尽管.当我在/usr/lib/i386-linux-gnu
中查找Ubuntu带来的内容时,共享版本和非共享版本都提到了这一点。嗯。
如果有人读到这个,然后说:“嘿,我肯定知道发生了什么!”那会很棒的。:-)
发布于 2013-03-11 15:24:49
不幸的是,WebOS构建-桌面支持只有Ubuntu 12.04。
安装Ubuntu12.04并按照https://github.com/openwebos/build-webos的说明执行
https://stackoverflow.com/questions/15277622
复制相似问题