[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: More problems with Ubuntu (was Re: Emsandbox in arm board)




On Tue, Nov 25, 2008 at 2:39 PM, Neil Williams <codehelp@debian.org> wrote:
On Tue, 25 Nov 2008 11:32:29 +0530
Sivakumar.R.J <rj.sivakumar@gmail.com> wrote:

> > >    after running emsetup successfully, it finishes like saying
> > > "Setup appears OK for Emdebian. Nothing to do". But i dont know
> > > where the toolchain have been installed and how i will make use
> > > of it to build our own filesystem.
> >
> > Use --verbose and/or --report to see the packages. The toolchain has
> > been installed in the normal packaging places, as normal Debian
> > packages. Use dpkg -l 'gcc*'

>    yes, i got the toolchain installed in our machine, but when i gave
> 'dpkg -l gcc'  its showing many gcc packages, i dont know which
> toolchain for armel.Anyway i got arm-linux-gnu-* binaries.

This is the ARM toolchain:

ii  binutils-arm-linux-gnu        2.18.1~cvs20080103-7          The GNU binary utilities, for arm-linux-gnu target
ii  cpp-4.3-arm-linux-gnu         4.3.2-1                       The GNU C preprocessor
ii  g++-4.3-arm-linux-gnu         4.3.2-1                       The GNU C++ compiler
ii  gcc-4.3-arm-linux-gnu         4.3.2-1                       The GNU C compiler
ii  gcc-4.3-arm-linux-gnu-base    4.3.2-1                       The GNU Compiler Collection (base package)
ii  libc6-arm-cross               2.7-15                        GNU C Library: Shared libraries (for cross-compiling)
ii  libc6-dev-arm-cross           2.7-15                        GNU C Library: Development Libraries and Header Files (for cross-compiling
ii  libc6-dev-i386                2.7-16                        GNU C Library: 32bit development libraries for AMD64
ii  libgcc1-arm-cross             1:4.3.2-1                     GCC support library
ii  libstdc++6-4.3-dev-arm-cross  4.3.2-1                       The GNU Standard C++ Library v3 (development files)
ii  libstdc++6-4.3-pic-arm-cross  4.3.2-1                       The GNU Standard C++ Library v3 (shared library subset kit)
ii  libstdc++6-arm-cross          4.3.2-1                       The GNU Standard C++ Library v3
ii  linux-libc-dev-arm-cross      2.6.26-8                      Linux support headers for userspace development (for cross-compiling)

armel will be -arm-linux-gnueabi or -armel-cross

To get the same output for armel:
$ emsetup -a armel --report

     yes, its worked and listed all the installed toolchain for armel   arm-linux-gnueabi*


>     Can you tell me which are basic packages to cross compile for
> create a minimal root filesystem for our armel platform.

Depends on what you want your root filesystem to be capable of doing.
The smallest package set currently used for Emdebian Crush is listed in:
/usr/share/emdebian-tools/emdebian.crossd

The autobuilder will use that set by default.

The actual set is subject to change, always take the actual package
names from the emdebian.crossd file. Add the list of "required"
binaries to the list of "base" binaries to get the complete package set.

       required="busybox dpkg libstdc++6 libgcc1 libc6 cdebconf
       debconf-shell libdebian-installer4 zlib1g libnewt0.52
       libslang2 base-passwd"

       base="apt gpgv libncurses5 libreadline5 readline-common
       debianutils makedev whiptail gnupg udev base-files
       debian-archive-keyring dhcp3-client
       util-linux module-init-tools initscripts"

The autobuilder converts that into a set of source packages that it
builds with emdebuild and you can replicate the same step:

$ emdepends busybox dpkg libstdc++6 libgcc1 libc6 cdebconf debconf-shell libdebian-installer4 zlib1g libnewt0.52 libslang2 base-passwd apt gpgv libncurses5 libreadline5 readline-common debianutils makedev whiptail gnupg udev base-files debian-archive-keyring dhcp3-client util-linux module-init-tools initscripts
apt base-files base-passwd busybox bzip2 cdebconf debconf debian-archive-keyring debianutils dhcp3 dpkg e2fsprogs gcc-4.3 glibc gnupg libdebian-installer libselinux libtextwrap lsb makedev module-init-tools ncurses newt popt readline5 slang2 sysvinit tzdata udev util-linux zlib

after emsource gcc and while emdebuild its giving a dependency error.

checking for correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+.
Try the --with-gmp and/or --with-mpfr options to specify their locations.
Copies of these libraries' source code can be found at their respective
hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/.
See also http://gcc.gnu.org/install/prerequisites.html for additional info.
If you obtained GMP and/or MPFR from a vendor distribution package, make
sure that you have installed both the libraries and the header files.
They may be located in separate packages.
make[1]: *** [stamps/04-configure-stamp] Error 1
make[1]: Leaving directory `/home/siva/emdebian/target/trunk/g/gcc-4.3/trunk/gcc-4.3-4.3.2'
make: *** [stamps/04-configure-stamp] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2

When i try to run emdebuild --build-dep 

(mychroot)root@siva-desktop:~/emdebian/target/trunk/g/gcc-4.3/trunk/gcc-4.3-4.3.2# emdebuild -a armel --build-depChecking installation of build tools:  binutils binutils-multiarch
binutils binutils-multiarch autoconf autogen automake1.9 binutils-hppa64
binutils-spu bison chrpath debhelper dejagnu dpkg-dev expect-tcl8.3 flex
gawk gcc-multilib gettext gperf libtool locales lsb-release lzma m4 make
newlib-spu procps realpath sharutils texinfo with apt-get -y.
Reading package lists... Done
Building dependency tree      
Reading state information... Done
binutils is already the newest version.
binutils set to manually installed.
binutils-multiarch is already the newest version.
binutils-multiarch set to manually installed.
binutils is already the newest version.
binutils-multiarch is already the newest version.
autoconf is already the newest version.
autoconf set to manually installed.
E: Couldn't find package autogen
Installing:  libc6.1-dev libc0.3-dev libc0.1-dev libc6-dev lib32gcc1
lib64gcc1 libatomic-ops-dev libc0.1-dev-i386 libc6-dev-amd64 libc6-dev-i386
libc6-dev-mips64 libc6-dev-mipsn32 libc6-dev-powerpc libc6-dev-ppc64
libc6-dev-s390x libc6-dev-sparc64 libmpfr-dev libunwind7-dev with apt-cross
-m ftp://ftp.au.debian.org/debian.
Could not open file /home/siva/.apt-cross/unstable/lists/http.us.debian.org_debian_dists_unstable_main_source_Sources - open (2 No such file or directory)
apt-cross is unable to locate package: 'libc6-dev-amd64' - skipping
apt-cross is unable to locate package: 'libc0.3-dev' - skipping
apt-cross is unable to locate package: 'libc6.1-dev' - skipping
apt-cross is unable to locate package: 'lib64gcc1' - skipping
apt-cross is unable to locate package: 'libc6-dev-mips64' - skipping
apt-cross is unable to locate package: 'libc6-dev-powerpc' - skipping
apt-cross is unable to locate package: 'libunwind7-dev' - skipping
apt-cross is unable to locate package: 'libc0.1-dev-i386' - skipping
apt-cross is unable to locate package: 'libc6-dev-s390x' - skipping
apt(mychroot)root@siva-desktop:~/emdebian/target/trunk/g/gcc-4.3/trunk/gcc-4.3-4.3.2# emdebuild -a armel --build-depChecking installation of build tools:  binutils binutils-multiarch
binutils binutils-multiarch autoconf autogen automake1.9 binutils-hppa64
binutils-spu bison chrpath debhelper dejagnu dpkg-dev expect-tcl8.3 flex
gawk gcc-multilib gettext gperf libtool locales lsb-release lzma m4 make
newlib-spu procps realpath sharutils texinfo with apt-get -y.
Reading package lists... Done
Building dependency tree      
Reading state information... Done
binutils is already the newest version.
binutils set to manually installed.
binutils-multiarch is already the newest version.
binutils-multiarch set to manually installed.
binutils is already the newest version.
binutils-multiarch is already the newest version.
autoconf is already the newest version.
autoconf set to manually installed.
E: Couldn't find package autogen
Installing:  libc6.1-dev libc0.3-dev libc0.1-dev libc6-dev lib32gcc1
lib64gcc1 libatomic-ops-dev libc0.1-dev-i386 libc6-dev-amd64 libc6-dev-i386
libc6-dev-mips64 libc6-dev-mipsn32 libc6-dev-powerpc libc6-dev-ppc64
libc6-dev-s390x libc6-dev-sparc64 libmpfr-dev libunwind7-dev with apt-cross
-m ftp://ftp.au.debian.org/debian.
Could not open file /home/siva/.apt-cross/unstable/lists/http.us.debian.org_debian_dists_unstable_main_source_Sources - open (2 No such file or directory)
apt-cross is unable to locate package: 'libc6-dev-amd64' - skipping
apt-cross is unable to locate package: 'libc0.3-dev' - skipping
apt-cross is unable to locate package: 'libc6.1-dev' - skipping
apt-cross is unable to locate package: 'lib64gcc1' - skipping
apt-cross is unable to locate package: 'libc6-dev-mips64' - skipping
apt-cross is unable to locate package: 'libc6-dev-powerpc' - skipping
apt-cross is unable to locate package: 'libunwind7-dev' - skipping
apt-cross is unable to locate package: 'libc0.1-dev-i386' - skipping
apt-cross is unable to locate package: 'libc6-dev-s390x' - skipping
apt-cross is unable to locate package: 'libc0.1-dev' - skipping
apt-cross is unable to locate package: 'libc6-dev-i386' - skipping
apt-cross is unable to locate package: 'lib32gcc1' - skipping
apt-cross is unable to locate package: 'libc6-dev-mipsn32' - skipping
apt-cross is unable to locate package: 'libc6-dev-ppc64' - skipping
apt-cross is unable to locate package: 'libc6-dev-sparc64' - skipping
0 to be upgraded, 0 to be newly installed.

I get strucked here to proceed further.... how to install those dependency gmp and mpfr... also tried manually by emsource those packages and strucked in some libtool errorl. I have attached the complete bug report with this mail .


emdepends converts a list of binary packages into a unique list of
source packages. With the exception of busybox, all the rest will build
using emsource and emdebuild as normal. You can build those in any order.

> Anyway i
> started with busybox from emsource ,but when i try to run #emdebuild
> --build-dep  its giving me a error

Busybox is a manual build at the moment because we need to use a
version that is ahead of Debian. (It is the only package in that
condition because of the chpasswd bug.)

$ dget http://www.emdebian.org/packages/pool/main/b/busybox/busybox_1.11.1-1em1.dsc
$ cd busybox-1.11.1/
$ emdebuild -a armel

 its giving me the error .whether i have to create a trunk link for this.

Cannot find debian/control anywhere!
Are you in the source code tree?
 at /usr/bin/emdebuild line 210

   

As it is a manual build, the second and third runs through the build
(for the static and udeb packages) are not fully configured (I haven't
adapted the build config for the changes since busybox 1.10) so you
will get some questions you will need to answer. I just accept the
busybox default for each one.

> Checking for debian/control
> Checking for buildtime cross dependencies in 'debian/xcontrol'.
> No xcontrol file. Nothing to do.

busybox does not need an xcontrol file, it has no build dependencies
outside the toolchain itself.

> How can i get this xcontrol file inside the debian.

No need. All the xcontrol files you need are already available as
patches in Emdebian SVN.

> > You can also use it in any package build using:
> > $ dpkg-buildpackage -aarm
> > which in turn calls
> > $ ./configure --host=arm-linux-gnu --build=
> > (where build is either the full i386 or full amd64 triplet)
> >
>
>   I have to try this one after emdebuild work.

? that is to cross-build packages that are completely unknown to
Emdebian and Debian - there should be no need for you to call this,
emdebuild does it for you.


--


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/



--
Sivakumar.R.J

Attachment: gcc-error
Description: Binary data


Reply to: