All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
@ 2012-12-18 12:42 Willy Lambert
  2012-12-18 12:53 ` Thomas Petazzoni
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Lambert @ 2012-12-18 12:42 UTC (permalink / raw)
  To: buildroot

Hi all,

I have played a bit with buildroot for some weeks so I'm now trying to
do things correctly. One on my first aim was to save a previsouly
compiled buildroot toolchain and use it as an external toolchain as
suggested by the manual at section "5.3.2. Using an external
toolchain".

What I did is :
_ create a .config and a plain working system with the internal
compiled toolchain
_ copy ouptut/host/usr in ${MY_TOOLCHAIN_PATH}
_ use the "same" .config twice in changing just the toolchain to an
external one at ${MY_TOOLCHAIN_PATH} location with related
largefile,C++,,...
_ make clean
_ make

It ends in error with "configure: error: C compiler cannot create executables"

BTW, is there a way to ask buildroot to *only* build the toolchain
(not the linux rootfs) ? So I can have among my buildroot configs a
toolchain-****.config


Enclosed my : utput/build/libtirpc-0.2.2/config.log
Here is an extract of my build output :

>>> libtirpc 0.2.2 Configuring
(cd /wix/buildroot/output/build/libtirpc-0.2.2/ && rm -rf config.cache
&& PATH="/wix/buildroot/output/host/bin:/wix/buildroot/output/host/usr/bin:/wix/buildroot/output/host/usr/sbin/:/home/ard/ccache:/opt/ros_addons/orocos_toolchain/orogen/bin:/opt/ros_addons/orocos_toolchain/.gems/bin:/opt/ros/ros/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
AR="/wix/buildroot/output/host/usr/bin/i686-linux-ar"
AS="/wix/buildroot/output/host/usr/bin/i686-linux-as"
LD="/wix/buildroot/output/host/usr/bin/i686-linux-ld"
NM="/wix/buildroot/output/host/usr/bin/i686-linux-nm"
CC="/wix/buildroot/output/host/usr/bin/i686-linux-gcc"
GCC="/wix/buildroot/output/host/usr/bin/i686-linux-gcc"
CPP="/wix/buildroot/output/host/usr/bin/i686-linux-cpp"
CXX="/wix/buildroot/output/host/usr/bin/i686-linux-g++"
FC="/wix/buildroot/output/host/usr/bin/i686-linux-gfortran"
RANLIB="/wix/buildroot/output/host/usr/bin/i686-linux-ranlib"
READELF="/wix/buildroot/output/host/usr/bin/i686-linux-readelf"
STRIP="/wix/buildroot/output/host/usr/bin/i686-linux-strip"
OBJCOPY="/wix/buildroot/output/host/usr/bin/i686-linux-objcopy"
OBJDUMP="/wix/buildroot/output/host/usr/bin/i686-linux-objdump"
AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as"
CC_FOR_BUILD="/home/ard/ccache/gcc"
GCC_FOR_BUILD="/home/ard/ccache/gcc"
CXX_FOR_BUILD="/home/ard/ccache/g++" FC_FOR_BUILD="/usr/bin/ld"
LD_FOR_BUILD="/usr/bin/ld"
CPPFLAGS_FOR_BUILD="-I/wix/buildroot/output/host/usr/include"
CFLAGS_FOR_BUILD="-O2 -I/wix/buildroot/output/host/usr/include"
CXXFLAGS_FOR_BUILD="-O2 -I/wix/buildroot/output/host/usr/include"
LDFLAGS_FOR_BUILD="-L/wix/buildroot/output/host/lib
-L/wix/buildroot/output/host/usr/lib
-Wl,-rpath,/wix/buildroot/output/host/usr/lib" FCFLAGS_FOR_BUILD=""
DEFAULT_ASSEMBLER="/wix/buildroot/output/host/usr/bin/i686-linux-as"
DEFAULT_LINKER="/wix/buildroot/output/host/usr/bin/i686-linux-ld"
CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -Os "
CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64  -pipe -Os " LDFLAGS="" FCFLAGS=""
PKG_CONFIG="/wix/buildroot/output/host/usr/bin/pkg-config"
PERLLIB="/wix/buildroot/output/host/usr/lib/perl"
STAGING_DIR="/wix/buildroot/output/host/usr/i686-buildroot-linux-uclibc/sysroot"
ac_cv_lbl_unaligned_fail=no ac_cv_func_mmap_fixed_mapped=yes
ac_cv_func_memcmp_working=yes ac_cv_have_decl_malloc=yes
gl_cv_func_malloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_calloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes
lt_cv_sys_lib_search_path_spec="" ac_cv_c_bigendian=no
CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64  -pipe -Os  -DGQ" ./configure
--target=i686-buildroot-linux-uclibc
--host=i686-buildroot-linux-uclibc --build=i686-pc-linux-gnu
--prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --program-prefix=""
--disable-gtk-doc   --enable-ipv6 --enable-static --enable-shared   )
configure: WARNING: unrecognized options: --disable-gtk-doc, --enable-ipv6
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i686-buildroot-linux-uclibc-strip...
/wix/buildroot/output/host/usr/bin/i686-linux-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for i686-buildroot-linux-uclibc-gcc...
/wix/buildroot/output/host/usr/bin/i686-linux-gcc
checking whether the C compiler works... no
configure: error: in `/wix/buildroot/output/build/libtirpc-0.2.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** [/wix/buildroot/output/build/libtirpc-0.2.2/.stamp_configured]
Error 77
-------------- next part --------------
wlambert at vDevEmbTech:~/workspace_nfs/cfederation/common/cle/sources/federation/libfederationC$ cat config.log 
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by libtirpc configure 0.2.2, which was
generated by GNU Autoconf 2.68.  Invocation command line was

  $ ./configure --target=i686-buildroot-linux-uclibc --host=i686-buildroot-linux-uclibc --build=i686-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --program-prefix= --disable-gtk-doc --enable-ipv6 --enable-static --enable-shared

