* [Buildroot] C++ cross compiler]
@ 2006-11-15 20:59 nina.holly at aerende.com
2006-11-16 9:24 ` MikeW
2006-11-16 9:44 ` Philippe Ney
0 siblings, 2 replies; 5+ messages in thread
From: nina.holly at aerende.com @ 2006-11-15 20:59 UTC (permalink / raw)
To: buildroot
Phillipe,
If by staging_dir, you mean where the cross compiler
executables go, there is no arm-linux-uclibc-g++
in the bin directory where the arm-linux-uclibc-gcc
executable is.
1. I am using gcc-3.4.2, binutils-2.16.1 and a uClibc
snapshot from around Aug. 1, 2006.
2. In toolchain/gcc there is a gcc-uclibc-3.x.mk file.
Is this the .mk file you were referring to?
Nina
> You ought to have something like :
> buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-uclibc-g++
> (gcc-4.0.3 / binutils-2.17 / uClibc-0.9.28)
> If the c++ support is not generated in your compiler, maybe you have to
check in the corresponding .mk file if the right parameters are used.
Philippe
> _______________________________________________
> buildroot mailing list
> buildroot at uclibc.org
> http://busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread* [Buildroot] C++ cross compiler]
2006-11-15 20:59 [Buildroot] C++ cross compiler] nina.holly at aerende.com
@ 2006-11-16 9:24 ` MikeW
2006-11-16 14:57 ` nina.holly at aerende.com
2006-11-16 9:44 ` Philippe Ney
1 sibling, 1 reply; 5+ messages in thread
From: MikeW @ 2006-11-16 9:24 UTC (permalink / raw)
To: buildroot
<nina.holly@...> writes:
>
> Phillipe,
> If by staging_dir, you mean where the cross compiler
> executables go, there is no arm-linux-uclibc-g++
> in the bin directory where the arm-linux-uclibc-gcc
> executable is.
>
> 1. I am using gcc-3.4.2, binutils-2.16.1 and a uClibc
> snapshot from around Aug. 1, 2006.
>
> 2. In toolchain/gcc there is a gcc-uclibc-3.x.mk file.
> Is this the .mk file you were referring to?
>
> Nina
No, there should literally be a directory called
"buildroot/build_arm_nofpu/staging_dir/bin/"
(the "build_arm_nofpu" bit depends on your build settings)
which gets created as part of your buildroot make.
So under "buildroot" (the buildroot installation dir)
you should get "build_arm_nofpu" or something like it.
Under "build_arm_nofpu" you will get a subdirectory for each
package, plus one called "root" and one called "staging_dir".
The "root" one is where your root filesystem is built, and
the "staging_dir" one is where
a) the built toolchain is placed
b) files built from packages are created prior to installation in "root"
Among the directories in my "staging_dir" containing toolchain files
are "arm-elf-linux", "arm-linux" and "bin" which contain links to
compilers (including c++) or the executables themselves.
What is the directory path in your system to what you call
"where the cross compiler executables go" ?
Regards,
Mike
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] C++ cross compiler]
2006-11-16 9:24 ` MikeW
@ 2006-11-16 14:57 ` nina.holly at aerende.com
2006-11-16 16:08 ` MikeW
0 siblings, 1 reply; 5+ messages in thread
From: nina.holly at aerende.com @ 2006-11-16 14:57 UTC (permalink / raw)
To: buildroot
> No, there should literally be a directory called
> "buildroot/build_arm_nofpu/staging_dir/bin/"
> (the "build_arm_nofpu" bit depends on your build settings)
> which gets created as part of your buildroot make.
In the buildroot/build_arm directory, the directories that are there are:
bash-3.1
busybox
coreutils-5.96
gdb-6.3-target
gdbserver-6.3
genext2fs-1.3
hdparm-6.5
makedevs
ncurses-5.5
openssh-3.9p1
openssl-0.9.7e
portmap_5beta
root
sudo-1.6.8p9
zlib-1.2.3
I looked through the whole buildroot directory system and was not able to
find a staging_dir directory.
1. Do you what causes the staging_dir to be generated?
In .config BR2_STAGING_DIR="/usr/local/arm/release-3.4.2".
I have been able to generate a cross compiler and a root filesystem
from which I can boot linux from via NFS mount.
>
> So under "buildroot" (the buildroot installation dir)
> you should get "build_arm_nofpu" or something like it.
>
> Under "build_arm_nofpu" you will get a subdirectory for each
> package, plus one called "root" and one called "staging_dir".
>
> The "root" one is where your root filesystem is built, and
> the "staging_dir" one is where
> a) the built toolchain is placed
> b) files built from packages are created prior to installation in "root"
>
> Among the directories in my "staging_dir" containing toolchain files
> are "arm-elf-linux", "arm-linux" and "bin" which contain links to
> compilers (including c++) or the executables themselves.
>
> What is the directory path in your system to what you call
> "where the cross compiler executables go" ?
That is /usr/local/arm/release-3.4.2. In this directory there are
the directories:
arm-linux-uclibc
bin
bin-ccache
include
info
lib
libexec
man
usr
arm-linux-uclibc has the directories:
bin
target_utils
which just have executables such as ar, as, gcc, ld, gdbserver, etc.
/usr/local/arm/release-3.4.2/bin has:
arm-linux-gcc-3.4.2->arm-linux-uclibc-gcc-3.4.2
etc.
but no arm-linux-g++
Nina
^ permalink raw reply [flat|nested] 5+ messages in thread* [Buildroot] C++ cross compiler]
2006-11-16 14:57 ` nina.holly at aerende.com
@ 2006-11-16 16:08 ` MikeW
0 siblings, 0 replies; 5+ messages in thread
From: MikeW @ 2006-11-16 16:08 UTC (permalink / raw)
To: buildroot
<nina.holly@...> writes:
>
>
> > No, there should literally be a directory called
> > "buildroot/build_arm_nofpu/staging_dir/bin/"
> > (the "build_arm_nofpu" bit depends on your build settings)
> > which gets created as part of your buildroot make.
> > What is the directory path in your system to what you call
> > "where the cross compiler executables go" ?
>
> That is /usr/local/arm/release-3.4.2. In this directory there are
> the directories:
>
> arm-linux-uclibc
> bin
> bin-ccache
> include
> info
> lib
> libexec
> man
> usr
>
> arm-linux-uclibc has the directories:
>
> bin
> target_utils
>
> which just have executables such as ar, as, gcc, ld, gdbserver, etc.
>
> /usr/local/arm/release-3.4.2/bin has:
>
> arm-linux-gcc-3.4.2-?arm-linux-uclibc-gcc-3.4.2
>
> etc.
>
> but no arm-linux-g++
>
> Nina
>
You should *not* set your staging_dir to be /usr/local ... !
The reason you do not see a C++ compiler there is because you
can only install programs there as root.
The other compiler files you see there must be left from some
earlier installation, or must have permissions that allow overwriting.
But before you change the permissions, read further !
For one thing, the staging_dir is used during the build process
of buildroot to store not only the toolchain files, but acts
as the holding area for the files immediately prior to constructing
the root filesystem. As such it will contain other files which are
used in the build process but will not be present on the root filesystem,
such as source headers and static libraries.
SO the staging_dir setting in the menuconfig should NOT be set
to /usr/local...anything, it should preferably be left as
the default value, which causes it to be in the place I said before.
If you want to use the toolchain you have built with buildroot,
follow the instructions in the buildroot documents and use the
compilers within staging_dir/bin.
You can always make some symbolic links to the tools for convenience.
Hope that gets you going again.
Regards,
MikeW
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] C++ cross compiler]
2006-11-15 20:59 [Buildroot] C++ cross compiler] nina.holly at aerende.com
2006-11-16 9:24 ` MikeW
@ 2006-11-16 9:44 ` Philippe Ney
1 sibling, 0 replies; 5+ messages in thread
From: Philippe Ney @ 2006-11-16 9:44 UTC (permalink / raw)
To: buildroot
> Phillipe,
> If by staging_dir, you mean where the cross compiler
> executables go, there is no arm-linux-uclibc-g++
> in the bin directory where the arm-linux-uclibc-gcc
> executable is.
Yes, where the cross exec goes. This is defined by buildroot in fact.
I just tried to generate a cross-compiler with the same settings as yours
and it worked. Maybe you have to restart from scratch, try others gcc,
binutils, uClibc versions.
As said Mike
No, there should literally be a directory called
"buildroot/build_arm_nofpu/staging_dir/bin/"
(the "build_arm_nofpu" bit depends on your build settings)
which gets created as part of your buildroot make.
You also could have a look at the gumstix project. They use gcc-3.4.5 and
I guess they generate a C++ cross-compiler.
> 1. I am using gcc-3.4.2, binutils-2.16.1 and a uClibc
> snapshot from around Aug. 1, 2006.
>
> 2. In toolchain/gcc there is a gcc-uclibc-3.x.mk file.
> Is this the .mk file you were referring to?
Yes
Philippe
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-11-16 16:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-15 20:59 [Buildroot] C++ cross compiler] nina.holly at aerende.com
2006-11-16 9:24 ` MikeW
2006-11-16 14:57 ` nina.holly at aerende.com
2006-11-16 16:08 ` MikeW
2006-11-16 9:44 ` Philippe Ney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox