From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id C36D83858D1E for ; Wed, 21 Dec 2022 18:29:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C36D83858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.cz Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 444BF203E3; Wed, 21 Dec 2022 18:29:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1671647360; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=erldCu0PDnZ4OfJ9xdyJSfr83CTGoltRTYLJUIO/JOc=; b=ieVpu5hsbZ07AWVRxFDvmy0v7I3bnMEjXdOdvQvRGbYBIdy9a5t7Ecp8nhG/vPypAgBF0Q uguPky12lLXhRQHaCv+AWs3KalGV8mnlFGBGNm1Ps51wdKuo96QGIhwmgr7FldLdR+2WIe nCiVy8zUtgH97eBbd79H96HH9oQxLNM= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1671647360; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=erldCu0PDnZ4OfJ9xdyJSfr83CTGoltRTYLJUIO/JOc=; b=ZUFVDh9p8+IzeYqv0i9ySB/V/z4glObxsEY+xSszkkXAEytyKu63zgn9tJ1bIYJ/NcEw2f ovGgd1SDMO/vlOAw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 31DDC13913; Wed, 21 Dec 2022 18:29:20 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id zFI8C4BQo2MFfgAAMHmgww (envelope-from ); Wed, 21 Dec 2022 18:29:20 +0000 Message-ID: <5e9cb312-2d45-1094-a106-0431c7c24219@suse.cz> Date: Wed, 21 Dec 2022 19:29:19 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: =?UTF-8?Q?Re=3a_=e2=98=a0_Buildbot_=28GNU_Toolchain=29=3a_elfutils-?= =?UTF-8?Q?try-debian-armhf_-_failed_compile_=28failure=29_=28users/marxin/t?= =?UTF-8?Q?ry-zstd-support-v2=29?= Content-Language: en-US To: Mark Wielaard Cc: elfutils-devel@sourceware.org References: <20221221111547.74C4C385B50B@sourceware.org> <3bfe6caf-c08e-583e-a98c-4acdb47530f9@suse.cz> <20e14ca61f27119efca8e1e38292d82ac3048ec8.camel@klomp.org> From: =?UTF-8?Q?Martin_Li=c5=a1ka?= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 12/21/22 16:21, Mark Wielaard wrote: > Hi, > > On Wed, 2022-12-21 at 15:42 +0100, Mark Wielaard wrote: >> >> Unfortunately buildbot itself doesn't show the config.log. >> Trying to get that... >> >> configure:6961: checking for library containing ZSTD_compressStream2 >> configure:6992: gcc -o conftest -D_FORTIFY_SOURCE=3 -g -O2 >> -fsanitize=undefined >> -fno-sanitize-recover -fsanitize=address -fno-sanitize- >> recover conftest.c -llz >> ma -lbz2 >&5 >> /usr/bin/ld: /tmp/ccKZnuYA.o: in function `main': >> /var/lib/buildbot/workers/wildebeest/elfutils-try-debian- >> armhf/build/conftest.c: >> 30: undefined reference to `ZSTD_compressStream2' >> collect2: error: ld returned 1 exit status >> configure:6992: $? = 1 >> configure: failed program was: >>> /* confdefs.h */ >>> #define PACKAGE_NAME "elfutils" >>> #define PACKAGE_TARNAME "elfutils" >>> #define PACKAGE_VERSION "0.188" >>> #define PACKAGE_STRING "elfutils 0.188" >>> #define PACKAGE_BUGREPORT "https://sourceware.org/bugzilla" >>> #define PACKAGE_URL "http://elfutils.org/" >>> #define PACKAGE "elfutils" >>> #define VERSION "0.188" >>> #define DEFAULT_AR_DETERMINISTIC false >>> #define HAVE_VISIBILITY 1 >>> #define HAVE_STDATOMIC_H 1 >>> #define _FILE_OFFSET_BITS 64 >>> #define CHECK_UNDEFINED 1 >>> #define USE_ZLIB 1 >>> #define USE_BZLIB 1 >>> #define USE_LZMA 1 >>> /* end confdefs.h. */ >>> >>> /* Override any GCC internal prototype to avoid an error. >>> Use char because int might match the return type of a GCC >>> builtin and then its argument prototype would still apply. */ >>> #ifdef __cplusplus >>> extern "C" >>> #endif >>> char ZSTD_compressStream2 (); >>> int >>> main () >>> { >>> return ZSTD_compressStream2 (); >>> ; >>> return 0; >>> } >> >> configure:6992: gcc -o conftest -D_FORTIFY_SOURCE=3 -g -O2 >> -fsanitize=undefined >> -fno-sanitize-recover -fsanitize=address -fno-sanitize- >> recover conftest.c -lzs >> td -llzma -lbz2 >&5 >> configure:6992: $? = 0 >> configure:7009: result: -lzstd >> >> ehe? So it fails and then succeeds anyway? >> >> Strangely the same happens for the other compression library >> checks... >> lzma_auto_decoder and BZ2_bzdopen >> >> I don't fully understand this. Oddly the same seems to happen locally >> on my x86_64 box. So maybe the configure macros we have been using >> have >> always been bad/broken? > Hi. Good! > No, this is "normal". It first tries without the -l library (which is > the failing case) and then with the -l library (which succeeds). Ah, makes sense. > > What goes wrong is that this debian old stable arm setup has libzstd > containing a ZSTD_compressStream2 symbol... > > 40: 0000d349 264 FUNC GLOBAL DEFAULT 11 ZSTD_compressStream2 > > But the zstd.h header doesn't expose it... Yeah, that's their way of how to move an API from "staging" into a stable state. It was changed in: https://github.com/facebook/zstd/commit/d7d89513d6a21 and so it's present in zstd since 1.4.0. Can we somehow specify library version in configure.ac? Thanks, Martin > > /******************************************************************************* > ********* > * ADVANCED AND EXPERIMENTAL FUNCTIONS > ******************************************************************************* > ********* > * The definitions in the following section are considered experimental. > * They are provided for advanced scenarios. > * They should never be used with a dynamic library, as prototypes may change in > the future. > * Use them only in association with static linking. > * ***************************************************************************** > **********/ > > #if defined(ZSTD_STATIC_LINKING_ONLY) && !defined(ZSTD_H_ZSTD_STATIC_LINKING_ONLY) > > ... > > grmbl. > > This is somewhat unfortunate. We need a smarter configure check for this... > > Cheers, > > Mark