## --------- ##
## Platform. ##
## --------- ##

hostname = ard-host
uname -m = i686
uname -r = 2.6.38.8-vm-10.2
uname -s = Linux
uname -v = #4 SMP PREEMPT Thu Dec 13 21:36:16 CET 2012

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /wix/buildroot/output/host/bin
PATH: /wix/buildroot/output/host/usr/bin
PATH: /wix/buildroot/output/host/usr/sbin/
PATH: /home/ard/ccache
PATH: /opt/ros_addons/orocos_toolchain/orogen/bin
PATH: /opt/ros_addons/orocos_toolchain/.gems/bin
PATH: /opt/ros/ros/bin
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/local/games
PATH: /usr/games


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2243: checking for a BSD-compatible install
configure:2311: result: /usr/bin/install -c
configure:2322: checking whether build environment is sane
configure:2372: result: yes
configure:2421: checking for i686-buildroot-linux-uclibc-strip
configure:2448: result: /wix/buildroot/output/host/usr/bin/i686-linux-strip
configure:2513: checking for a thread-safe mkdir -p
configure:2552: result: /bin/mkdir -p
configure:2565: checking for gawk
configure:2581: found /usr/bin/gawk
configure:2592: result: gawk
configure:2603: checking whether make sets $(MAKE)
configure:2625: result: yes
configure:2706: checking whether to enable maintainer-specific portions of Makefiles
configure:2715: result: no
configure:2743: checking for style of include used by make
configure:2771: result: GNU
configure:2802: checking for i686-buildroot-linux-uclibc-gcc
configure:2829: result: /wix/buildroot/output/host/usr/bin/i686-linux-gcc
configure:3098: checking for C compiler version
configure:3107: /wix/buildroot/output/host/usr/bin/i686-linux-gcc --version >&5
i686-linux-gcc (Buildroot 2012.11-svn19-dirty) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3118: $? = 0
configure:3107: /wix/buildroot/output/host/usr/bin/i686-linux-gcc -v >&5
Using built-in specs.
COLLECT_GCC=/wix/toolchain/i686_buildroot/bin/i686-linux-gcc
COLLECT_LTO_WRAPPER=/wix/toolchain/i686_buildroot/bin/../libexec/gcc/i686-buildroot-linux-uclibc/4.6.3/lto-wrapper
Target: i686-buildroot-linux-uclibc
Configured with: /wix/buildroot/output/toolchain/gcc-4.6.3/configure --prefix=/wix/buildroot/output/host/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=i686-buildroot-linux-uclibc --enable-languages=c,c++ --with-sysroot=/wix/buildroot/output/host/usr/i686-buildroot-linux-uclibc/sysroot --with-build-time-tools=/wix/buildroot/output/host/usr/i686-buildroot-linux-uclibc/bin --disable-__cxa_atexit --enable-target-optspace --disable-libgomp --with-gnu-ld --disable-libssp --disable-multilib --enable-tls --enable-shared --with-gmp=/wix/buildroot/output/host/usr --with-mpfr=/wix/buildroot/output/host/usr --with-mpc=/wix/buildroot/output/host/usr --enable-threads --disable-decimal-float --with-arch=pentiumpro --with-tune=pentiumpro --with-pkgversion='Buildroot 2012.11-svn19-dirty' --with-bugurl=http://bugs.buildroot.net/
Thread model: posix
gcc version 4.6.3 (Buildroot 2012.11-svn19-dirty) 
configure:3118: $? = 0
configure:3107: /wix/buildroot/output/host/usr/bin/i686-linux-gcc -V >&5
i686-linux-gcc: error: unrecognized option '-V'
i686-linux-gcc: fatal error: no input files
compilation terminated.
configure:3118: $? = 1
configure:3107: /wix/buildroot/output/host/usr/bin/i686-linux-gcc -qversion >&5
i686-linux-gcc: error: unrecognized option '-qversion'
i686-linux-gcc: fatal error: no input files
compilation terminated.
configure:3118: $? = 1
configure:3138: checking whether the C compiler works
configure:3160: /wix/buildroot/output/host/usr/bin/i686-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -Os  -DGQ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  conftest.c  >&5
/wix/toolchain/i686_buildroot/bin/../libexec/gcc/i686-buildroot-linux-uclibc/4.6.3/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory
configure:3164: $? = 1
configure:3202: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libtirpc"
| #define PACKAGE_TARNAME "libtirpc"
| #define PACKAGE_VERSION "0.2.2"
| #define PACKAGE_STRING "libtirpc 0.2.2"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "libtirpc"
| #define VERSION "0.2.2"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3207: error: in `/wix/buildroot/output/build/libtirpc-0.2.2':
configure:3210: error: C compiler cannot create executables
See `config.log' for more details

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_c_bigendian='no'
ac_cv_env_CC_set='set'
ac_cv_env_CC_value='/wix/buildroot/output/host/usr/bin/i686-linux-gcc'
ac_cv_env_CFLAGS_set='set'
ac_cv_env_CFLAGS_value='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -Os  -DGQ'
ac_cv_env_CPPFLAGS_set='set'
ac_cv_env_CPPFLAGS_value='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64'
ac_cv_env_CPP_set='set'
ac_cv_env_CPP_value='/wix/buildroot/output/host/usr/bin/i686-linux-cpp'
ac_cv_env_GSSGLUE_CFLAGS_set=''
ac_cv_env_GSSGLUE_CFLAGS_value=''
ac_cv_env_GSSGLUE_LIBS_set=''
ac_cv_env_GSSGLUE_LIBS_value=''
ac_cv_env_LDFLAGS_set='set'
ac_cv_env_LDFLAGS_value=''
ac_cv_env_LIBS_set=''
ac_cv_env_LIBS_value=''
ac_cv_env_PKG_CONFIG_LIBDIR_set=''
ac_cv_env_PKG_CONFIG_LIBDIR_value=''
ac_cv_env_PKG_CONFIG_PATH_set=''
ac_cv_env_PKG_CONFIG_PATH_value=''
ac_cv_env_PKG_CONFIG_set='set'
ac_cv_env_PKG_CONFIG_value='/wix/buildroot/output/host/usr/bin/pkg-config'
ac_cv_env_build_alias_set='set'
ac_cv_env_build_alias_value='i686-pc-linux-gnu'
ac_cv_env_host_alias_set='set'
ac_cv_env_host_alias_value='i686-buildroot-linux-uclibc'
ac_cv_env_target_alias_set='set'
ac_cv_env_target_alias_value='i686-buildroot-linux-uclibc'
ac_cv_func_calloc_0_nonnull='yes'
ac_cv_func_malloc_0_nonnull='yes'
ac_cv_func_memcmp_working='yes'
ac_cv_func_mmap_fixed_mapped='yes'
ac_cv_func_realloc_0_nonnull='yes'
ac_cv_have_decl_malloc='yes'
ac_cv_lbl_unaligned_fail='no'
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir='/bin/mkdir'
ac_cv_prog_AWK='gawk'
ac_cv_prog_CC='/wix/buildroot/output/host/usr/bin/i686-linux-gcc'
ac_cv_prog_STRIP='/wix/buildroot/output/host/usr/bin/i686-linux-strip'
ac_cv_prog_make_make_set='yes'
gl_cv_func_malloc_0_nonnull='yes'
lt_cv_sys_lib_search_path_spec=''

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /wix/buildroot/output/build/libtirpc-0.2.2/missing --run aclocal-1.11'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AR='/wix/buildroot/output/host/usr/bin/i686-linux-ar'
AUTOCONF='${SHELL} /wix/buildroot/output/build/libtirpc-0.2.2/missing --run autoconf'
AUTOHEADER='${SHELL} /wix/buildroot/output/build/libtirpc-0.2.2/missing --run autoheader'
AUTOMAKE='${SHELL} /wix/buildroot/output/build/libtirpc-0.2.2/missing --run automake-1.11'
AWK='gawk'
CC='/wix/buildroot/output/host/usr/bin/i686-linux-gcc'
CCDEPMODE=''
CC_FOR_BUILD='/home/ard/ccache/gcc'
CFLAGS='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -Os  -DGQ'
CPP='/wix/buildroot/output/host/usr/bin/i686-linux-cpp'
CPPFLAGS='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64'
CROSS_COMPILING_FALSE=''
CROSS_COMPILING_TRUE=''
CYGPATH_W='echo'
DEFS=''
DEPDIR='.deps'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
FGREP=''
GREP=''
GSSGLUE_CFLAGS=''
GSSGLUE_LIBS=''
GSS_FALSE=''
GSS_TRUE=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD='/wix/buildroot/output/host/usr/bin/i686-linux-ld'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LIPO=''
LN_S=''
LTLIBOBJS=''
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='${SHELL} /wix/buildroot/output/build/libtirpc-0.2.2/missing --run makeinfo'
MKDIR_P='/bin/mkdir -p'
NM='/wix/buildroot/output/host/usr/bin/i686-linux-nm'
NMEDIT=''
OBJDUMP='/wix/buildroot/output/host/usr/bin/i686-linux-objdump'
OBJEXT=''
OTOOL64=''
OTOOL=''
PACKAGE='libtirpc'
PACKAGE_BUGREPORT=''
PACKAGE_NAME='libtirpc'
PACKAGE_STRING='libtirpc 0.2.2'
PACKAGE_TARNAME='libtirpc'
PACKAGE_URL=''
PACKAGE_VERSION='0.2.2'
PATH_SEPARATOR=':'
PKG_CONFIG='/wix/buildroot/output/host/usr/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
RANLIB='/wix/buildroot/output/host/usr/bin/i686-linux-ranlib'
SED=''
SET_MAKE=''
SHELL='/bin/bash'
STRIP='/wix/buildroot/output/host/usr/bin/i686-linux-strip'
VERSION='0.2.2'
ac_ct_CC=''
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build='i686-pc-linux-gnu'
build_alias='i686-pc-linux-gnu'
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='/usr'
host='i686-buildroot-linux-uclibc'
host_alias='i686-buildroot-linux-uclibc'
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /wix/buildroot/output/build/libtirpc-0.2.2/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr'
program_transform_name='s&^&&'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='/etc'
target_alias='i686-buildroot-linux-uclibc'

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "libtirpc"
#define PACKAGE_TARNAME "libtirpc"
#define PACKAGE_VERSION "0.2.2"
#define PACKAGE_STRING "libtirpc 0.2.2"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define PACKAGE "libtirpc"
#define VERSION "0.2.2"

configure: exit 77

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2012-12-18 12:42 [Buildroot] Using a precompiled busybox toolchain as an external toolchain Willy Lambert
@ 2012-12-18 12:53 ` Thomas Petazzoni
  2012-12-18 15:19   ` Willy Lambert
  0 siblings, 1 reply; 13+ messages in thread
From: Thomas Petazzoni @ 2012-12-18 12:53 UTC (permalink / raw)
  To: buildroot

Dear Willy Lambert,

On Tue, 18 Dec 2012 13:42:07 +0100, Willy Lambert wrote:

> _ copy ouptut/host/usr in ${MY_TOOLCHAIN_PATH}

No, this will not work. The toolchain produced by Buildroot is not
relocatable.

Instead, set BR2_HOST_DIR to ${MY_TOOLCHAIN_PATH}, and then do your
toolchain build. The toolchain will be installed in
${MY_TOOLCHAIN_PATH}, and you can use it as an external toolchain for
other Buildroot builds.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2012-12-18 12:53 ` Thomas Petazzoni
@ 2012-12-18 15:19   ` Willy Lambert
  2012-12-18 15:32     ` Thomas Petazzoni
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Lambert @ 2012-12-18 15:19 UTC (permalink / raw)
  To: buildroot

