mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Alexander Scherbatiy <alexander.scherbatiy@bell-sw.com>
To: musl@lists.openwall.com, Rich Felker <dalias@libc.org>
Subject: Re: gnu autoconf AC_CANONICAL_BUILD returns linux-gnu build_os on Alpine Linux 3.10.3
Date: Fri, 10 Jan 2020 15:34:13 +0300	[thread overview]
Message-ID: <31026f85-b5af-ec92-8ec4-4fb3b9f98b6c@bell-sw.com> (raw)
In-Reply-To: <20191230165408.GF30412@brightrain.aerifal.cx>

On 30.12.2019 19:54, Rich Felker wrote:

> On Mon, Dec 30, 2019 at 02:24:56PM +0300, Scherbatiy Alexander wrote:
>> Hello,
>>
>> gnu autoconf AC_CANONICAL_BUILD returns linux-gnu build_os variable on Alpine Linux 3.10.3.
>>
>> Here is a snippet from the configure.ac file which I tested in docker alpine:3.10.3
>> ----------------
>> AC_CANONICAL_BUILD
>> AC_MSG_NOTICE([build_os=$build_os])
>> ----------------
>> Output:
>> ----------------
>> checking build system type... x86_64-pc-linux-gnu
>> configure: build_os=linux-gnu
>> ----------------
>>
>> The same code on Alpine 3.8.4 (docker alpine:3.8 ) returns:
>> ----------------
>> checking build system type... x86_64-pc-linux-musl
>> configure: build_os=linux-musl
>> ----------------
>>
>> Is it expected that build_os is detected as linux-gnu instead of linux-musl on Alpine 3.0.3?
> Where was autoconf run to generate the configure script? Production of
> linux-musl tuples is a new behavior in recent autoconf, and whether it
> happens depends on what version of autoconf was used to build the
> configure script, not what versions of software are present where the
> configure script runs.

Below are outputs of running autoconf on Alpine Linux in docker.

The used autoconf (GNU Autoconf) version is 2.69.

Alpine Linux 3.10.3:

----------

 > docker run --rm -it alpine:3.10.3

 > apk add autoconf automake
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
fetch 
http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
(1/5) Installing m4 (1.4.18-r1)
(2/5) Installing libbz2 (1.0.6-r7)
(3/5) Installing perl (5.28.2-r1)
(4/5) Installing autoconf (2.69-r2)
(5/5) Installing automake (1.16.1-r0)
Executing busybox-1.30.1-r2.trigger
OK: 47 MiB in 19 packages

 > autoreconf -i
 > ./configure
...
configure: build_os=linux-gnu

----------

Alpine Linux 3.8.4:

----------

 > docker run --rm -it alpine:3.8.4

 > apk add autoconf automake
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch 
http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/5) Installing m4 (1.4.18-r1)
(2/5) Installing libbz2 (1.0.6-r7)
(3/5) Installing perl (5.26.3-r0)
(4/5) Installing autoconf (2.69-r2)
(5/5) Installing automake (1.16.1-r0)
Executing busybox-1.28.4-r3.trigger
OK: 45 MiB in 18 packages

 > autoreconf -i
 > ./configure
...
configure: build_os=linux-musl
----------

> Use of this result is almost certainly a bug/misuse of configure. Run
> a configure test for whatever property you're depending on, not
> whether the name is linux-musl vs linux-gnu.

The port of OpenJDK to Alpine Linux project Portola uses 
AC_CANONICAL_BUILD  autoconf property to set HOTSPOT_LIBC property [1].

What is the right way to define which libc should be used in this case?

[1] 
https://hg.openjdk.java.net/portola/portola/file/c4a7cf80a3bd/make/autoconf/platform.m4#l209

Thanks,

Alexander.

> Rich


      reply	other threads:[~2020-01-10 12:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-30 11:24 Scherbatiy Alexander
2019-12-30 16:54 ` Rich Felker
2020-01-10 12:34   ` Alexander Scherbatiy [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=31026f85-b5af-ec92-8ec4-4fb3b9f98b6c@bell-sw.com \
    --to=alexander.scherbatiy@bell-sw.com \
    --cc=dalias@libc.org \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).