Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #63401

Re: [PATCH v2] deb-pkg: generate correct build dependencies

From Ben Hutchings <ben@decadent.org.uk>
Newsgroups linux.debian.kernel
Subject Re: [PATCH v2] deb-pkg: generate correct build dependencies
Date 2019-02-18 19:00 +0100
Message-ID <xsVmV-2XX-3@gated-at.bofh.it> (permalink)
References <xbMSK-61U-1@gated-at.bofh.it> <xbWIq-3yQ-7@gated-at.bofh.it> <xsU7w-2ko-13@gated-at.bofh.it> <xsUTU-2OO-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

On Tue, 2019-02-19 at 02:05 +0900, Masahiro Yamada wrote:
[...]
> "make allnoconfig; make bindeb-pkg"
> failed on Ubuntu 16.04, but succeeded on Ubuntu 18.04
> 
> I am puzzled...
[...]
> dpkg-buildpackage: host architecture i386
>  dpkg-source --before-build linux
> dpkg-checkbuilddeps: error: Unmet build dependencies: flex
> dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
> dpkg-buildpackage: warning: (Use -d flag to override.)
> scripts/package/Makefile:78: recipe for target 'bindeb-pkg' failed
> make[1]: *** [bindeb-pkg] Error 3
> Makefile:1390: recipe for target 'bindeb-pkg' failed
> make: *** [bindeb-pkg] Error 2
> 
> 
> The docker file I used is below.
> 
> If I change "FROM ubuntu:16.04" to "FROM ubuntu:18.04",
> it goes well.
[...]

For a cross-build, some build-dependencies may need to belong to the
host architecture (what the package will run on) while others do not. 
In general, they must do one of:

(a) Belong to the host architecture
(b) Belong to any architecture, and include "Multi-Arch: foreign" in
    their own metadata
(c) Belong to an architecture specified in the Build-Depends field

We normally want (b) for tools like flex.  But flex is (I assume)
missing the Multi-Arch field in Ubuntu 16.04, as it used to in Debian.

The way we dealt with this in Debian before flex was fixed was (c): use
"flex:native".  But for reasons I don't understand that *isn't*
compatible with (b), so to be compatible with both old and new versions
of flex you should build-depend on:

   flex | flex:native

Ben.

-- 
Ben Hutchings
The obvious mathematical breakthrough [to break modern encryption]
would be development of an easy way to factor large prime numbers.
                                                           - Bill Gates


Back to linux.debian.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2] deb-pkg: generate correct build dependencies riku.voipio@linaro.org - 2019-01-02 12:30 +0100
  Re: [PATCH v2] deb-pkg: generate correct build dependencies Ben Hutchings <ben@decadent.org.uk> - 2019-01-02 20:50 +0100
    Re: [PATCH v2] deb-pkg: generate correct build dependencies maximilian attems <maks@stro.at> - 2019-01-02 21:30 +0100
  Re: [PATCH v2] deb-pkg: generate correct build dependencies Masahiro Yamada <yamada.masahiro@socionext.com> - 2019-01-02 23:00 +0100
    Re: [PATCH v2] deb-pkg: generate correct build dependencies Masahiro Yamada <yamada.masahiro@socionext.com> - 2019-02-18 17:40 +0100
      Re: [PATCH v2] deb-pkg: generate correct build dependencies Masahiro Yamada <yamada.masahiro@socionext.com> - 2019-02-18 18:30 +0100
        Re: [PATCH v2] deb-pkg: generate correct build dependencies Ben Hutchings <ben@decadent.org.uk> - 2019-02-18 19:00 +0100
          Re: [PATCH v2] deb-pkg: generate correct build dependencies Ben Hutchings <ben@decadent.org.uk> - 2019-02-18 19:00 +0100
          Re: [PATCH v2] deb-pkg: generate correct build dependencies Masahiro Yamada <yamada.masahiro@socionext.com> - 2019-02-19 03:40 +0100
            Re: [PATCH v2] deb-pkg: generate correct build dependencies Masahiro Yamada <yamada.masahiro@socionext.com> - 2019-02-20 05:10 +0100

csiph-web