2012/12/18 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
> Dear Willy Lambert,
>
> On Tue, 18 Dec 2012 13:42:07 +0100, Willy Lambert wrote:
>
>> _ copy ouptut/host/usr in ${MY_TOOLCHAIN_PATH}
>
> No, this will not work. The toolchain produced by Buildroot is not
> relocatable.

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah. To be honest an entry
in the manual to state this would be nice.


>
> Instead, set BR2_HOST_DIR to ${MY_TOOLCHAIN_PATH}, and then do your
> toolchain build. The toolchain will be installed in
> ${MY_TOOLCHAIN_PATH}, and you can use it as an external toolchain for
> other Buildroot builds.
>

thanks, should I understand that I can't publish the buildroot
toolchain on another  PC without installing it at the __same__ place ?

> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2012-12-18 15:19   ` Willy Lambert
@ 2012-12-18 15:32     ` Thomas Petazzoni
  2012-12-18 16:50       ` Willy Lambert
  0 siblings, 1 reply; 13+ messages in thread
From: Thomas Petazzoni @ 2012-12-18 15:32 UTC (permalink / raw)
  To: buildroot

Dear Willy Lambert,

On Tue, 18 Dec 2012 16:19:47 +0100, Willy Lambert wrote:

> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah. To be honest an entry
> in the manual to state this would be nice.

Indeed. Feel free to submit a patch for the manual :-)

> thanks, should I understand that I can't publish the buildroot
> toolchain on another  PC without installing it at the __same__ place ?

Your understanding is correct. Making the toolchain relocatable is part
of our TODO-list, though.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2012-12-18 15:32     ` Thomas Petazzoni
@ 2012-12-18 16:50       ` Willy Lambert
  2012-12-30 12:56         ` Willy Lambert
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Lambert @ 2012-12-18 16:50 UTC (permalink / raw)
  To: buildroot

