Help with installing toolchain

I have downloaded a qte toolchain from http://www.angstrom-distribution.org/toolchains/.

I have installed bitbake and setup the directories as shown by
http://docs.openembedded.org/usermanual/html

My local.config file has the following variables in it.

BBFILES := "${OEBASE}/openembedded/recipes/*/*.bb"
DISTRO = "Angstrom-2010.11"
MACHINE = "beagleboard"

My environment is set up like so:

export OEBASE="/home/trey/Development/oe"
export PATH=$OEBASE/bitbake/bin:$PATH
export BBPATH=$OEBASE/build:$OEBASE/openembedded
export BB_ENV_EXTRAWHITE="OEBASE"

OK now what do I do? I thought I should take my toolchain file
(Angstrom-2010.11-narcissus-beagleboard-i686-random-a04b7b64-image-
sdk.tar.gz) and then run:

bitbake meta-toolchain-qte

But I get a ton of errors. Like these:

Why aren't you following http://www.angstrom-distribution.org/building-angstrom ? Or why haven't you read the second news item on the angstrom frontpage?

Ok,

I go to the page that you link below and it looks like it is for a
complete Angstrom Build, so I think that is not what I want to do.
But I do see a link on this page for a "simplified development setup
instructions" so I go there (http://www.angstrom-distribution.org/
simplified-development-setup) . That page links me over to the
scripts (http://gitorious.org/angstrom/angstrom-setup-scripts) which I
run; which gives me the errors I see above. What did I miss?

Ok,

I go to the page that you link below and it looks like it is for a
complete Angstrom Build, so I think that is not what I want to do.
But I do see a link on this page for a "simplified development setup
instructions" so I go there (http://www.angstrom-distribution.org/
simplified-development-setup) . That page links me over to the
scripts (http://gitorious.org/angstrom/angstrom-setup-scripts) which I
run; which gives me the errors I see above. What did I miss?

Did you actually read that simplified development setup page? It has things like "If you only need a toolchain" and "Another option is to use narcissus" in the text.

Hi,

The easiest way is to use narcissus: http://narcissus.angstrom-distribution.org/

Choose beagleboard and advanced

Under sdk choose full sdk for generated system

This will give you some zips (after a while) one of which is the toolchain.

Cheers

Andy

Yeah, I know; there must be some basic piece that I am missing and
when I finally see it I will realize how stupid I have been; but this
is really new to me. Generally I use WinCE and I need to Embedded
Linux on this next project.

I go to Narcissus and download a new toolchain, it is about 500Meg. I
untar it into /usr/local/angstrom.... and everything looks good; looks
like all the qtopia files are there. But the next thing I want to do
is to get QT-creator set up. So I download qt-creator and install it;
that looks good. Now I need to install the arm toolchain into qt-
creator....well there is no qmake in the /usr/local/angstrom toolchain
so I assume that I need to install qt-eveyrwhere on my system to get
all of the qt-tools that normally show up in the /opt.... directory.
So I started down that path and could not get it to compile, asked for
help, and you said I did not need to do that, and that I all I needed
was the toolchain. But if all I need is the toolchain how do I get
from it to a working arm build on QT-creator?

Again, thanks for your help!

Yeah, I know; there must be some basic piece that I am missing and
when I finally see it I will realize how stupid I have been; but this
is really new to me. Generally I use WinCE and I need to Embedded
Linux on this next project.

I go to Narcissus and download a new toolchain, it is about 500Meg. I
untar it into /usr/local/angstrom.... and everything looks good; looks
like all the qtopia files are there. But the next thing I want to do
is to get QT-creator set up. So I download qt-creator and install it;
that looks good. Now I need to install the arm toolchain into qt-
creator....well there is no qmake in the /usr/local/angstrom toolchain
so I assume that I need to install qt-eveyrwhere on my system to get
all of the qt-tools that normally show up in the /opt.... directory.
So I started down that path and could not get it to compile, asked for
help, and you said I did not need to do that, and that I all I needed
was the toolchain. But if all I need is the toolchain how do I get
from it to a working arm build on QT-creator?

OK, download http://www.angstrom-distribution.org/toolchains/untested/angstrom-2010.7-test-20101124-x86_64-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2 and unpack it.

That has qmake2 and mkspecs for qt creator. To use it without qt creator see the instructions at http://www.angstrom-distribution.org/toolchains/

Provided your buildhost is x86_64....

I don't believe that toolchain will import into qt-creator...which is
the hurtle that I am trying to get over.

Koen:

When you try to load the make file in the QT-creator Options screen it
comes back with this error message:

Could not determine the path to the binaries of the QT installation,
maybe the qmake path is wrong?

Qt-creator expects the tools/files to be in a specific tree format or
it will not work.

It will if you include qt in narcissus won't it?

"Full sdk for generated system" generates a full toolchain for whatever you select. That's what I thought anyway, but I could well be wrong!

Until proven wrong I believe it generates the toolchain for "Qt from
the command line" not a toolchain that is needed for qt-creator.

Those 2 things are one and the same, Qt creator only needs qmake and mkspecs

And a specific directory tree to operate out of..which the toolchain
does not provide.

Still having problems trying to get add this build, got the mkspecs in
the right directory in relation to the make file, but now it says it
is not valid because it says it "can not find the path to the binaries
of the QT installation."

And a specific directory tree to operate out of..which the toolchain
does not provide.

Still having problems trying to get add this build, got the mkspecs in
the right directory in relation to the make file, but now it says it
is not valid because it says it "can not find the path to the binaries
of the QT installation."

OK, I think I got it to work. Here are the things that I needed to
do.

Copy the mkspecs directory to /usr/local/angstrom/arm/arm-angstrom-
linux-gnueabi/usr/.

Added the following files from a qt-everywhere build (would not work
without these); and it required more than just the qmake.
  qmake
  lrelease
  moc
  rcc
  uic

Maybe in the future these files can be included in the toolchain???

Thanks for everyones help.

You're close :slight_smile:

I extracted the toolchain narcissus generated (full SDK, extra console packages -> QT/e4) to /tmp on my laptop

Powerbook-3:arm koen$ pwd
/tmp/usr/local/angstrom/arm

So we are in the toolchain directory

Powerbook-3:arm koen$ ls -la
total 24
drwxr-xr-x 15 koen wheel 510 27 nov 10:31 .
drwxr-xr-x 3 koen wheel 102 18 nov 21:35 ..
drwxr-xr-x 10 koen wheel 340 27 nov 10:31 arm-angstrom-linux-gnueabi
drwxr-xr-x 50 koen wheel 1700 27 nov 10:31 bin
-rw-r--r-- 1 koen wheel 1083 27 nov 10:31 environment-setup
drwxr-xr-x 4 koen wheel 136 27 nov 10:31 etc
drwxr-xr-x 3 koen wheel 102 27 nov 10:30 i686-linux
drwxr-xr-x 5 koen wheel 170 27 nov 10:30 include
drwxr-xr-x 11 koen wheel 374 27 nov 10:31 lib
drwxr-xr-x 3 koen wheel 102 27 nov 10:30 libexec
lrwxr-xr-x 1 koen wheel 51 27 nov 10:31 mkspecs -> arm-angstrom-linux-gnueabi/usr/share/qtopia/mkspecs
drwxr-xr-x 9 koen wheel 306 27 nov 10:30 share
-rw-r--r-- 1 koen wheel 0 27 nov 10:31 site-config
drwxr-xr-x 3 koen wheel 102 27 nov 10:31 usr
-rw-r--r-- 1 koen wheel 88 27 nov 10:31 version

So mkspecs is a symlink to the arm version

Powerbook-3:arm koen$ ls bin/ | grep -v eabi
i686-linux-libtool
libtool
libtoolize
lrelease
lrelease4
lupdate
lupdate4
moc
moc4
opkg-cl
opkg-key
pkg-config
qdbuscpp2xml
qdbuscpp2xml4
qdbusxml2cpp
qdbusxml2cpp4
qmake
qmake2
rcc
rcc4
uic
uic3
uic34
uic4
update-alternatives
Powerbook-3:arm koen$

And all the qt tools are there. The environment setup script sets up 'opkg' and 'opkg-target' aliases so you can install/remove things from the SDK if needed.

OK, with these Narcissus settings:

beagleboard
advanced
unstable
regular
udev
tar.gz
No software Manifest
full SDK
32bit Intel
Console Only

The only additional package that I downloaded was QT/e4

ls -la I get this:

trey@trey-ubuntu-laptop:~/Development/BeagleBoard/Angstrom-Arm/SDK-
Build/usr/local/angstrom/arm$ ls -latotal 52
drwxr-xr-x 11 trey trey 4096 2010-11-27 08:05 .
drwxr-xr-x 3 trey trey 4096 2010-11-18 16:39 ..
drwxr-xr-x 10 trey trey 4096 2010-11-27 08:05 arm-angstrom-linux-
gnueabi
drwxr-xr-x 2 trey trey 4096 2010-11-27 08:01 bin
-rw-r--r-- 1 trey trey 1083 2010-11-27 08:05 environment-setup
drwxr-xr-x 2 trey trey 4096 2010-11-27 08:05 etc
drwxr-xr-x 3 trey trey 4096 2010-11-27 08:01 i686-linux
drwxr-xr-x 2 trey trey 4096 2010-11-27 08:01 include
drwxr-xr-x 4 trey trey 4096 2010-11-27 08:01 lib
drwxr-xr-x 3 trey trey 4096 2010-11-27 08:01 libexec
drwxr-xr-x 5 trey trey 4096 2010-11-27 08:01 share
-rw-r--r-- 1 trey trey 0 2010-11-27 08:05 site-config
drwxr-xr-x 3 trey trey 4096 2010-11-27 08:05 usr
-rw-r--r-- 1 trey trey 88 2010-11-27 08:05 version
trey@trey-ubuntu-laptop:~/Development/BeagleBoard/Angstrom-Arm/SDK-
Build/usr/local/angstrom/arm$

Notice that their is no link to mkspecs.

ls bin/ | grep -v eabi

Gives me nothing. No qmake, no lreleases, no rcc.

I also tried downloading the qt-tools in the Development section, but
that made no difference.

What gives?

Here are the packages that were included: what other ones do I need?

qt4-embedded
qt4-embedded-demos
qt4-embedded-fonts
qt4-embedded-plugin-gfxdriver-gfxtransformed
qt4-embedded-plugin-gfxdriver-gfxvnc
qt4-embedded-plugin-imageformat-jpeg
qt4-embedded-plugin-imageformat-svg

I only tried the x86_64 one, since i have no 32bit intel machines anymore

Koen,

Tried with "64bit Intel" and guess what....all the files are included;
that stinks. All the files are included just like you showed in your
email above.

So I worked on this for 4 days and find out that Narcissus will not
build a complete toolchain in the 32bit intel SDK but does on a 64bit
intel SDK. A little warning would be helpful.

They even say "SDK hostsystem
Select the host system the SDK is going to run on, currenly only Intel
(and AMD, VIA, etc) architectures are supported. If you are unsure,
choose the 32bit option."

So, who would I report this error/inconsistency to?

BTW: You have been great, thanks for your help!!

And...at least I know I was not nuts.