ibotlog2html for #crosstool-ng

<< Previous 2012-02-29 Next >>

# 00:34:19 Tick_ quits : Quit: Leaving
# 07:57:40 smartin joins #crosstool-ng
# 17:52:10 y_morin joins #crosstool-ng
# 18:27:12 y_morin is now known as: y_morin|away
# 18:32:42 y_morin|away is now known as: y_morin
# 19:13:11 Tick_ joins #crosstool-ng
# 19:14:12 Tick_ Hi, Yann. Tick again. Another quick question.
# 19:14:31 Tick_ You there?
# 19:16:11 y_morin is now known as: y_morin|away
# 20:28:18 Tick_ I guess Yann. won't come back here for a while. Anybody here can help me understand the problem?
# 20:29:50 Tick_ When I tried to cross compile a RAID driver, it needs ; however, I didn't fine this header file in the toolchain
# 20:30:41 smartin quits
# 20:31:14 Tick_ I tried manually install headers (as a test) by issue the command "make ARCH=x86_64 INSTALL_HDR_PATH= headers_install" and I didn't find the compiler.h being installed under "dest dir" either.
# 20:32:11 Tick_ What did I do wrong?
# 20:35:24 Tick_ Do I need the sanitized header like the package "linux-libc-headers-" being provided by the project? But that version is 2.6.12?? I am going to use the kernel 3.0.22.
# 20:35:50 Tick_ Nobody here?
# 20:36:14 Tick_ Hmmm.... ok. I guess I will just wait.
# 21:09:08 y_morin|away is now known as: y_morin
# 21:10:53 y_morin Tick_: Hey! Back, now. Just a sec as I get up to speed wrt a few other things...
# 21:12:50 y_morin Tick_: I assume that by building a "driver" you mean a "kernel module", right?
# 21:13:30 y_morin Tick_: In that case, the kernel modules require a full kernel-tree, not sanitised headers
# 21:13:48 y_morin Tick_: (and forget about the linux-libc-headers-, they are legacy, and dead).
# 21:14:23 y_morin Tick_: also, it is highly probable that your kernel tree must be configured, which is the case if you already compiled the kernel.
# 21:15:58 y_morin Tick_: otherwise, you can 'configure' a kernel tree thusly:
# 21:16:29 y_morin 1) configure the kernel proper, you must have a .config
# 21:16:48 y_morin 2) run: make ARCH=blabla prepare
# 21:17:22 y_morin 3) then you can build your kernel module: make -C /kernel/build/dir M=$(pwd) module
# 21:18:05 y_morin (or something very like this; see Documentation/kbuild/modules.txt, chapter 2: How to Build External Modules)
# 21:20:26 y_morin Tick_: Just for the records: linux/compiler.h is an header for use by the kernel *exclusively*, so it is *not* exported to userland.
# 21:21:05 Tick_ Thanks Yann. I think it's a kernel module (You know, I was just following the failure point). However, like I mentioned before (I you remember :-)), we have this build system for 32-bit build for a long time and it never gave errors.
# 21:21:34 Tick_ I saw the sanitized headers being provided in the 32-bit toolchain. (From crosstool-ng as well)
# 21:22:15 y_morin Tick_: "sanitised headers" usually come from running "make headers_install" in a kernel tree.
# 21:22:23 Tick_ And the configuration was with CT_KERNEL_LINUX_HEADERS_CUSTOM_DIR for that 32-bit (This configuration is obsolete in 1.14.1)
# 21:22:36 Tick_ toolchain
# 21:22:41 y_morin Tick_: the linux-libc-headers- is the effort done before headers_install was operational.
# 21:22:54 Tick_ Got it.
# 21:23:17 Tick_ Ok. Now the question is why I don't see it (compiler.h) in sysroot?
# 21:23:35 Tick_ Why headers_install don't install it?
# 21:23:45 y_morin Tick_: because the sysroot is userland, so it is not there, _on purpose_.
# 21:24:00 Tick_ Oh...
# 21:24:27 y_morin Tick_: when you build a kernel module, you don't use the sysroot, but only the files from the kernel source dir.
# 21:25:51 Tick_ I don't understand why it worked for 32-bit build then. :-( To my understanding. We had the kernel as the last part of the build.
# 21:26:25 Tick_ It's not related to the question. I was just trying to figure out which part was wrong
# 21:26:44 Tick_ It's not crosstool-ng. It's my system. it's a bit off topic :-)
# 21:26:47 smartin joins #crosstool-ng
# 21:27:17 y_morin Tick_: probably because your "custom kernel headers" was a hacked/borked set of headers improperly setup. (not judging at all).
# 21:27:40 y_morin Tick_: so compiler.h was in the sysroot, when it should not have been.
# 21:27:57 Tick_ Yeah. I think so. Because when I directly copied that file over to sysroot and the compilation could continue.
# 21:28:22 Tick_ Anyway, the content of compiler.h is empty from the sanitized headers.
# 21:28:33 Tick_ I meant linux-libc-headers-2.6.12
# 21:29:15 Tick_ What could be the consequence of that?
# 21:29:28 Tick_ I meant I am starting to worry about the 32-bit system.
# 21:29:30 Tick_ the build.
# 21:30:13 y_morin Tick_: I don't know what the consequences could be. Probably broken modules.
# 21:30:46 Tick_ Seriously? That's for the RAID controller.... my goodness.
# 21:31:29 Tick_ Let me double check it again. Maybe that's the build for the userland utilities, not for modules.
# 21:31:33 y_morin Tick_: Looking at the content of compiler.h in the kernel source tree, it missing completely implies breakage along the road... :-/
# 21:32:31 Tick_ I know. The content is absolutely different.
# 21:32:50 y_morin Tick_: For userland, probably no breakage.
# 21:33:19 Tick_ But for userland utility, why does the code need ?
# 21:33:31 y_morin Tick_: most of the file is protected by #ifdef __KERNEL__ ... #endif, so it should not impact userland.
# 21:33:40 y_morin Tick_: because it is broken code?
# 21:33:43 y_morin :-/
# 21:35:32 Tick_ Yeah... Ok. Looks like it's for a utility.
# 21:35:46 Tick_ Almost scared my heart out.
# 21:37:25 y_morin Tick_: still, you could observe breakage, because compiler-gcc.h (include from first) defines __aligned(x), so missing this could imply broken code *iff* alignment matters to it.
# 21:39:36 Tick_ it's not the only one. It includes , , ...
# 21:40:21 y_morin Tick_: if this utility is meant to talk to the kernel module, then it can be legit for it ot include the real kernel headers from the kernel tree, not from the sysroot.
# 21:41:15 Tick_ Got it. Thanks. So what I have to do is either changing the source (Which is very unlikely) or I have to find out the way to use the kernel tree.
# 21:41:25 Tick_ right?
# 21:41:56 y_morin Tick_: Tweak the compile flags to include the kernel headers first, with -I/kernel/tree/include
# 21:42:18 Tick_ Ok. I will do it.
# 21:43:09 y_morin Tick_: but the above are just wild guesses, without complete knowledge of the context... Be careful...
# 21:43:50 Tick_ When I compiled it with the hack (copying compiler.h to sysroot), it failed at the other place complaining about the c++ header wctype.h. Is that the same thing?
# 21:44:53 y_morin Tick_: wctype.h is about widechars, so should be in the sysroot *if* you selected widechars in your toolchain (forced on for glibc, optional for uClibc).
# 21:46:12 Tick_ I did use glibc but I don't see it in sysroot
# 21:46:41 Tick_ it's at include/c++/4.4.3/trl/wctype.h
# 21:46:51 Tick_ But not at ./sysroot/usr/include
# 21:47:06 y_morin Tick_: it's right there in my sysroot: ./arm-unknown-linux-gnueabi/sysroot/usr/include/wctype.h
# 21:47:13 y_morin gcc-4.3.2
# 21:47:23 Tick_ Something changed for 4.4.3?
# 21:47:35 Tick_ I followed your suggestion, use the latest one. :-)
# 21:47:38 y_morin Tick_: I'll rebuild a toolchain in a sec...
# 21:47:41 Tick_ Just kidding.
# 21:50:05 y_morin Tick_: Except for the download, re-building the toolchain on my machine is a matter of ~20 minutes, so it's not too long...
# 21:50:06 y_morin ;-)
# 21:50:35 y_morin GTG, BBL...
# 21:50:38 y_morin is now known as: y_morin|away
# 22:06:45 imMute quits : Ping timeout: 248 seconds
# 22:07:30 imMute joins #crosstool-ng
# 22:07:36 imMute quits : Changing host
# 22:07:36 imMute joins #crosstool-ng
# 22:20:56 y_morin|away is now known as: y_morin
# 22:22:06 y_morin Tick_: wctycomes from the C library. What C library are you using?
# 22:22:38 y_morin s/wctycomes/wctype.h comes/
# 22:23:06 y_morin Tick_: for the records: glibc-2.9 and 2.14.1 install it.
# 22:25:52 Tick_ You meant the host system?
# 22:27:05 Tick_ for the toolchain it's glibc-2.9
# 22:28:33 Tick_ ??
# 22:40:39 Tick_ y_morin: You still there?
# 22:41:29 y_morin Tick_: I mean for the cross toolchain.
# 22:45:44 Tick_ Yes. 2.9
# 22:45:54 Tick_ gcc 4.4.3
# 22:46:15 Tick_ I am reinstalling it as well.
# 22:46:23 Tick_ I meant rebuilding it.
# 23:38:10 smartin quits
# 23:48:58 y_morin quits : Quit: Night!

Generated by ibotlog2html by Yann E. MORIN