2012/12/18 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
> Dear Willy Lambert,
>
> On Tue, 18 Dec 2012 16:19:47 +0100, Willy Lambert wrote:
>
>> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah. To be honest an entry
>> in the manual to state this would be nice.
>
> Indeed. Feel free to submit a patch for the manual :-)
>

yes, but how ? Should I edit html files by and in the docs/manual folder ?
I'm not at ease with git, so I will see during hollidays if I can do
something with it.

>> thanks, should I understand that I can't publish the buildroot
>> toolchain on another  PC without installing it at the __same__ place ?
>
> Your understanding is correct. Making the toolchain relocatable is part
> of our TODO-list, though.
>

Ok thanks

> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2012-12-18 16:50       ` Willy Lambert
@ 2012-12-30 12:56         ` Willy Lambert
  2012-12-30 13:53           ` Samuel Martin
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Lambert @ 2012-12-30 12:56 UTC (permalink / raw)
  To: buildroot

2012/12/18 Willy Lambert <lambert.willy@gmail.com>:
> 2012/12/18 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
>> Dear Willy Lambert,
>>
>> On Tue, 18 Dec 2012 16:19:47 +0100, Willy Lambert wrote:
>>
>>> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah. To be honest an entry
>>> in the manual to state this would be nice.
>>
>> Indeed. Feel free to submit a patch for the manual :-)
>>
>
> yes, but how ? Should I edit html files by and in the docs/manual folder ?
> I'm not at ease with git, so I will see during hollidays if I can do
> something with it.
>
>>> thanks, should I understand that I can't publish the buildroot
>>> toolchain on another  PC without installing it at the __same__ place ?
>>

may I bump this, how should I edit documentation ?

I succeeded in creating the toolchain in "MY_TOOLCAHIN_PATH", but :
_ if I do a make clean it disapear, so I suppose I have to change
BR2_HOST_DIR back the default value after having creating the
toolchain ?
_ what's happening if I create several toolchain for several arch in
the same "MY_TOOLCHAIN_PATH ? does they override or do they install
nicely both in the same dir ?
_ what is the path I have to give to buildroot ? "MY_TOOLCHAIN_PATH'
or something like "MY_TOOLCHAIN_PATH'/usr/...

>> Your understanding is correct. Making the toolchain relocatable is part
>> of our TODO-list, though.
>>
>
> Ok thanks
>
>> Best regards,
>>
>> Thomas
>> --
>> Thomas Petazzoni, Free Electrons
>> Kernel, drivers, real-time and embedded Linux
>> development, consulting, training and support.
>> http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2012-12-30 12:56         ` Willy Lambert
@ 2012-12-30 13:53           ` Samuel Martin
  2013-01-10 23:01             ` Willy Lambert
  2013-01-23  8:44             ` Willy Lambert
  0 siblings, 2 replies; 13+ messages in thread
From: Samuel Martin @ 2012-12-30 13:53 UTC (permalink / raw)
  To: buildroot

Hi Willy, all,

Apologize for the late answer.

2012/12/30 Willy Lambert <lambert.willy@gmail.com>:
> 2012/12/18 Willy Lambert <lambert.willy@gmail.com>:
>> 2012/12/18 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
>>> Dear Willy Lambert,
>>>
>>> On Tue, 18 Dec 2012 16:19:47 +0100, Willy Lambert wrote:
>>>
>>>> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah. To be honest an entry
>>>> in the manual to state this would be nice.
>>>
>>> Indeed. Feel free to submit a patch for the manual :-)
>>>
>>
>> yes, but how ? Should I edit html files by and in the docs/manual folder ?
Please edit the manual from docs/manual, this is the reference now.
See http://buildroot.org/downloads/manual/manual.html#_the_documentation

>> I'm not at ease with git, so I will see during hollidays if I can do
>> something with it.
Well, from my experience, playing with git is the best way to learn it! :P
BTW, there is a lot of doc and so on around the web, e.g.:
- http://try.github.com/levels/1/challenges/1
- http://git-scm.com/documentation
- ...

Concerning patch posting to Buildroot, the online manual gathers the
few useful things, see:
http://buildroot.org/downloads/manual/manual.html#submitting-patches

Lastly, if you sneak around on the Buildroot IRC channel, there will
most likely be
someone who will be able to help you with git. ;-)

>>
>>>> thanks, should I understand that I can't publish the buildroot
>>>> toolchain on another  PC without installing it at the __same__ place ?
>>>
>
> may I bump this, how should I edit documentation ?
I guess you're using a git view of BR, so please pull it and rebuild the manual:
make manual-clean manual

Few things related to this have been merged yesterday thanks to Thomas! ;-)

>
> I succeeded in creating the toolchain in "MY_TOOLCAHIN_PATH", but :
> _ if I do a make clean it disapear, so I suppose I have to change
> BR2_HOST_DIR back the default value after having creating the
> toolchain ?
> _ what's happening if I create several toolchain for several arch in
> the same "MY_TOOLCHAIN_PATH ? does they override or do they install
> nicely both in the same dir ?
> _ what is the path I have to give to buildroot ? "MY_TOOLCHAIN_PATH'
> or something like "MY_TOOLCHAIN_PATH'/usr/...
In the updated manual (the one you should have built; unfortunately
not online until the next release),
check the paragraph entitled "External toolchain backend" in the 3.1.1 section.

Basically, if you want to build a toolchain with BR, but avoid de
remove and rebuild it after each "make clean",
you should build the toolchain first with Buildroot in some place (see
http://buildroot.org/downloads/manual/manual.html#_building_out_of_tree),
then use it as an external toolchain in another configuration, in
another build directory
(see http://buildroot.org/downloads/manual/manual.html#external-toolchain).

To do so (after backuping your current BR config):

1) run 'make menuconfig O=/path/to/somewhere',

2) set the same toolchain configuration as your working configuration,
and disable everything from the following menus:
- System configuration
- Package Selection for the target
- Filesystem images
- Bootloaders
- Kernel

3) run 'make O=/path/to/somewhere'.
This should build the toolchain and pretty much nothing else.

4) run 'make menuconfig' and update the toolchain configuration:
Toolchain type (External toolchain)
Toolchain (Custom toolchain)
Toolchain origin (Pre-installed toolchain)
(/path/to/somewhere/host/usr) Toolchain path


Regards,

-- 
Samuel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2012-12-30 13:53           ` Samuel Martin
@ 2013-01-10 23:01             ` Willy Lambert
  2013-01-23  8:44             ` Willy Lambert
  1 sibling, 0 replies; 13+ messages in thread
