From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 10 Jul 2024 13:39:08 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1sRVfA-003P7L-1C for lore@lore.pengutronix.de; Wed, 10 Jul 2024 13:39:08 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1sRVfA-0006bG-0N; Wed, 10 Jul 2024 13:39:08 +0200 Received: from smtp99.ord1d.emailsrvr.com ([184.106.54.99]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sRVeu-0006b5-4U for ptxdist@pengutronix.de; Wed, 10 Jul 2024 13:38:52 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mev.co.uk; s=20221208-6x11dpa4; t=1720611530; bh=sqfaY2coat3PDq95i4XG1vmhMiFHE+W4Z/1Nig2WUds=; h=Date:Subject:To:From:From; b=gd6qE5hvgkSphTGB+V2f6+hP/1Mm/qVe1PQOHJNPH/I3KZlhNjpMxu0lPG4T+h0Y7 aToUx7FMwvPkJrhq36iv93Za4Ruv87IiP4dTS9R+C0EmmDDMZkTllT0CoDKMuvUm0d IUUIBAfySH9zffQ+3NjR+VplCBzTAxO5Li/2UTFM= X-Auth-ID: abbotti@mev.co.uk Received: by smtp5.relay.ord1d.emailsrvr.com (Authenticated sender: abbotti-AT-mev.co.uk) with ESMTPSA id 1FE5AA01F2 for ; Wed, 10 Jul 2024 07:38:50 -0400 (EDT) Message-ID: <5b0e0443-2aba-4425-bed0-c1fe4c2cb73e@mev.co.uk> Date: Wed, 10 Jul 2024 12:38:49 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ptxdist@pengutronix.de References: <5397b601-b66b-4a08-8076-e38a660fe227@mev.co.uk> Content-Language: en-GB From: Ian Abbott Organization: MEV Ltd. In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Classification-ID: 812c4819-2745-47d1-a838-720aa03ad763-1-1 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-3.2 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: Re: [ptxdist] nodejs build problems X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false On 10/07/2024 07:31, Michael Olbrich wrote: > On Tue, Jul 09, 2024 at 03:45:31PM +0100, Ian Abbott wrote: >> Hello folks, >> >> This is my first time trying to build nodejs for arm-v7a-linux-gnueabif and >> I'm not having much luck. It's failing at the "nodejs.prepare" stage in the >> `try_check_compiler(CXX, 'c++)` call in "configure.py: >> >> ---------------------[8<]------------------------ >> >> Traceback (most recent call last): >> File "/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/build-target/node-v20.11.0/./configure", >> line 29, in >> Node.js configure: Found Python 3.11.2... >> import configure >> File "/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/build-target/node-v20.11.0/configure.py", >> line 2026, in >> check_compiler(output) >> File "/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/build-target/node-v20.11.0/configure.py", >> line 1038, in check_compiler >> ok, is_clang, clang_version, gcc_version = try_check_compiler(CXX, >> 'c++') >> >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File "/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/build-target/node-v20.11.0/configure.py", >> line 944, in try_check_compiler >> gcc_version = tuple(map(int, values[1:1+3])) >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> ValueError: invalid literal for int() with base 10: '__STDC__' >> make: *** [/usr/local/lib/ptxdist-2024.03.0/rules/nodejs.make:84: /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/state/nodejs.prepare] >> Error 1 >> ---------------------[>8]------------------------ >> >> This is being built in a Debian 12 ("bookworm") schroot. (I also get the >> same problem when building in my usual Debian "testing" environment.) >> >> As you can see, I am using ptxdist-2024.03.0. The selected_toolchain is >> `/opt/OSELAS.Toolchain-2023.07.1/arm-v7a-linux-gnueabihf/gcc-13.2.1-clang-16.0.6-glibc-2.37-binutils-2.40-kernel-6.3.6-sanitized/bin`. >> >> I tried downgrading to the nodejs-v18.13.0 rules and patch series from >> ptxdist-2024.01.0, but it fails in the same way, so I think there is some >> incompatibility between that `try_check_compiler` function and the >> toolchain. >> >> I'm wondering if anyone else has seen the same problem and managed to solve >> it? > > Hmmm, I've not seen this in my build tests. And I'm testing that > combination as well. If you run ptxdist with '-v' then the whole compiler > commandline is recorded in the logfile (with a 'wrapper:' prefix). Maybe > call it manually to see what actually happens here. Thanks Michael. I have since built nodejs successfully for the v7a platform in DistroKit master branch, which uses the same toolchain, but a more recent ptxdist (2024.05.0), so that gives me something to compare against. For DistroKit (with ptxdist-2024.05.0): wrapper: arm-v7a-linux-gnueabihf-gcc -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/= -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-host/usr/lib/wrapper/=platform-v7a/ -mfpu=neon -fstack-protector-strong -fstack-clash-protection -fPIE -pie -D_GLIBCXX_ASSERTIONS -print-sysroot wrapper: cc -isystem /mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-host/usr/include -c -o /tmp/cgfoWvk4/dummy.o /tmp/cgfoWvk4/dummy.c wrapper: cc -isystem /mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-host/usr/include -E /tmp/cgfoWvk4/dummy.c wrapper: cc -isystem /mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-host/usr/include -E /tmp/cgfoWvk4/dummy.c wrapper: arm-v7a-linux-gnueabihf-gcc -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/= -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-host/usr/lib/wrapper/=platform-v7a/ -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -mfpu=neon -Wl,-z,relro -Wl,-z,now -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--build-id=sha1 -fstack-protector-strong -fstack-clash-protection -fPIE -pie -D_GLIBCXX_ASSERTIONS -x c -o /dev/null -v - -isystem /mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-target/usr/include -B/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-target/usr/lib -L/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-target/usr/lib -Wl,-rpath-link -Wl,/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-target/usr/lib wrapper: gcc -isystem /mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-host/usr/include -dumpversion wrapper: arm-v7a-linux-gnueabihf-ld -v wrapper: arm-v7a-linux-gnueabihf-gcc -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/= -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-host/usr/lib/wrapper/=platform-v7a/ -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -mfpu=neon -fstack-protector-strong -fstack-clash-protection -fPIE -pie -D_GLIBCXX_ASSERTIONS -dumpversion -isystem /mnt/lindata/work/abbotti/ptxdist/projects/DistroKit/platform-v7a/sysroot-target/usr/include For my platform (using ptxdist 2024.03.0): wrapper: arm-v7a-linux-gnueabihf-gcc -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/= -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-host/usr/lib/wrapper/=platform-its-ipt4v2/ -mfpu=neon -print-sysroot -ggdb3 wrapper: cc -isystem /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-host/usr/include -c -o /tmp/cgTFhVra/dummy.o /tmp/cgTFhVra/dummy.c wrapper: cc -isystem /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-host/usr/include -E /tmp/cgTFhVra/dummy.c wrapper: cc -isystem /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-host/usr/include -E /tmp/cgTFhVra/dummy.c wrapper: arm-v7a-linux-gnueabihf-gcc -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/= -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-host/usr/lib/wrapper/=platform-its-ipt4v2/ -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -mfpu=neon -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--build-id=sha1 -x c -o /dev/null -v - -isystem /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-target/usr/include -ggdb3 -B/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-target/usr/lib -L/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-target/usr/lib -Wl,-rpath-link -Wl,/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-target/usr/lib wrapper: gcc -isystem /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-host/usr/include -dumpversion wrapper: arm-v7a-linux-gnueabihf-ld -v wrapper: arm-v7a-linux-gnueabihf-gcc -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/= -fdebug-prefix-map=/mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-host/usr/lib/wrapper/=platform-its-ipt4v2/ -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -mfpu=neon -dumpversion -isystem /mnt/lindata/work/abbotti/ptxdist/projects/its-ipt4-demo/platform-its-ipt4v2/sysroot-target/usr/include -ggdb3 The main difference is that the DistroKit wrapper for arm-v7a-linux-gnueabihf has these options: -fstack-protector-strong -fstack-clash-protection -fPIE -pie -D_GLIBCXX_ASSERTIONS and does not have this option: -ggdb3 but I think that is just differences in the selected hardening and debugging options. My next step is to try and capture the commands and pipe contents that `try_check_compiler` is using. -- -=( Ian Abbott || MEV Ltd. is a company )=- -=( registered in England & Wales. Regd. number: 02862268. )=- -=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=- -=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=-