Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1135341pxb; Wed, 6 Apr 2022 09:31:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxiP1FOKpa00Gt6Dqrp1+BPyTdPfUwOcKBKx/X0QGImTAXLyhr5u5Tzt1fdmwG+HFq0TO73 X-Received: by 2002:a17:90b:4b47:b0:1c7:7c38:57d9 with SMTP id mi7-20020a17090b4b4700b001c77c3857d9mr10968511pjb.241.1649262699044; Wed, 06 Apr 2022 09:31:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649262699; cv=none; d=google.com; s=arc-20160816; b=jDpiFiVsnx6TS/zduglnnm8vLW9dUZ3KcatSCLQAdNLd6l6PVXDnJEFsMbh74YeIAH gA3mjlBRJz61RpMYqShwmpWIsuzLwk+OkP7E1Kq5+/1JGVk9jGM+e/PnyNp7YPCu+Jyp cnWefmI07LnEz3gA3WCc16IZ9pdsU89uuE6Qza7PT90ByM1p7OO1ogxBuv/urhGM8IJB 0ue4HIvCdflywjqUlw2mQqoxZ2F8lwNNykx+HCX17Aj9qxRQ9wwOlHoWMrk7ExYVgCw7 BjuHJFbwHraotix1q6OfN/AoLf5x4CZYrdFg23rm3TUpzeVxu8NpHoefxZ/r6P8dACAo x+Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=onv0vTjlZ5FsSICT7ZFt9T76KK6lx+bDwgM62rxjkik=; b=wI5brEhNx00DP++x19Y+3BfhqN5S7HHn59hv12xTSkBS0ZcJXVEAvDItwLTL9Z0oIn MEABvXLOOEg1ZFeqH7+9sKrron9aP1dX3Q4FTcK6cdwHfWI+MxK3UPGh8cHAJRWQccti R2lZJEhlC5QzqwwTBuOOX9GaW0Xr5iyvJ9qnqbfuLTrDaPsHJf41kBmr7Ju4iJP9pV+Q oMhI0HTlRIQGRk98DkFY6hVOybG73Rx3SbPwt1wnuPE+QgYQzynYeQZcgpIfHX2Gpd5p rDkJ9BHM4qW3UvQ7EPxgj4pFY5trnkbraYFTibgiU14oGZFPOaLZShsRWE/9mwUozVmy q6kg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mit.edu Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id z37-20020a634c25000000b0039958d8b11asi5742505pga.500.2022.04.06.09.31.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 09:31:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mit.edu Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BEFD313C705; Wed, 6 Apr 2022 08:38:31 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236106AbiDFPk3 (ORCPT + 99 others); Wed, 6 Apr 2022 11:40:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39498 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236196AbiDFPkU (ORCPT ); Wed, 6 Apr 2022 11:40:20 -0400 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F05713C702 for ; Wed, 6 Apr 2022 05:55:45 -0700 (PDT) Received: from cwcc.thunk.org (pool-108-7-220-252.bstnma.fios.verizon.net [108.7.220.252]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 236CmZRl002521 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 6 Apr 2022 08:48:36 -0400 Received: by cwcc.thunk.org (Postfix, from userid 15806) id 5539815C3EC0; Wed, 6 Apr 2022 08:48:35 -0400 (EDT) Date: Wed, 6 Apr 2022 08:48:35 -0400 From: "Theodore Ts'o" To: "Kiselev, Oleg" Cc: linux-ext4 Subject: Re: e2fsprogs builds and installs obsolete version of blkid Message-ID: References: <4EF2E5CC-E4E7-4463-893C-274EA9535EC1@amazon.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4EF2E5CC-E4E7-4463-893C-274EA9535EC1@amazon.com> X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Tue, Apr 05, 2022 at 11:15:22PM +0000, Kiselev, Oleg wrote: > The e2fsprogs contains a version 1.0.0 of `blkid`. This version > does not support flags that the current kernel install scripts pass > to `blkid`. By building and installing e2fsprogs I ended up > replacing blkid 2.30.2 with 1.0.0, which broke kernel packaging. > This is easily fixed by doing `yum reinstall util-linux`, which > reinstalls the correct version blkid. > > This mess could be avoided if e2fsprogs either included a more > modern version of blkid, or perhaps did not include blkid at all, > since a more current version of this utility is maintained and > installed through other packages. > > (Finding https://forums.centos.org/viewtopic.php?t=69655 helped a lot in figuring out why my kernel build started failing all of a sudden) The blkid and uuid libraries were moved from e2fsprogs from util-linux on most Linux distributions. However, these libraries are still needed to compile e2fsprogs, and they are needed for non-Linux operating systems, including FreeBSD, Illumos, etc., and some Linux systems, such as Android. That's why they haven't been removed. If you install the RHEL/Fedora packages libblkid-devel and libuuid-devel before you run run e2fsprogs's configure script, then it will use the system versions of libblkid and libuuid, which will do the right thing. (For Debian / Ubuntu the packages names are libblkid-dev and uuid-dev, but for these distributions it's better to just run "dpkg-buildpackage" since that will automatically build the Debian packages with all of the correct configure options via the debian/rules file, and the Build-Depends: declaration in debian/control will automatically enforce that you have all of the correct build prerequites installed.) If you hand done the simple thing that most novice users do, which is to just run "./configure ; make", then the binaries will statically link the old versions of blkid and uuid and that will work as well. You just ran into the case where (a) you knew enough to enable ELF share libraries, but (b) didn't know enough to install the system libraries instead, and (c) then did a "make install" instead of using a package manager to mediate installation of the programs. I'm sorry that happened to you, but it's a relatively rare combination, and the fact remains that there are other users of e2fsprogs besides Linux, and unfortunately, many open source packages, including util-linux and systemd, suffer from the "All The World Runs Linux" disease, which seems to be an updated form of the disease, "All the World's a Vax"[1]. (This is also why it would take more work than it's worth to try to backport newer versions of blkid into e2fsprogs.) Cheers, - Ted [1] From: https://www.lysator.liu.se/c/ten-commandments.html Commandment #10: Thou shalt foreswear, renounce, and abjure the vile heresy which claimeth that ``All the world's a VAX'', and have no commerce with the benighted heathens who cling to this barbarous belief, that the days of thy program may be long even though the days of thy current machine be short. This particular heresy bids fair to be replaced by ``All the world's a Sun'' or ``All the world's a 386'' (this latter being a particularly revolting invention of Satan), but the words apply to all such without limitation. Beware, in particular, of the subtle and terrible ``All the world's a 32-bit machine'', which is almost true today but shall cease to be so before thy resume grows too much longer.