From: Willy Lambert @ 2013-01-10 23:01 UTC (permalink / raw)
  To: buildroot

2012/12/30 Samuel Martin <s.martin49@gmail.com>:
> Hi Willy, all,
>
> Apologize for the late answer.
>
> 2012/12/30 Willy Lambert <lambert.willy@gmail.com>:
>> 2012/12/18 Willy Lambert <lambert.willy@gmail.com>:
>>> 2012/12/18 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
>>>> Dear Willy Lambert,
>>>>
>>>> On Tue, 18 Dec 2012 16:19:47 +0100, Willy Lambert wrote:
>>>>
>>>>> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah. To be honest an entry
>>>>> in the manual to state this would be nice.
>>>>
>>>> Indeed. Feel free to submit a patch for the manual :-)
>>>>
>>>
>>> yes, but how ? Should I edit html files by and in the docs/manual folder ?
> Please edit the manual from docs/manual, this is the reference now.
> See http://buildroot.org/downloads/manual/manual.html#_the_documentation
>
>>> I'm not at ease with git, so I will see during hollidays if I can do
>>> something with it.
> Well, from my experience, playing with git is the best way to learn it! :P
> BTW, there is a lot of doc and so on around the web, e.g.:
> - http://try.github.com/levels/1/challenges/1
> - http://git-scm.com/documentation
> - ...

