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

Re: at the end of emdebuild...



On Thursday 27 March 2008, Neil Williams wrote:
> On Thu, 2008-03-27 at 19:28 +0000, David Goodenough wrote:
> > On Thursday 27 March 2008, Neil Williams wrote:
> > > On Thu, 2008-03-27 at 17:01 +0000, David Goodenough wrote:
> > > >   When doing a cross arch build it fails
> > > > saying that there is an uninitialised value in join (the place where
> > > > is uses @line is join( " ", @line)).
>
> This isn't a failure, it's just a warning message - the script
> continues without problems.
>
> > > > Now in this case there ARE (two) unmet things to be installed,
> > > > so it should have something to do here.
>
> apt-cross has identified that these two packages are already installed.
They may already have been downloaded, but they do not get installed
into the chroot.
>
> > Cleaned and emdebianised source tree for 'dpkg' exists at
> > '/home/david/emdebian/trunk/d/dpkg/trunk/dpkg-1.14.16.6'
> > Installing build dependencies with apt-get
> > Enter your sudo password if prompted.
> > Reading package lists... Done
> > Building dependency tree
> > Reading state information... Done
> > 0 upgraded, 0 newly installed, 0 to remove and 71 not upgraded.
> > Installing cross dependencies with emdebuild --build-dep
> > Use of uninitialized value in join or string at /usr/bin/emdebuild line
> > 674.
>
> I'm not sure why that message appears but it is not important, nor is it
> a "failure". It's just a message. I will see what can be done but it is
> not a problem.
>
> > Installing:   zlib1g-dev libbz2-dev libselinux1-dev with apt-cross.
>
> You should find that zlib1g-dev-mipsel-cross, libbz2-dev-mipsel-cross
> and libselinux1-dev-mipsel-cross are already installed and up to date.
>
> > Checking dependencies: /
> > 0 to be upgraded, 0 to be newly installed.
>
> That is what this line means - apt-cross has checked your installation
> and found that dpkg on your build machine claims these packages as
> already installed as cross packages (and are also almost certainly
> installed as native packages simply because so many other packages use
> them).
As it happens zlibg1-dev has not been installed.  dpkg reports:-

david@voyager:~/emdebian/trunk$ dpkg -l "zlib1-dev*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: 
uppercase=bad)
||/ Name                          Version                       Description
+++-=============================-=============================-==========================================================================
un  zlib1-dev                     <none>                        (no 
description available)
un  zlib1-dev-i386-cross          <none>                        (no 
description available)

So I am not quite sure why apt-cross thinks it has been.

apt-cross says:-

david@voyager:~/emdebian/trunk$ apt-cross -a mipsel -l zlib1g-dev-mipsel-cross
gcc-2.95-mipsel-cross
gettext-mipsel-cross
glibc-2.7-1-mipsel-cross
libc-dev-mipsel-cross
libc6-dev-mipsel-cross
libc6-mipsel-cross
libgcc1-mipsel-cross
libgdbmg1-dev-mipsel-cross
libstdc++-dev-mipsel-cross
libstdc++2.10-dev-mipsel-cross
libstdc++6-4.3-dev-mipsel-cross
libstdc++6-4.3-pic-mipsel-cross
libstdc++6-mipsel-cross
libterm-readline-gnu-perl-mipsel-cross
linux-kernel-headers-mipsel-cross
linux-libc-dev-mipsel-cross
man-db-mipsel-cross
ppp-mipsel-cross
david@voyager:~/emdebian/trunk$ apt-cross -a mipsel -s zlib1g-dev-mipsel-cross
apt-cross: Unable to find zlib1g-dev-mipsel-cross.

>
> > Attempting an automatic build
> > Building 'dpkg' for mipsel on i386.
>
> And so the build proceeds - any failures beyond this point are down to
> the build itself, not the dependencies.
>
> (Note that this stage happens at the very start of the build -
> dpkg-buildpackage hasn't even been called yet. emdebuild is about to set
> up the workarounds for the known dpkg cross building bugs and then call
> dpkg-buildpackage -a mipsel in that modified environment.)
Well the failures I get are to do with the failure to install zlib1g-dev.  
libz.so is not found, and the relevant headers are not found.  So it looks
as though although apt-cross may think it is installed, it has not been.  But
there are no other errors or warnings between these and the failure.

At the point of failure I get:-

checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for gzdopen in -lz... no
configure: error: zlib library not found
See `config.log' for more details.
make: *** [build-tree/config.status] Error 1
dpkg-buildpackage: failure: debian/rules build gave error exit status 2

And zlib should have been installed which is part of zlib1g-dev..  This worked 
just fine with the i386 build, this is the first time I have tried a cross 
architecture build.

David


Reply to: