I am trying to create OpenWebOS and just follow the plan outlined in the build-webos GitHub README. I am using the new 32-bit installation of Ubuntu 12.10. Things were a little bumpy.
However, with the settings here and there, I managed to go up to step 350 out of 2500 or (or something else) before it crashes. The problem is depending on the build of glibc, and it complains about
(...)/sysdeps/i386/start.S:107: undefined reference to `__libc_csu_fini' (...)/sysdeps/i386/start.S:108: undefined reference to `__libc_csu_init'
A search on the Internet shows various cases when people come across them when they don't build glibc:
ld complains: in the function "_start", an undefined reference to "__ libc_csu_fini" and "__ libc_csu_init"
A link to a C program directly with ld fails with an undefined link to `__libc_csu_fini`
But this is during the build of the custom inline LIBC: eglibc. So this is a little different, and the closest case I can find is the 2009 thread in the OpenEmbedded list . I'm not sure how to incorporate their patch into the confusing "bakefile" tab of the universe of the webOS build structure, which seems dizzy.
A command-line monster that fails will βsimplifyβ a bit for the following:
gcc -m32 -march = i586 --sysroot = / home / webos / build-webos / BUILD-qemux86 / sysroots / qemux86-tcbootstrap -nostdlib -nostartfiles -o iconv / iconvconfig -Wl, -dynamic-linker = / lib / ld -linux.so.2 -Wl, -z, combreloc -Wl, -z, relro -Wl, - hash-style = both 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` iconv / iconvconfig.o iconv / strtab.o iconv / xmalloc.o iconv / hash-string.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, - as needed elf / ld.so -Wl, - no -s-needed -lgcc `gcc -m32 -march = i586 --sysroot = / home / webos / build-webos / BUILD-qemux86 / sysroots / qemux86-tcbootstrap --print-file-name = crtend.o` csu / crtn.o
I have the file libc.a and libc_nonshared.a in the directory. In the unspoken version, there is no mention of __libc_csu_init or __libc_csu_fini , but they are in the usual libc.a. This seems to be the opposite, from what it seems to people, as if it should be true, though ... when I look in /usr/lib/i386-linux-gnu for what happened with Ubuntu, this is said as common and minor versions. Hmmm.
If someone reads this and goes "hey bet I know what is happening!" it would be great.: -)