Thanks for pointing.

>
> Concerning patch posting to Buildroot, the online manual gathers the
> few useful things, see:
> http://buildroot.org/downloads/manual/manual.html#submitting-patches
>
> Lastly, if you sneak around on the Buildroot IRC channel, there will
> most likely be
> someone who will be able to help you with git. ;-)
>
>>>
>>>>> thanks, should I understand that I can't publish the buildroot
>>>>> toolchain on another  PC without installing it at the __same__ place ?
>>>>
>>
>> may I bump this, how should I edit documentation ?
> I guess you're using a git view of BR, so please pull it and rebuild the manual:
> make manual-clean manual

BTW, as discussed on IRC, I couldn't build it on my prefered computer
becaused it's a Debian Squeeze (known issue with libxml), and I need
to make the manual twice in a row cause first build always fails.

>
> Few things related to this have been merged yesterday thanks to Thomas! ;-)
>
>>
>> I succeeded in creating the toolchain in "MY_TOOLCAHIN_PATH", but :
>> _ if I do a make clean it disapear, so I suppose I have to change
>> BR2_HOST_DIR back the default value after having creating the
>> toolchain ?
>> _ what's happening if I create several toolchain for several arch in
>> the same "MY_TOOLCHAIN_PATH ? does they override or do they install
>> nicely both in the same dir ?
>> _ what is the path I have to give to buildroot ? "MY_TOOLCHAIN_PATH'
>> or something like "MY_TOOLCHAIN_PATH'/usr/...
> In the updated manual (the one you should have built; unfortunately
> not online until the next release),
> check the paragraph entitled "External toolchain backend" in the 3.1.1 section.
>
> Basically, if you want to build a toolchain with BR, but avoid de
> remove and rebuild it after each "make clean",
> you should build the toolchain first with Buildroot in some place (see
> http://buildroot.org/downloads/manual/manual.html#_building_out_of_tree),
> then use it as an external toolchain in another configuration, in
> another build directory
> (see http://buildroot.org/downloads/manual/manual.html#external-toolchain).
>
> To do so (after backuping your current BR config):
>
> 1) run 'make menuconfig O=/path/to/somewhere',
>
> 2) set the same toolchain configuration as your working configuration,
> and disable everything from the following menus:
> - System configuration
> - Package Selection for the target
> - Filesystem images
> - Bootloaders
> - Kernel
>
> 3) run 'make O=/path/to/somewhere'.
> This should build the toolchain and pretty much nothing else.
>
> 4) run 'make menuconfig' and update the toolchain configuration:
> Toolchain type (External toolchain)
> Toolchain (Custom toolchain)
> Toolchain origin (Pre-installed toolchain)
> (/path/to/somewhere/host/usr) Toolchain path
>
>
> Regards,
>
> --
> Samuel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2012-12-30 13:53           ` Samuel Martin
  2013-01-10 23:01             ` Willy Lambert
@ 2013-01-23  8:44             ` Willy Lambert
  2013-01-29 15:57               ` Willy Lambert
  1 sibling, 1 reply; 13+ messages in thread
From: Willy Lambert @ 2013-01-23  8:44 UTC (permalink / raw)
  To: buildroot

