# 01:05:34 |
devcoder |
quits : Quit: devcoder |
# 01:13:12 |
Eddiie |
quits : Quit: Page closed |
# 01:18:36 |
smartin |
quits : Quit: leaving |
# 03:19:48 |
imMute |
now you wait. |
# 03:54:06 |
herdingcat |
hi, what's the usage of sysroot in ct-ng installation directory? Can I install other libs to this place? |
# 03:54:26 |
imMute |
herdingcat: you know when you compile things normally how it looks for headers and libraries and stuff? |
# 03:54:41 |
herdingcat |
imMute, ah, got it. |
# 03:54:51 |
imMute |
the sysroot is where the cross compiler looks for those things. |
# 03:54:56 |
herdingcat |
imMute, So I can install other libs I need in that dir.. |
# 03:55:07 |
imMute |
so if you want to compile a library to be used by another program, put the headers and library files in the sysroot |
# 03:55:23 |
imMute |
(bonus is that you don't have to specify those things when compiling the other program) |
# 03:55:31 |
herdingcat |
imMute, got it... :) |
# 04:03:04 |
herdingcat |
imMute, it seems I cannot mkdir in sysroot |
# 04:03:14 |
herdingcat |
[huli@localhost sysroot]$ pwd |
# 04:03:15 |
herdingcat |
/home/huli/Projects/arm-devel-rpi/arm-rpi-linux-gnueabi/sysroot |
# 04:03:15 |
herdingcat |
[huli@localhost sysroot]$ mkdir opt |
# 04:03:15 |
herdingcat |
mkdir: cannot create directory `opt': Permission denied |
# 04:03:59 |
imMute |
permissions |
# 04:04:35 |
imMute |
also, you'll want to put the includes in /home/huli/Projects/arm-devel-rpi/arm-rpi-linux-gnueabi/sysroot/usr/include and the libraries in /home/huli/Projects/arm-devel-rpi/arm-rpi-linux-gnueabi/sysroot/usr/lib otherwise the compiler wont find them |
# 04:06:21 |
herdingcat |
imMute, because there's no ld.so.config so I need to copy those headers and libs to the default places, right? |
# 04:06:51 |
imMute |
ld.so.config has zero interaction when compiling. the places the compiler searches is hardcoded when the compiler was compiled |
# 04:09:48 |
herdingcat |
imMute, I installed openmpi so I need to copy those libs to the sysroot, right? |
# 04:10:26 |
imMute |
if you indend to compile something that uses that library. also, when you say "installed" did you install using the host computer's pacakge manager? |
# 04:12:19 |
herdingcat |
imMute, yes, I use Fedora |
# 04:12:31 |
imMute |
then you can't use those when cross compiling |
# 04:12:45 |
imMute |
they're compiled for your host computer, which is most likely not ARM |
# 04:12:56 |
herdingcat |
imMute, you are right... hmm |
# 04:13:11 |
herdingcat |
imMute, So I still need a platform to do compile ARM programs. |
# 04:13:30 |
imMute |
you have one - your fedora machine. |
# 04:17:05 |
herdingcat |
imMute, I mean, here's my current situation. I have compiled openmpi ARM version in mu x86_64 host and I need to compile other MPI-based programs which using the ARM openmpi libs and binaries. So is that possible? |
# 04:17:11 |
herdingcat |
*my |
# 04:17:44 |
imMute |
if you compiled the openmpi library using the cross-compiler, then copy the headers and library files to the cross-compiler sysroot, and off you go |
# 04:19:30 |
herdingcat |
imMute, but the ARM openmpi binaries are not executable in x86_64. |
# 04:19:54 |
imMute |
so? your host system won't be executing the binaries |
# 04:20:25 |
herdingcat |
imMute, so the MPI-based programs I wanna compile cannot be generated.. |
# 04:20:27 |
herdingcat |
right? |
# 04:20:32 |
imMute |
of course they can |
# 04:21:05 |
imMute |
the cross compiler can link against libraries that aren't compiled for the host system |
# 04:21:42 |
herdingcat |
imMute, cannot executable but can link against libs? |
# 04:23:01 |
imMute |
yes, that is the point of a cross-compiler |
# 04:23:15 |
imMute |
to link against a library, you don't have to execute anything from that library |
# 04:27:38 |
herdingcat |
imMute, that's interesting.... |
# 04:28:46 |
imMute |
not really. canadian cross compilers. those are interesting |
# 04:29:18 |
herdingcat |
imMute, what's canadian compiler? |
# 04:30:11 |
imMute |
a "canadian cross" is a term used to describe a cross compiler that was created on one architecture which targets a second, but intended to be run on a third. Like building the cross compiler on x86 that targets ARM, but the compiler is intended to run on a SPARC system. |
# 04:32:09 |
herdingcat |
imMute, is that possible? |
# 04:32:32 |
imMute |
possible? definitely. useful? not entirely |
# 04:33:21 |
herdingcat |
imMute, hmm, make sense. |
# 04:33:35 |
herdingcat |
imMute, ./configure --prefix=/home/huli/Projects/arm-devel-rpi/arm-rpi-linux-gnueabi/sysroot/opt/mpiblast --build=x86_64-redhat-linux --host=armv6-rpi-linux-gnueabi --with-mpi=/home/huli/Projects/arm-devel-rpi/arm-rpi-linux-gnueabi/sysroot/opt/openmpi |
# 04:34:00 |
herdingcat |
imMute, then still cannot find the mpicc compiler.. |
# 04:34:01 |
herdingcat |
checking for mpicc... no |
# 04:34:02 |
herdingcat |
checking for mpicxx... no |
# 04:34:02 |
herdingcat |
configure: error: no MPI C compiler found |
# 04:34:36 |
imMute |
that seems like openmpi is looking for a special compiler.. I've never used OpenMPI, so I have no idea |
# 04:36:30 |
herdingcat |
imMute, following paste would be more interesting: |
# 04:36:39 |
imMute |
pastebin it, please. |
# 04:36:51 |
herdingcat |
imMute, http://fpaste.org/pCDu/ |
# 04:37:22 |
herdingcat |
imMute, "C compiler cannot create executables" |
# 04:38:05 |
imMute |
heh, I've seen that before. And I recall it being that the ./configure script forgot that it was cross compiling, and tried to execute something it built (which obviously fails). no idea how to fix that, sorry. |
# 04:38:47 |
herdingcat |
imMute, okay.. |
# 04:41:27 |
herdingcat |
imMute, thank you very much.. |
# 04:46:26 |
herdingcat |
ls -l |
# 08:00:15 |
herdingcat |
quits : Remote host closed the connection |
# 08:39:29 |
smartin |
joins #crosstool-ng |
# 09:01:06 |
sfan5|OFF |
is now known as: sfan5 |
# 09:03:05 |
sfan5 |
parts #crosstool-ng |
# 10:44:27 |
y_morin |
joins #crosstool-ng |
# 12:36:50 |
smartin |
y_morin: hi |
# 12:38:14 |
smartin |
any specific reason to restrict CT_LOAD to an integer, and more specifically the -l argument passed to make? |
# 13:07:33 |
tdlrali |
joins #crosstool-ng |
# 13:17:03 |
herdingcat |
joins #crosstool-ng |
# 13:17:32 |
herdingcat |
y_morin, hey mate |
# 13:39:03 |
tdlrali |
quits : Quit: Page closed |
# 13:40:18 |
y_morin |
smartin: No, not really. 'load' can indeed be a float. |
# 13:40:23 |
y_morin |
herdingcat: howdy? |
# 13:41:40 |
herdingcat |
y_morin, I'm good and still working on cross-compile |
# 13:42:11 |
herdingcat |
y_morin, I have built up the openmpi well w/ the tool chain but seems cannot compile other MPI-based programs |
# 13:43:46 |
y_morin |
herdingcat: waht's the error? |
# 13:45:04 |
herdingcat |
y_morin, http://fpaste.org/Af8a/ |
# 13:45:29 |
y_morin |
herdingcat: what is the "MPI C compiler found" ? |
# 13:46:09 |
herdingcat |
y_morin, that makes me confused, I have installed ARM version openmpi in /home/huli/Projects/arm-devel-rpi/arm-rpi-linux-gnueabi/sysroot/opt/openmpi |
# 13:46:14 |
smartin |
y_morin: CT_LOAD could be the percentage of load... |
# 13:46:25 |
herdingcat |
y_morin, I think it would find the mpi C compiler |
# 13:46:41 |
herdingcat |
y_morin, let me paste config.log |
# 13:46:47 |
herdingcat |
y_morin, http://fpaste.org/gOif/ |
# 13:47:21 |
y_morin |
smartin: CT_LOAD has to be a value accepted by 'make -l'. |
# 13:48:21 |
smartin |
y_morin: yep, something like that: -l$((${CT_LOAD}/100)).$((${CT_LOAD}%100)) |
# 13:48:27 |
y_morin |
smartin: as 'make -l' accepts a floating-point number, CT_LOAD can indeed be a float (and not an integer). But we can invent a new meaning to CT_LOAD |
# 13:48:54 |
y_morin |
smartin: No, too complex. Just accept that CT_LOAD is passed as-is to 'make -l' |
# 13:49:06 |
smartin |
with this, the entry in ct-ng still expect an integer, just the range change |
# 13:49:32 |
y_morin |
smartin: kconfig does not have a 'float' type, only integer. The only way is to have CT_LOAD be a string. |
# 13:50:18 |
y_morin |
herdingcat: again: what is an 'MPI C compiler' ? |
# 13:51:02 |
herdingcat |
y_morin, it's openmpi C compiler. |
# 13:51:13 |
herdingcat |
y_morin, do you know openmpi? |
# 13:51:37 |
y_morin |
herdingcat: I know MPI only by name. Never used it, even less openmpi. |
# 13:52:50 |
y_morin |
herdingcat: I think the underlying issue is that, when you cross-compile openmpi, it cross-compiles everything, even its compiler. What you want is that openmpi cross-compiles only its libraries( if that makes sense), but natively builds its compiler. |
# 13:52:58 |
y_morin |
herdingcat: that's an openmpi issue. |
# 13:53:04 |
smartin |
y_morin: i know, i see 2 solutions, 1) ask for the percentage (so an integer in kconfig) + some trivial math; 2)ask the actual 'make -l' value (so a string in kconfig) and add some pattern check. |
# 13:53:51 |
y_morin |
smartin: definitiely, we want 2). And I don;t care about insane values passed by the user, so no need for a check: the build will fail anyway. |
# 13:53:58 |
smartin |
y_morin: don't know which on is the best one, and at the end, it'll be your call ;) |
# 13:54:11 |
y_morin |
smartin: we can't protect the user against his/her own foolishnes. |
# 13:54:46 |
smartin |
agree |
# 13:57:06 |
herdingcat |
y_morin, the program I wanna compile is mpiblast which also needs mpi compiler and libs both.. |
# 13:57:37 |
y_morin |
herdingcat: that's an issue with openmpi. Ask them how do properly handle cross-compilation. |
# 13:57:46 |
y_morin |
*how to... |
# 13:57:48 |
herdingcat |
y_morin, ah okay. |
# 14:14:16 |
mingwandroid |
joins #crosstool-ng |
# 15:02:40 |
tkil |
quits : Ping timeout: 260 seconds |
# 15:02:48 |
herdingcat |
quits : Remote host closed the connection |
# 15:06:55 |
tkil |
joins #crosstool-ng |
# 17:00:34 |
diorcety |
quits : Quit: Leaving. |
# 18:26:54 |
diorcety |
joins #crosstool-ng |
# 18:44:31 |
plfiorini |
quits : Ping timeout: 244 seconds |
# 18:46:56 |
plfiorini |
joins #crosstool-ng |
# 21:01:23 |
alan_o |
joins #crosstool-ng |
# 21:01:44 |
hrubi |
joins #crosstool-ng |
# 22:16:25 |
plfiorini |
quits : Read error: Connection reset by peer |
# 22:16:40 |
plfiorini_ |
joins #crosstool-ng |
# 22:39:39 |
smartin |
quits : Quit: leaving |
# 23:24:50 |
devcoder |
joins #crosstool-ng |
# 23:30:33 |
y_morin |
quits : Quit: Nighty Night! |