Build-Cross-Depends packages

This page seeks to build a list of packages that have to be available on the build host as native packages and as cross packages, installed using dpkg-cross or apt-cross.

auto-apt

auto-apt was considered as a tool to identify these cross dependencies but the first results were not exciting:

  1. empdebuild needs a source of dependencies processed by dpkg-cross.
  2. auto-apt can obtain packages when requested from a repository
  3. apt-cross needs to be more intelligent and check if a cross-package is available rather than always building it afresh.
  4. debian/xcontrol can specify the packages required for empdebuild.
  5. debian/xcontrol is in SVN (as a patch)
  6. the toolchain repository already contains some cross packages.
  7. use auto-apt -L to write a log file: parse to create xcontrol.
  8. auto-apt does not create it's database on installation, need to copy it or update it. Yuk.
  9. auto-apt slows down the build enormously - too slow to use routinely. Also consumes all memory.
    • Therefore: only recommend when first emdebianising.
  10. logfile option (-L) does not work. (426854).

  11. auto-apt automation would try to install fortran compilers etc.
  12. auto-apt fails to locate the emdebian toolchain sources. (426851).

  13. auto-apt fails to detect the need for cross-built libraries:

# auto-apt -L -y run emdebuild -a arm
...
dpkg: /usr/arm-linux-gnu/lib/libpam.so.0 not found.
dpkg: /usr/arm-linux-gnu/lib/libselinux.so.1 not found.
dpkg: /usr/arm-linux-gnu/lib/libc.so.6 not found.
dpkg-shlibdeps: failure: dpkg --search gave error exit status 1
dh_shlibdeps: command returned error code 256
make: *** [binary-arch] Error 1
make: Leaving directory `/opt/trunk/c/cron/trunk/cron-3.0pl1'
sh-3.1# ls

Currently, the rest of this page is just a list of what I had to install for certain packages.

See also: EmdebianGuide and Emdebian

gcc-4.1

$ apt-cross --install libmpfr-dev

...

Setting up libgmp3c2-arm-cross (4.2.1+dfsg-4) ...
Setting up libgcc1-arm-cross (4.1.1-21) ...
Setting up libmpfr1-arm-cross (2.2.1.dfsg.1-2) ...
Setting up libstdc++6-arm-cross (4.1.1-21) ...
Setting up libgmpxx4-arm-cross (4.2.1+dfsg-4) ...
Setting up libgmp3-dev-arm-cross (4.2.1+dfsg-4) ...
Setting up libmpfr-dev-arm-cross (2.2.1.dfsg.1-2) ...

cdebconf

libdebian-installer4-dev

cron

libselinux-dev

sysvinit

libselinux-dev

pam

cracklib2-dev

dialog

libncursesw5-dev

logrotate

libselinux-dev
libpopt-dev

wget

libssl0.9.8
libssl-dev

openldap2

libltdl3-dev
libdb4.2-dev
libwrap0-dev
libiodbc2-dev
libsasl2-dev
libslp-dev

aptitude

libncursesw5-dev
libapt-pkg-dev (needs dpkg-cross >= 1.38 and apt-cross >= 0.1.2)
libsigc++-2.0-dev
libcppunit-dev (not picked up by configure, causes a failure much later if missing.)

libx11

xtrans-dev
libxau-dev 
x11proto-xcmisc-dev 
x11proto-bigreqs-dev 
x11proto-xext-dev
libxdmcp-dev
x11proto-kb-dev 
x11proto-input-dev

My current list of cross-built dev packages:

$ apt-cross --list | grep dev
amd64-libs-dev-arm-cross
attr-dev-arm-cross
dvb-dev-arm-cross
kerberos4kth-dev-arm-cross
libattr1-dev-arm-cross
libbz2-dev-arm-cross
libc-dev-arm-cross
libc6-dev-arm-cross
libc6.1-dev-arm-cross
libdebian-installer-dev-arm-cross
libdebian-installer4-dev-arm-cross
libgdbmg1-dev-arm-cross
libglib1.3-dev-arm-cross
libglib2.0-dev-arm-cross
libgmp2-dev-arm-cross
libgmp3-dev-arm-cross
libgpmg1-dev-arm-cross
libmpfr-dev-arm-cross
libncurses-dev-arm-cross
libncurses5-dev-arm-cross
libpam-dev-arm-cross
libpam0g-dev-arm-cross
libreadline-dev-arm-cross
libreadline5-dev-arm-cross
libselinux-dev-arm-cross
libselinux1-dev-arm-cross
libsepol-dev-arm-cross
libsepol1-dev-arm-cross
libslang2-dev-arm-cross
libsqlite-dev-arm-cross
libsqlite0-dev-arm-cross
libstdc++-dev-arm-cross
libstdc++2.10-dev-arm-cross
libstdc++6-4.1-dev-arm-cross
libxml2-dev-arm-cross
libz-dev-arm-cross
ncurses-dev-arm-cross
ncurses-developer-arm-cross
slang-dev6-arm-cross
slang0.99.34-dev-arm-cross
slang1-utf8-dev-arm-cross
zlib1-dev-arm-cross
zlib1g-dev-arm-cross


CategoryEmdebian