Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id 5A045782C37 for <~alpine/devel@lists.alpinelinux.org>; Sat, 24 Apr 2021 03:15:05 +0000 (UTC) Received: by mail-qv1-f54.google.com with SMTP id bs7so24295018qvb.12 for <~alpine/devel@lists.alpinelinux.org>; Fri, 23 Apr 2021 20:15:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zededa.com; s=google; h=mime-version:from:date:message-id:subject:to; bh=ZghGp9vTtcMRpP6V2euiTt3Cw8LlyDaN09jsqY4BPFM=; b=UjR994wlydgI34Px395tRsAWQzjfLO19Eu11+G3khThf/zcB/hEky82Eb2CZ7BSF9A LvtMLbBBPH1hK32M8lLilnVz+QdNEmcvuiUDA9ePbLNg2FckKYSvZiVLopLarNkZYna/ zoIfaQsLuOMiCtzh+eHDA0cygVZctsfOJimAbPOcFheutwe66iztcrlgBwE/CUwYu584 IK8OQSI4UJSAfcdfXNkthyYxmf2T6gLEHR/m0i/Ffxxo+0lEAZBLj6CirMCtYANZeUjy uNSZpy3fP/l0+GpHJxVpEsvduNFM+KNI0ndHIJJ19YLRMCmEJcNqy+BtXCt2+nmb8QI5 U7ZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ZghGp9vTtcMRpP6V2euiTt3Cw8LlyDaN09jsqY4BPFM=; b=S86hN1DbmDhPQs93Y87GTkuf+YKbgLegEGwJ6SulejsCj7RDXtZlVneLlxhfOuP5X/ 1TUjMrzZuJzeB9XR8y1pRHa0RWZxFYGsHe8gFQ/8I83GmDj4GgOL12sPNIN5ROJxSyAW eUu1ZgmdfXGxxmG+wzp3Ew9bcttZt9Ex8SK8DgH3cQKzdWy8n6df0C0gie8Y36jvQ202 c2SuGt8bW1aQW4EPBDv0XCoMFg9qzvLipRmzwNnfQeJjES5EKZowMifrY8PaT4uOb5pw 8hDSFtegw+k8V6kppYnoBnonXmr/d5DC3midhO+E7F3xYaGsj7KBWVLja74V1/t/nX0z IenA== X-Gm-Message-State: AOAM5336yKAX/KmhhGTPxl/bjSTvFELFjSwUiZ0AkuqTIILmO1bTcs5y fIQTGg08R8gvm3NHZDJmoFL9WICaYAAMn433W/6dQ89GcPN+iw== X-Google-Smtp-Source: ABdhPJyCHwhLTdWDXzb565CcIasnOYDU0tcqAyboISNdpNfUlWMaHF70HGbB0/MsNqwEcFMkB5eX5SW56whIE9VSYqM= X-Received: by 2002:ad4:5684:: with SMTP id bc4mr5551893qvb.24.1619234103698; Fri, 23 Apr 2021 20:15:03 -0700 (PDT) MIME-Version: 1.0 From: Roman Shaposhnik Date: Fri, 23 Apr 2021 20:14:55 -0700 Message-ID: Subject: Alpine for riscv64 To: ~alpine/devel@lists.alpinelinux.org Content-Type: multipart/mixed; boundary="0000000000008f61c605c0af5166" --0000000000008f61c605c0af5166 Content-Type: text/plain; charset="UTF-8" Hi! long time lurker (and user of Alpine in Linux Foundation's Project EVE) first time poster here! Over at Project EVE we're now embarking on a riscv64 port and it would be super helpful if Alpine had that architecture supported. Since that's not that case, I started looking into it by using aports/scripts/bootstrap.sh and I have few things to report back. First good news -- after some small amount of patching of aports I was able to run the script and get myself a riscv64 build environment. I'm attaching the changes I had to make to accomplish this. These are mostly workaround and I'd love to collaborate with folks interested in riscv64 to at least clean these things up. The workarounds are roughly in the following categories: 0. stale config.sub (what's an Alpine way of dealing with this?) 1. nghttp2 binary that is generated with TEXT relocations (not sure what to do here) 2. failing to recognize a proper riscv64-alpine-linux-musl so I have to force riscv64-linux-musl And finally, here's the most interesting part in all of this -- it turns out that an initial gcc is lacking libatomic.so and thus a few packages fail. In order to workaround it I had to: 1. restructure bootstrap.sh slightly so that a proper gcc gets built 2. once #1 happens we add gcc and libatomic to build deps Not sure what's up with this and would love to know if there's a simpler way. In general, as I said -- I'd love to know if anyone else is also interested in riscv64 port and what's the best way to collaborate on that. Thanks, Roman. P.S. If you're curious what my next steps are - for EVE I need these packages: https://github.com/lf-edge/eve/blob/master/pkg/alpine/mirrors/3.13/main --0000000000008f61c605c0af5166 Content-Type: text/plain; charset="US-ASCII"; name="diff.txt" Content-Disposition: attachment; filename="diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_knv65xts0 ZGlmZiAtLWdpdCBhL21haW4vZ2NjL0FQS0JVSUxEIGIvbWFpbi9nY2MvQVBLQlVJTEQKaW5kZXgg YjU4ZDk3MGYyNC4uMzc2MmNmNTA5MiAxMDA2NDQKLS0tIGEvbWFpbi9nY2MvQVBLQlVJTEQKKysr IGIvbWFpbi9nY2MvQVBLQlVJTEQKQEAgLTIzLDE1ICsyMywxNSBAQCByZXBsYWNlcz0ibGlic3Rk YysrIGJpbnV0aWxzIgogCiA6ICIke0xBTkdfQ1hYOj10cnVlfSIKIDogIiR7TEFOR19EOj10cnVl fSIKLTogIiR7TEFOR19PQkpDOj10cnVlfSIKKzogIiR7TEFOR19PQkpDOj1mYWxzZX0iCiA6ICIk e0xBTkdfR086PXRydWV9IgotOiAiJHtMQU5HX0ZPUlRSQU46PXRydWV9IgotOiAiJHtMQU5HX0FE QTo9dHJ1ZX0iCis6ICIke0xBTkdfRk9SVFJBTjo9ZmFsc2V9IgorOiAiJHtMQU5HX0FEQTo9ZmFs c2V9IgogCiBfbGliZ29tcD10cnVlCiBfbGliZ2NjPXRydWUKIF9saWJhdG9taWM9dHJ1ZQotX2xp Yml0bT10cnVlCitfbGliaXRtPWZhbHNlCiAKIGlmIFsgIiRDSE9TVCIgIT0gIiRDVEFSR0VUIiBd OyB0aGVuCiAJaWYgWyAiJEJPT1RTVFJBUCIgPSBub2xpYmMgXTsgdGhlbgpkaWZmIC0tZ2l0IGEv bWFpbi9wa2djb25mL0FQS0JVSUxEIGIvbWFpbi9wa2djb25mL0FQS0JVSUxECmluZGV4IDRmMzli MjhkNGUuLmE5ZGI1NzUxNzIgMTAwNjQ0Ci0tLSBhL21haW4vcGtnY29uZi9BUEtCVUlMRAorKysg Yi9tYWluL3BrZ2NvbmYvQVBLQlVJTEQKQEAgLTE1LDcgKzE1LDcgQEAgY2hlY2tkZXBlbmRzPSJr eXVhIGF0ZiIKIGJ1aWxkKCkgewogCS4vY29uZmlndXJlIFwKIAkJLS1idWlsZD0kQ0JVSUxEIFwK LQkJLS1ob3N0PSRDSE9TVCBcCisJCS0taG9zdD1yaXNjdjY0LWxpbnV4LW11c2wgXAogCQktLXBy ZWZpeD0vdXNyIFwKIAkJLS1zeXNjb25mZGlyPS9ldGMgXAogCQktLW1hbmRpcj0vdXNyL3NoYXJl L21hbiBcCmRpZmYgLS1naXQgYS9tYWluL2lzbDIyL0FQS0JVSUxEIGIvbWFpbi9pc2wyMi9BUEtC VUlMRAppbmRleCAzMWZmYmIzY2Y5Li42N2IwMWQxMTdjIDEwMDY0NAotLS0gYS9tYWluL2lzbDIy L0FQS0JVSUxECisrKyBiL21haW4vaXNsMjIvQVBLQlVJTEQKQEAgLTI0LDcgKzI0LDcgQEAgYnVp bGRkaXI9IiRzcmNkaXIiL2lzbC0kcGtndmVyCiBidWlsZCgpIHsKIAkuL2NvbmZpZ3VyZSBcCiAJ CS0tYnVpbGQ9JENCVUlMRCBcCi0JCS0taG9zdD0kQ0hPU1QgXAorCQktLWhvc3Q9cmlzY3Y2NC1s aW51eC1tdXNsIFwKIAkJLS1wcmVmaXg9L3VzciBcCiAJCS0tbWFuZGlyPS91c3Ivc2hhcmUvbWFu IFwKIAkJLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbyBcCmRpZmYgLS1naXQgYS9tYWluL29wZW5z c2wvQVBLQlVJTEQgYi9tYWluL29wZW5zc2wvQVBLQlVJTEQKaW5kZXggZmNjNGI2ZmE1ZC4uYjhi Y2M2ZTZiZiAxMDA2NDQKLS0tIGEvbWFpbi9vcGVuc3NsL0FQS0JVSUxECisrKyBiL21haW4vb3Bl bnNzbC9BUEtCVUlMRApAQCAtNjMsNiArNjMsNyBAQCBidWlsZCgpIHsKIAkJeDg2KQkJX3Rhcmdl dD0ibGludXgtZWxmIiA7OwogCQl4ODZfNjQpCQlfdGFyZ2V0PSJsaW51eC14ODZfNjQiOyBfb3B0 ZmxhZ3M9ImVuYWJsZS1lY19uaXN0cF82NF9nY2NfMTI4IiA7OwogCQlzMzkweCkgCQlfdGFyZ2V0 PSJsaW51eDY0LXMzOTB4Ijs7CisJCXJpc2N2NjQpIAlfdGFyZ2V0PSJsaW51eC1nZW5lcmljNjQi OzsKIAkJKikJCW1zZyAiVW5hYmxlIHRvIGRldGVybWluZSBhcmNoaXRlY3R1cmUgZnJvbSAoQ0FS Q0g9JENBUkNIKSIgOyByZXR1cm4gMSA7OwogCWVzYWMKIApAQCAtNzQsNyArNzUsNyBAQCBidWls ZCgpIHsKIAkJLS1saWJkaXI9bGliIFwKIAkJLS1vcGVuc3NsZGlyPS9ldGMvc3NsIFwKIAkJc2hh cmVkIG5vLXpsaWIgJF9vcHRmbGFncyBcCi0JCW5vLWFzeW5jIG5vLWNvbXAgbm8taWRlYSBuby1t ZGMyIG5vLXJjNSBuby1lYzJtIFwKKwkJbm8tYXNtIG5vLXRocmVhZHMgbm8tYXN5bmMgbm8tY29t cCBuby1pZGVhIG5vLW1kYzIgbm8tcmM1IG5vLWVjMm0gXAogCQluby1zbTIgbm8tc200IG5vLXNz bDIgbm8tc3NsMyBuby1zZWVkIFwKIAkJbm8td2Vhay1zc2wtY2lwaGVycyBcCiAJCSRDUFBGTEFH UyAkQ0ZMQUdTICRMREZMQUdTIC1XYSwtLW5vZXhlY3N0YWNrCiAKZGlmZiAtLWdpdCBhL21haW4v bHZtMi9BUEtCVUlMRCBiL21haW4vbHZtMi9BUEtCVUlMRAppbmRleCA2Yzc4ZDBjZDU4Li5iM2Yy MzFiZTIzIDEwMDY0NAotLS0gYS9tYWluL2x2bTIvQVBLQlVJTEQKKysrIGIvbWFpbi9sdm0yL0FQ S0JVSUxECkBAIC0xMSw3ICsxMSw3IEBAIGxpY2Vuc2U9IkdQTC0yLjAtb25seSBMR1BMLTIuMS1v bmx5IgogIyBsdm0yIHdpbGwgZGxvcGVuIGxpYnMgc28gd2UgbmVlZCB0byBhZGQgZXhwbGljaXQg ZGVwZW5kCiBkZXBlbmRzPSJsdm0yLWxpYnM9JHBrZ3Zlci1yJHBrZ3JlbCIKIGRlcGVuZHNfZGV2 PSJsaW51eC1oZWFkZXJzIgotbWFrZWRlcGVuZHNfYnVpbGQ9ImNvcmV1dGlscyIKK21ha2VkZXBl bmRzX2J1aWxkPSJjb3JldXRpbHMgYXV0b21ha2UiCiBtYWtlZGVwZW5kc19ob3N0PSIkZGVwZW5k c19kZXYgbGliYWlvLWRldiB1dGlsLWxpbnV4LWRldiIKIG1ha2VkZXBlbmRzPSIkbWFrZWRlcGVu ZHNfYnVpbGQgJG1ha2VkZXBlbmRzX2hvc3QiCiBzb3VyY2U9Imh0dHBzOi8vbWlycm9ycy5rZXJu ZWwub3JnL3NvdXJjZXdhcmUvbHZtMi9MVk0yLiRwa2d2ZXIudGd6CkBAIC00Niw2ICs0Niw3IEBA IGJ1aWxkKCkgewogCWV4cG9ydCBhY19jdl9mdW5jX21hbGxvY18wX25vbm51bGw9eWVzCiAJZXhw b3J0IGFjX2N2X2Z1bmNfcmVhbGxvY18wX25vbm51bGw9eWVzCiAKKwljcCAvdXNyL3NoYXJlL2Fi dWlsZC9jb25maWcuc3ViIGF1dG9jb25mLwogCS4vY29uZmlndXJlIFwKIAkJLS1idWlsZD0kQ0JV SUxEIFwKIAkJLS1ob3N0PSRDSE9TVCBcCmRpZmYgLS1naXQgYS9tYWluL2N1bml0L0FQS0JVSUxE IGIvbWFpbi9jdW5pdC9BUEtCVUlMRAppbmRleCBlZjQ0ZDgzMDY4Li4zY2NkMjk4ZDgyIDEwMDY0 NAotLS0gYS9tYWluL2N1bml0L0FQS0JVSUxECisrKyBiL21haW4vY3VuaXQvQVBLQlVJTEQKQEAg LTI4LDYgKzI4LDcgQEAgcHJlcGFyZSgpIHsKIAogYnVpbGQoKSB7CiAJY2QgIiRidWlsZGRpciIK KwljcCAvdXNyL3NoYXJlL2FidWlsZC9jb25maWcuc3ViIC4KIAkuL2NvbmZpZ3VyZSBcCiAJCS0t YnVpbGQ9JENCVUlMRCBcCiAJCS0taG9zdD0kQ0hPU1QgXApkaWZmIC0tZ2l0IGEvbWFpbi9uZ2h0 dHAyL0FQS0JVSUxEIGIvbWFpbi9uZ2h0dHAyL0FQS0JVSUxECmluZGV4IGZkMWU2MzczMDIuLmM2 MGRjYjQyYWEgMTAwNjQ0Ci0tLSBhL21haW4vbmdodHRwMi9BUEtCVUlMRAorKysgYi9tYWluL25n aHR0cDIvQVBLQlVJTEQKQEAgLTUwLDYgKzUwLDcgQEAgYnVpbGQoKSB7CiAJCS0tZW5hYmxlLXN0 YXRpYyBcCiAJCS0tZW5hYmxlLWFwcAogCW1ha2UKKwlwcmludGYgIiMhL2Jpbi9zaFxudHJ1ZVxu IiA+IHNyYy8ubGlicy9uZ2h0dHB4CiB9CiAKIHBhY2thZ2UoKSB7CmRpZmYgLS1naXQgYS9zY3Jp cHRzL2Jvb3RzdHJhcC5zaCBiL3NjcmlwdHMvYm9vdHN0cmFwLnNoCmluZGV4IDhmMzA1YTRlYWYu LjY0MTIzNzA0MWYgMTAwNzU1Ci0tLSBhL3NjcmlwdHMvYm9vdHN0cmFwLnNoCisrKyBiL3Njcmlw dHMvYm9vdHN0cmFwLnNoCkBAIC02MCw3ICs2MCw3IEBAIGZpCiBpZiBbICEgLWQgIiRDQlVJTERS T09UIiBdOyB0aGVuCiAJbXNnICJDcmVhdGluZyBzeXNyb290IGluICRDQlVJTERST09UIgogCW1r ZGlyIC1wICIkQ0JVSUxEUk9PVC9ldGMvYXBrL2tleXMiCi0JY3AgLWEgL2V0Yy9hcGsva2V5cy8q ICIkQ0JVSUxEUk9PVC9ldGMvYXBrL2tleXMiCisJY3AgLWEgL2V0Yy9hcGsva2V5cy8qIH4vLmFi dWlsZC8qLnB1YiAiJENCVUlMRFJPT1QvZXRjL2Fway9rZXlzIgogCSR7U1VET19BUEt9IGFkZCAt LXF1aWV0IC0taW5pdGRiIC0tYXJjaCAkVEFSR0VUX0FSQ0ggLS1yb290ICRDQlVJTERST09UCiBm aQogCkBAIC04OCwxMSArODgsMTIgQEAgQ1RBUkdFVD0kVEFSR0VUX0FSQ0ggQk9PVFNUUkFQPW5v YmFzZSBBUEtCVUlMRD0kKGFwa2J1aWxkbmFtZSBnY2MpIGFidWlsZCAtcgogCiAjIENyb3NzIGJ1 aWxkLWJhc2UKIENUQVJHRVQ9JFRBUkdFVF9BUkNIIEJPT1RTVFJBUD1ub2Jhc2UgQVBLQlVJTEQ9 JChhcGtidWlsZG5hbWUgYnVpbGQtYmFzZSkgYWJ1aWxkIC1yCitleGl0IDAKIAogbXNnICJDcm9z cyBidWlsZGluZyBiYXNlIHN5c3RlbSIKIAogIyBJbXBsaWNpdCBkZXBlbmRlbmNpZXMgZm9yIGVh cmx5IHRhcmdldHMKIEVYVFJBREVQRU5EU19UQVJHRVQ9ImxpYmdjYyBsaWJzdGRjKysgbXVzbC1k ZXYiCiAKICMgb3JkZXJlZCBjcm9zcy1idWlsZAogZm9yIFBLRyBpbiBmb3J0aWZ5LWhlYWRlcnMg bGludXgtaGVhZGVycyBtdXNsIGxpYmMtZGV2IHBrZ2NvbmYgemxpYiBcCkBAIC05Niw5ICs5Niwx MCBAQCBFWFRSQURFUEVORFNfVEFSR0VUPSJsaWJnY2MgbGlic3RkYysrIG11c2wtZGV2IgogCiAj IG9yZGVyZWQgY3Jvc3MtYnVpbGQKIGZvciBQS0cgaW4gZm9ydGlmeS1oZWFkZXJzIGxpbnV4LWhl YWRlcnMgbXVzbCBsaWJjLWRldiBwa2djb25mIHpsaWIgXAotCSAgIG9wZW5zc2wgY2EtY2VydGlm aWNhdGVzIGxpYm1kIGxpYmJzZCBsaWJ0bHMtc3RhbmRhbG9uZSBidXN5Ym94IGJ1c3lib3gtaW5p dHNjcmlwdHMgYmludXRpbHMgbWFrZSBcCisJICAgb3BlbnNzbCBjYS1jZXJ0aWZpY2F0ZXMgbGli bWQgXAorCSAgIGdtcCBtcGZyNCBtcGMxIGlzbDIyIGNsb29nIGxpYnVjb250ZXh0IGJpbnV0aWxz IGdjYyBcCisJICAgbGliYnNkIGxpYnRscy1zdGFuZGFsb25lIGJ1c3lib3ggYnVzeWJveC1pbml0 c2NyaXB0cyBtYWtlIFwKIAkgICBhcGstdG9vbHMgZmlsZSBcCi0JICAgZ21wIG1wZnI0IG1wYzEg aXNsMjIgY2xvb2cgbGlidWNvbnRleHQgZ2NjIFwKIAkgICBvcGVucmMgYWxwaW5lLWNvbmYgYWxw aW5lLWJhc2VsYXlvdXQgYWxwaW5lLWtleXMgYWxwaW5lLWJhc2UgcGF0Y2ggYnVpbGQtYmFzZSBc CiAJICAgYXR0ciBsaWJjYXAgYWNsIGZha2Vyb290IHRhciBcCiAJICAgbHppcCBhYnVpbGQgbmN1 cnNlcyBsaWJlZGl0IG9wZW5zc2ggXApAQCAtMTEwLDcgKzExMSw3IEBAIGZvciBQS0cgaW4gZm9y dGlmeS1oZWFkZXJzIGxpbnV4LWhlYWRlcnMgbXVzbCBsaWJjLWRldiBwa2djb25mIHpsaWIgXAog CSAgIGxpYnhtbDIgbGx2bTEwIGNvbW11bml0eS9ydXN0IFwKIAkgICAkS0VSTkVMX1BLRyA7IGRv CiAKLQlFWFRSQURFUEVORFNfVEFSR0VUPSIkRVhUUkFERVBFTkRTX1RBUkdFVCIgXAorCUVYVFJB REVQRU5EU19UQVJHRVQ9IiRFWFRSQURFUEVORFNfVEFSR0VUIiAgRVhUUkFERVBFTkRTX0JVSUxE PSJsaWJhdG9taWMgZ2NjLSRUQVJHRVRfQVJDSCBnKystJFRBUkdFVF9BUkNIIiBcCiAJQ0hPU1Q9 JFRBUkdFVF9BUkNIIEJPT1RTVFJBUD1ib290aW1hZ2UgQVBLQlVJTEQ9JChhcGtidWlsZG5hbWUg JFBLRykgYWJ1aWxkIC1yCiAKIAljYXNlICIkUEtHIiBpbgpAQCAtMTE4LDYgKzExOSwxMSBAQCBm b3IgUEtHIGluIGZvcnRpZnktaGVhZGVycyBsaW51eC1oZWFkZXJzIG11c2wgbGliYy1kZXYgcGtn Y29uZiB6bGliIFwKIAkJIyBBZGRpdGlvbmFsIGltcGxpY2l0IGRlcGVuZGVuY2llcyBvbmNlIGJ1 aWx0CiAJCUVYVFJBREVQRU5EU19UQVJHRVQ9IiRFWFRSQURFUEVORFNfVEFSR0VUICRQS0ciCiAJ CTs7CisJZ2NjKQorCQkjIEFmdGVyIGdjYyBmdWxsIGJ1aWxkLCB3ZSBnZXQgdG8gaGF2ZSBsaWJh dG9taWMgdGhhdCBhIGxvdyBvZiBwYWNrYWdlcyByZXF1aXJlCisJCSMgVGhlIHJlYXNvbiB3ZSBu ZWVkIGdjYyBhcyB3ZWxsIGlzIGJlY2F1c2UgLnNvIGlzIHRoZXJlLCBub3QgaW4gbGliYXRvbWlj CisJCUVYVFJBREVQRU5EU19UQVJHRVQ9ImxpYmF0b21pYyBnY2MgJEVYVFJBREVQRU5EU19UQVJH RVQiCisJCTs7CiAJYnVpbGQtYmFzZSkKIAkJIyBBZnRlciBidWlsZC1iYXNlLCB0aGF0IGFsb25l IGlzIHN1ZmZpY2llbnQgZGVwZW5kZW5jeSBpbiB0aGUgdGFyZ2V0CiAJCUVYVFJBREVQRU5EU19U QVJHRVQ9ImJ1c3lib3ggJFBLRyIK --0000000000008f61c605c0af5166--