2012/12/30 Samuel Martin <s.martin49@gmail.com>:
> Hi Willy, all,
>
> Apologize for the late answer.
>
> 2012/12/30 Willy Lambert <lambert.willy@gmail.com>:
>> 2012/12/18 Willy Lambert <lambert.willy@gmail.com>:
>>> 2012/12/18 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
>>>> Dear Willy Lambert,
>>>>
>>>> On Tue, 18 Dec 2012 16:19:47 +0100, Willy Lambert wrote:
>>>>
>>>>> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah. To be honest an entry
>>>>> in the manual to state this would be nice.
>>>>
>>>> Indeed. Feel free to submit a patch for the manual :-)
>>>>
>>>
>>> yes, but how ? Should I edit html files by and in the docs/manual folder ?
> Please edit the manual from docs/manual, this is the reference now.
> See http://buildroot.org/downloads/manual/manual.html#_the_documentation
>
>>> I'm not at ease with git, so I will see during hollidays if I can do
>>> something with it.
> Well, from my experience, playing with git is the best way to learn it! :P
> BTW, there is a lot of doc and so on around the web, e.g.:
> - http://try.github.com/levels/1/challenges/1
> - http://git-scm.com/documentation
> - ...
>
> Concerning patch posting to Buildroot, the online manual gathers the
> few useful things, see:
> http://buildroot.org/downloads/manual/manual.html#submitting-patches
>
> Lastly, if you sneak around on the Buildroot IRC channel, there will
> most likely be
> someone who will be able to help you with git. ;-)
>
>>>
>>>>> thanks, should I understand that I can't publish the buildroot
>>>>> toolchain on another  PC without installing it at the __same__ place ?
>>>>
>>
>> may I bump this, how should I edit documentation ?
> I guess you're using a git view of BR, so please pull it and rebuild the manual:
> make manual-clean manual
>
> Few things related to this have been merged yesterday thanks to Thomas! ;-)
>
>>
>> I succeeded in creating the toolchain in "MY_TOOLCAHIN_PATH", but :
>> _ if I do a make clean it disapear, so I suppose I have to change
>> BR2_HOST_DIR back the default value after having creating the
>> toolchain ?
>> _ what's happening if I create several toolchain for several arch in
>> the same "MY_TOOLCHAIN_PATH ? does they override or do they install
>> nicely both in the same dir ?
>> _ what is the path I have to give to buildroot ? "MY_TOOLCHAIN_PATH'
>> or something like "MY_TOOLCHAIN_PATH'/usr/...
> In the updated manual (the one you should have built; unfortunately
> not online until the next release),
> check the paragraph entitled "External toolchain backend" in the 3.1.1 section.
>
> Basically, if you want to build a toolchain with BR, but avoid de
> remove and rebuild it after each "make clean",
> you should build the toolchain first with Buildroot in some place (see
> http://buildroot.org/downloads/manual/manual.html#_building_out_of_tree),
> then use it as an external toolchain in another configuration, in
> another build directory
> (see http://buildroot.org/downloads/manual/manual.html#external-toolchain).
>
> To do so (after backuping your current BR config):
>
> 1) run 'make menuconfig O=/path/to/somewhere',
>
> 2) set the same toolchain configuration as your working configuration,
> and disable everything from the following menus:
> - System configuration
> - Package Selection for the target
> - Filesystem images
> - Bootloaders
> - Kernel
>
> 3) run 'make O=/path/to/somewhere'.
> This should build the toolchain and pretty much nothing else.
>
> 4) run 'make menuconfig' and update the toolchain configuration:
> Toolchain type (External toolchain)
> Toolchain (Custom toolchain)
> Toolchain origin (Pre-installed toolchain)
> (/path/to/somewhere/host/usr) Toolchain path
>
>

As I have seen some chat about buildroot toolchain and these problem
of relocability, a question arise :

Is buildroot toolchain supposed to be maintained in the long run ? Or
do you expect people switching more and more on external toolchains ?



> Regards,
>
> --
> Samuel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2013-01-23  8:44             ` Willy Lambert
@ 2013-01-29 15:57               ` Willy Lambert
  2013-01-29 16:08                 ` Thomas Petazzoni
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Lambert @ 2013-01-29 15:57 UTC (permalink / raw)
  To: buildroot

[snip]
>
> As I have seen some chat about buildroot toolchain and these problem
> of relocability, a question arise :
>
> Is buildroot toolchain supposed to be maintained in the long run ? Or
> do you expect people switching more and more on external toolchains ?
>
>

May I bump this ?

I will try crosstool-ng. Is this toolchain relocable  ? so I can build
it first and then take it out of buildroot ?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2013-01-29 15:57               ` Willy Lambert
@ 2013-01-29 16:08                 ` Thomas Petazzoni
  2013-01-29 16:49                   ` Willy Lambert
  0 siblings, 1 reply; 13+ messages in thread
From: Thomas Petazzoni @ 2013-01-29 16:08 UTC (permalink / raw)
  To: buildroot

Dear Willy Lambert,

On Tue, 29 Jan 2013 16:57:56 +0100, Willy Lambert wrote:

> > As I have seen some chat about buildroot toolchain and these problem
> > of relocability, a question arise :
> >
> > Is buildroot toolchain supposed to be maintained in the long run ? Or
> > do you expect people switching more and more on external toolchains ?

Let's make a status of the available toolchain backends:

 * Buildroot internal toolchain backend. This is the historical
   backend. Everything is done by Makefile directly inside Buildroot:
   building binutils, gcc, uClibc, etc. It is limited to uClibc. There
   are discussions since a long time on phasing out this backend in
   favor of the Crosstool-NG backend, but this hasn't happened yet, as
   there are remaining issues to solve with the Crosstool-NG backend. I
   am not sure when/if the internal backend will really go away one day.

 * External toolchain backend. It allows to re-use existing, pre-built,
   toolchains. Those toolchains could have been generated by
   Crosstool-NG, Buildroot, manually, or be provided by a hardware/SoC
   manufacturer. Buildroot really doesn't care here, it simply uses the
   pre-built toolchain as is, and it doesn't build the toolchain.

 * Crosstool-NG backend. In this case, Buildroot builds the toolchain,
   but instead of doing it with internal Makefiles (as done by the
   internal backend described above), it downloads Crosstool-NG,
   installs it, generates a configuration file for it, and triggers the
   build. Once the Crosstool-NG build is done, we are back to the normal
   case where a toolchain is now available, and Buildroot can continue
   its work.

> I will try crosstool-ng. Is this toolchain relocable  ? so I can build
> it first and then take it out of buildroot ?

If you use Crosstool-NG outside of Buildroot, then the toolchain
produced by Crosstool-NG itself is relocatable. This is a raw
toolchain: it has only the C library, C library headers and kernel
headers. No additional libraries.

Then, you can use this pre-build toolchain as an external toolchain in
Buildroot. Buildroot will build additional libraries, and will install
them and their headers in a copy of the toolchain sysroot. In some
sense, the $(O)/host directory of Buildroot becomes a new toolchain,
which contains your pre-built toolchain, and additional libraries and
headers. And this new toolchain (in $(O)/host) is *NOT* relocatable at
the moment, due to various issues: hardcoded paths in .la files, in
<foobar>-config scripts, in the RPATH of the binaries installed in
$(O)/host/usr/bin/, etc.

