# 00:14:11 |
y_morin |
quits : Quit: Night! |
# 06:22:10 |
sh4rm4 |
quits : Ping timeout: 276 seconds |
# 06:23:05 |
sh4rm4 |
joins #crosstool-ng |
# 07:47:16 |
mnt_real |
quits : Quit: Leaving |
# 08:46:00 |
smartin |
joins #crosstool-ng |
# 14:10:05 |
smartin |
quits |
# 14:16:17 |
smartin |
joins #crosstool-ng |
# 14:26:25 |
sh4rm4 |
quits : Ping timeout: 276 seconds |
# 14:27:17 |
sh4rm4 |
joins #crosstool-ng |
# 14:43:19 |
fauno |
quits : Ping timeout: 276 seconds |
# 14:53:20 |
fauno |
joins #crosstool-ng |
# 15:53:06 |
smartin |
quits : Ping timeout: 258 seconds |
# 15:54:04 |
smartin |
joins #crosstool-ng |
# 18:08:48 |
smartin |
quits : Ping timeout: 258 seconds |
# 20:11:42 |
smartin |
joins #crosstool-ng |
# 20:35:43 |
y_morin |
joins #crosstool-ng |
# 20:57:25 |
fauno |
o/ |
# 20:59:17 |
fauno |
y_morin: sorry to bother you every day... :) |
# 20:59:30 |
fauno |
i got the final glibc |
# 20:59:37 |
y_morin |
fauno: hello! Good! :-) |
# 21:00:10 |
fauno |
i removed the --libdir --libexecdir flags and the double sysroot was gone |
# 21:01:17 |
fauno |
but while building the final gcc i discovered it was just looking for libs at /usr/$target/lib and glibc has libs on this dir and /usr/$target/usr/lib (most on this one) |
# 21:01:53 |
y_morin |
fauno: you mean, relative to the sysroot? Or absolute paths? |
# 21:02:13 |
fauno |
absolute |
# 21:02:22 |
y_morin |
BAAADDD!!!! |
# 21:02:27 |
y_morin |
Just a sec... |
# 21:04:01 |
fauno |
sysroot is /usr/$target |
# 21:04:15 |
y_morin |
fauno: I have no toolchain here (I trashe all with a bad "rm -rf") so I'm bulding one to look at the structure |
# 21:04:42 |
y_morin |
fauno: Ha... |
# 21:04:56 |
y_morin |
fauno: and what --prefix do you give gcc ? |
# 21:05:23 |
fauno |
/usr |
# 21:06:36 |
y_morin |
fauno: OK, not really related to your issue, I guess, but I would *highly* suggest that you do *not* install in /usr! |
# 21:06:56 |
fauno |
anything? |
# 21:06:57 |
y_morin |
fauno: not until you've debgged your build scripts, at least. |
# 21:07:38 |
fauno |
i'm using a package manager on a chroot so i'll notice if it wants to overwrite something |
# 21:08:15 |
y_morin |
fauno: yes, a chroot is the minimum! ;-) |
# 21:08:22 |
y_morin |
fauno there are three rules: |
# 21:08:32 |
y_morin |
1) don't build as root |
# 21:08:43 |
y_morin |
2) glibc's prefix is /usr |
# 21:09:05 |
y_morin |
3) gcc's sysroot is a subdir of gcc's prefix |
# 21:09:56 |
y_morin |
The first will tell you if the install tries to install files where it should not, because you'll not have appropriate rights to do so |
# 21:10:12 |
fauno |
i think i have all of the covered |
# 21:10:12 |
y_morin |
The second will already saw, it's glibc's black-magic |
# 21:10:24 |
fauno |
makepkg uses fakeroot |
# 21:10:45 |
fauno |
and gcc is prefix=/usr sysroot=/usr/$target |
# 21:11:07 |
fauno |
is that ok? |
# 21:11:27 |
y_morin |
fauno: just a sec, the toolchain is almost built, here... |
# 21:11:34 |
fauno |
that was quick |
# 21:11:44 |
y_morin |
fauno: yes, it looks sane to me |
# 21:12:20 |
y_morin |
fauno: hyper-threaded hexa-core + 6GiB RAM + 4x HDD is RAID5... *That* is a fast machine, indeed ! :-) |
# 21:12:37 |
y_morin |
but still, too slow for me... :-] |
# 21:12:37 |
fauno |
ok the error is that target-ld fails just after libgcc ends |
# 21:13:03 |
fauno |
it tries to use /lib/libc.so.6 |
# 21:13:10 |
y_morin |
fauno: are you doing reall cross compilation, or just something like i386 -> x86_64 ? |
# 21:13:20 |
fauno |
i686 -> mips64el |
# 21:13:31 |
y_morin |
Ah, true cross-compile, then |
# 21:14:23 |
y_morin |
fauno: caould you try, just to check, with gcc's (and binutil's) prefix set to a depper directory, such as ${HOME}/test |
# 21:14:35 |
y_morin |
deeper |
# 21:17:25 |
fauno |
so rebuild binutils and gcc with prefix=!/usr |
# 21:17:50 |
y_morin |
fauno: that would rule-out that gcc has black-magic if --prefix is /usr (I doubt it, though) |
# 21:18:26 |
fauno |
sysroot? |
# 21:19:16 |
y_morin |
fauno: sysroot must be below the new prefix, eg: prefix=/home/toto/test and sysroot=/home/toto/test/$target |
# 21:19:28 |
y_morin |
fauno: hold on! |
# 21:19:49 |
fauno |
jumps and rolls |
# 21:20:13 |
y_morin |
In crosstool-NG, we use a sysroot like : ${prefix}/${target}/sysroot |
# 21:20:27 |
fauno |
aha... |
# 21:21:05 |
y_morin |
Notice that the sysroot is not exactly the same as yours. Yours is the place used before sysroot support existed. And there are corner cases to that... :-( |
# 21:21:34 |
fauno |
but i'm using prefix and sysroot |
# 21:22:39 |
fauno |
btw since glibc installed libs on $sysroot/lib and $sysroot/usr/lib and gcc was only looking at first one |
# 21:22:56 |
y_morin |
fauno: not too sure about this... :-/ I know it works here when prefix is not /usr and sysroot is ${prefix}/${target}/sysroot |
# 21:23:16 |
fauno |
i symlinked them (from usr/lib/* to lib/*) |
# 21:23:19 |
y_morin |
fauno: yes, I think that was the behavior before sysroot support was added |
# 21:23:44 |
fauno |
so sysroot=/usr/$target isn't an actual sysroot? |
# 21:23:47 |
y_morin |
fauno: just a sec... |
# 21:24:28 |
fauno |
i can show you my glibc contents |
# 21:24:51 |
y_morin |
fauno: http://crosstool-ng.org/hg/crosstool-ng/file/188d58cfe7cf/scripts/crosstool-NG.sh.in#l268 <- look at the 'else' branch of the 'if' |
# 21:25:20 |
y_morin |
fauno: and although it is called 'sysroot', it does not behave as such. |
# 21:27:07 |
fauno |
i have to go i'll be back in a few minutes |
# 21:27:13 |
y_morin |
fauno: see ya! |
# 21:35:59 |
y_morin |
is now known as: y_morin|away |
# 21:42:46 |
fauno |
y_morin|away: oh you're away |
# 21:47:47 |
fauno |
libc.so.6 is under /usr/$target/lib... |
# 22:20:27 |
al` |
quits : Read error: Connection reset by peer |
# 22:20:38 |
al` |
joins #crosstool-ng |
# 22:21:06 |
y_morin|away |
is now known as: y_morin |
# 22:40:55 |
fauno |
/usr/mips64el-unknown-linux-gnu/bin/ld: skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6 |
# 22:45:35 |
y_morin |
fauno: and then it does not search some more ? |
# 22:47:40 |
fauno |
http://pastie.org/3210245 |
# 22:48:45 |
fauno |
this with prefix=/usr |
# 22:50:19 |
y_morin |
fauno: no idea. If I were you, I'd first try as above, with a different prefix for gcc+binutils, (and moce sysroot below that). |
# 22:51:10 |
y_morin |
has a headache debugging autostuff... Jeez, it's so... autostuff. :-( |
# 22:51:42 |
y_morin |
And gnu.org is down for SOPA/PIPA, so the doc is not available... :-( |
# 22:57:50 |
smartin |
quits |
# 23:35:37 |
mnt_real |
joins #crosstool-ng |
# 23:39:17 |
fauno |
quits : Ping timeout: 252 seconds |
# 23:41:57 |
y_morin |
quits : Quit: Night! |
# 23:43:05 |
fauno |
joins #crosstool-ng |