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-126.96.36.199'
> > 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
As it happens zlibg1-dev has not been installed. dpkg reports:-
david@voyager:~/emdebian/trunk$ dpkg -l "zlib1-dev*"
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
||/ Name Version Description
un zlib1-dev <none> (no
un zlib1-dev-i386-cross <none> (no
So I am not quite sure why apt-cross thinks it has been.
david@voyager:~/emdebian/trunk$ apt-cross -a mipsel -l zlib1g-dev-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