This is something we intend to fix, but that hasn't happened yet.

Does that clarify the situation?

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2013-01-29 16:08                 ` Thomas Petazzoni
@ 2013-01-29 16:49                   ` Willy Lambert
  2013-01-29 17:01                     ` Thomas Petazzoni
  0 siblings, 1 reply; 13+ messages in thread
From: Willy Lambert @ 2013-01-29 16:49 UTC (permalink / raw)
  To: buildroot

2013/1/29 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
> Dear Willy Lambert,
>
> On Tue, 29 Jan 2013 16:57:56 +0100, Willy Lambert wrote:
>
>> > As I have seen some chat about buildroot toolchain and these problem
>> > of relocability, a question arise :
>> >
>> > Is buildroot toolchain supposed to be maintained in the long run ? Or
>> > do you expect people switching more and more on external toolchains ?
>
> Let's make a status of the available toolchain backends:
>
>  * Buildroot internal toolchain backend. This is the historical
>    backend. Everything is done by Makefile directly inside Buildroot:
>    building binutils, gcc, uClibc, etc. It is limited to uClibc. There
>    are discussions since a long time on phasing out this backend in
>    favor of the Crosstool-NG backend, but this hasn't happened yet, as
>    there are remaining issues to solve with the Crosstool-NG backend. I
>    am not sure when/if the internal backend will really go away one day.
>
>  * External toolchain backend. It allows to re-use existing, pre-built,
>    toolchains. Those toolchains could have been generated by
>    Crosstool-NG, Buildroot, manually, or be provided by a hardware/SoC
>    manufacturer. Buildroot really doesn't care here, it simply uses the
>    pre-built toolchain as is, and it doesn't build the toolchain.
>
>  * Crosstool-NG backend. In this case, Buildroot builds the toolchain,
>    but instead of doing it with internal Makefiles (as done by the
>    internal backend described above), it downloads Crosstool-NG,
>    installs it, generates a configuration file for it, and triggers the
>    build. Once the Crosstool-NG build is done, we are back to the normal
>    case where a toolchain is now available, and Buildroot can continue
>    its work.
>
>> I will try crosstool-ng. Is this toolchain relocable  ? so I can build
>> it first and then take it out of buildroot ?
>
> If you use Crosstool-NG outside of Buildroot, then the toolchain
> produced by Crosstool-NG itself is relocatable. This is a raw
> toolchain: it has only the C library, C library headers and kernel
> headers. No additional libraries.
>
> Then, you can use this pre-build toolchain as an external toolchain in
> Buildroot. Buildroot will build additional libraries, and will install
> them and their headers in a copy of the toolchain sysroot. In some
> sense, the $(O)/host directory of Buildroot becomes a new toolchain,
> which contains your pre-built toolchain, and additional libraries and
> headers. And this new toolchain (in $(O)/host) is *NOT* relocatable at
> the moment, due to various issues: hardcoded paths in .la files, in
> <foobar>-config scripts, in the RPATH of the binaries installed in
> $(O)/host/usr/bin/, etc.
>
> This is something we intend to fix, but that hasn't happened yet.
>
> Does that clarify the situation?
>

Yes, it's kind of you to have written all those historical details.
May I update the documentation with some of those clarifications ?

So in the end, if I want to use the generated toolchain  (in
$(O)/host) to build my own application (which is not a package, it's
the user end application) it is never relocable if I use buildroot
internal or crosstool-ng. I don't mind with that, it's just a matter
of knowing what's happening.

> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] Using a precompiled busybox toolchain as an external toolchain
  2013-01-29 16:49                   ` Willy Lambert
@ 2013-01-29 17:01                     ` Thomas Petazzoni
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2013-01-29 17:01 UTC (permalink / raw)
  To: buildroot

Dear Willy Lambert,

On Tue, 29 Jan 2013 17:49:14 +0100, Willy Lambert wrote:

> Yes, it's kind of you to have written all those historical details.
> May I update the documentation with some of those clarifications ?

Actually, most of this is already in the documentation (but not the
HTML version visible on Buildroot website, since the HTML version
visible is the one generated from the latest stable release, and those
changes have been done after the last stable release). But if you feel
something is missing, then yes, don't hesitate to submit a
documentation patch!

> So in the end, if I want to use the generated toolchain  (in
> $(O)/host) to build my own application (which is not a package, it's
> the user end application) it is never relocable if I use buildroot
> internal or crosstool-ng. I don't mind with that, it's just a matter
> of knowing what's happening.

As of today, yes, you're correct. It's however considered a bug to be
fixed, though.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-01-29 17:01 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-18 12:42 [Buildroot] Using a precompiled busybox toolchain as an external toolchain Willy Lambert
2012-12-18 12:53 ` Thomas Petazzoni
2012-12-18 15:19   ` Willy Lambert
2012-12-18 15:32     ` Thomas Petazzoni
2012-12-18 16:50       ` Willy Lambert
2012-12-30 12:56         ` Willy Lambert
2012-12-30 13:53           ` Samuel Martin
2013-01-10 23:01             ` Willy Lambert
2013-01-23  8:44             ` Willy Lambert
2013-01-29 15:57               ` Willy Lambert
2013-01-29 16:08                 ` Thomas Petazzoni
2013-01-29 16:49                   ` Willy Lambert
2013-01-29 17:01                     ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.