Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id 199747811F3 for <~alpine/devel@lists.alpinelinux.org>; Tue, 21 Jun 2022 12:20:44 +0000 (UTC) Received: by mail-ed1-f54.google.com with SMTP id e2so8174723edv.3 for <~alpine/devel@lists.alpinelinux.org>; Tue, 21 Jun 2022 05:20:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=ZgvvjcKSWdRF5VzMZrjE7RIwkSXOoigQgLJ7ckc9mv0=; b=Ml4Sl76og8UuoZI5vclIPDcQdEM7TlENtn9ykwD3Ma4T+GQlFlGRCNZqq9vvXpOgyt wq6YgtGYwHO399upo5p7HhnhjDGXa6oSStju1b40sh1jgu4rLu9wDKBnvnC7GRvZ5Ujp Rt55yg4nbLtyZdJo2qpPdh4pfZObR6TNAeEdfqi0hnradHXuJgyhq4xU/tCmL3RY+6dZ ndYIqEDrTUC5drlBxKd7rvaP0HcxCuq20Cz14LaYaFOd7HlQjmht67Ysp2I7++hn+uGM 2cCKIgozKC5i6/HxpF/64tuYuMufOMQqHr7dnaknSQCmL0HdliXdFjywl50PPfs3C0qo DcMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=ZgvvjcKSWdRF5VzMZrjE7RIwkSXOoigQgLJ7ckc9mv0=; b=suvFyPEGtGPYMVOu4IH2Q2QZ/n6kaE0i1IxT+Ewbo+sGhhKc7IEnwjaMtE4CerthOE GHRUijds9eT9J/GfUn6UHOQ0ElNQ1zf43swjB49LYhwWu82b1Z3YTLNXTjaP7qebTGtm TP87MF1LIiuX/AUFgJUQmGUbk/3undlbqCfB5b0abI+tB/+ECT/oHaJxGZcO0L+4E4bK QQHc3Q2IhvQwL+zSF5tjh7IGGYUPAru/AxY+lyRU8nh5zCQnJx73PZcV7FW9T8i6YQHL S35iRvO4evBfCz81PE0+2CDQ/BHFPDgw6xjuTQd0xHT2ijDoiVnxm9vKpHXMGmlxcPyZ slDw== X-Gm-Message-State: AJIora9LA3zfGMCIeULo6FnzcUYNCsfGMvWG7KbSJTJvRZ3HTVBQ28RH Crh7PtGDAAzepcxNKYZa1Aog9kJj0Vzx1kxOk8N97U+1uKE= X-Google-Smtp-Source: AGRyM1tc2Prja79B3aFpEXARfBIBi34lTG8lmJ5oJnnp9RysYlonmzbVFjYGEVqDV52KC1uwLTeGr0mcalo5EP2sqqA= X-Received: by 2002:a05:6402:1774:b0:435:7fea:8c02 with SMTP id da20-20020a056402177400b004357fea8c02mr12937337edb.213.1655814043600; Tue, 21 Jun 2022 05:20:43 -0700 (PDT) MIME-Version: 1.0 References: <87bkum1div.fsf@ungleich.ch> In-Reply-To: <87bkum1div.fsf@ungleich.ch> From: Tomas Kolda Date: Tue, 21 Jun 2022 14:20:32 +0200 Message-ID: Subject: Re: Native Alpine GLibc support (NEW) To: ~alpine/devel@lists.alpinelinux.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =C3=BAt 21. 6. 2022 v 13:07 odes=C3=ADlatel Nico Schottelius napsal: > > - a) Adding glibc support as an add-on/additionally to musl > While some things need to be clarified (which is libc.so...), most > things could stay the same and there would simply be an additional > libc installed and available. > > Using this approach there might be *some* packages which are > available as -glibc variants (like a JVM), but most of Alpine would > stay as-is. > I am not sure it is possible to have it in a stable way. There are more projects trying to achieve it. Some bring libraries from other distros (sgerrand), some does compatibility layer (gcompat). In both cases it is not 100% same so all applications does not work. First does not work when you dynamically want to use other library from OS that is musl. The other does not work when it relies on exact functionality as it is only proxy. Some functionality also relies on "headers" as well that affects it during compile time. That is why I tried (b). > > - b) Replacing musl with glibc > This would be more the scenario of a "fork" or "glibc version" of > Alpine. All packages would need to be compiled, similar to adding a > new architecture, but potentially doubling the builds. > > This might be more coherent and easier to understand and > potentially less confusing, if you only have software linked > against *one* libc. > Yes that is what I propose. To have a new "architecture" build that will simply have everything with glibc enabled. That is what we do. We have Alpine build with CLIBC=3Dglibc. We have around 300 packages (what we need) built with a full set of build tools (build-base + abuild + apk-tools + git). > > Both variants come with their disadvantages, I personally would have a > small a preference for (a), keeping Alpine simple and lean as is, but > adding glibc support in case it makes sense. > I would prefer (a) as well in case it can work for 100% cases. I do not know how to achieve it. Any try to mix these libraries end up with a crash.