Re: git: 72ad532057c9 - main - archivers/zstd: Add CMake config files and adjust Makefile

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Mon, 10 Apr 2023 08:02:41 UTC

On 2023-04-10 01:47, Po-Chuan Hsieh wrote:

> Hi,
> 
> On Fri, Apr 7, 2023 at 5:36 AM Dima Panov <fluffy@freebsd.org> wrote:
> 
>> Moin-moin!
>> 
>> On 06.04.2023 16:32, Alexey Dokuchaev wrote:
>>> On Thu, Apr 06, 2023 at 03:19:55PM +0200, Guido Falsi wrote:
>>>> On 06/04/23 15:17, Alexey Dokuchaev wrote:
>>>>> On Wed, Apr 05, 2023 at 02:20:21PM +0200, Guido Falsi wrote:
>>>>>> On 05/04/23 08:15, Daniel Engberg wrote:
>>>>>>> commit 72ad532057c9f9fb6fa370c80f663c005e9dd021
>>>>>>> 
>>>>>>> archivers/zstd: Add CMake config files and adjust Makefile
>>>>>>> 
>>>>>>> - Use upstream's short test for "make test"
>>>>>>> - Use verbose output by default during build
>>>>>>> * Tweak Makefile to follow Porters Handbook more closely
>>>>>>> * Install CMake files (taken from CMake build framework)
>>>>>>> 
>>>>>>> PR:             267652
>>>>>>> Reported by:    fluffy
>>>>>>> Approved by:    portmgr (maintainer timeout, 1+ month)
>>>>>> 
>>>>>> Looks like this, un[luckily], causes a failure with devel/qt6-base
>>>>>> (abridged error, full log if needed):
>>>>>> 
>>>>>> ld: error: relocation R_X86_64_32 cannot be used against local 
>>>>>> symbol;
>>>>>> recompile with -fPIC
>>>>>>>>> defined in /usr/local/lib/libzstd.a(zstd_common.o)
>>>>>>>>> referenced by zstd_common.c
>>>>>>>>> zstd_common.o:(ZSTD_versionString) in archive
>>>>> 
>>>>> Yeah, I'm seeing this as well.  Admittedly, the whole commit looks
>>>>> dubious to me, with all these out-of-blue new files and gratuitous
>>>>> changes.  I guess sunpoet@ should revert it and merge only needed
>>>>> parts thereof properly.
>> 
>> Nope.
>> This commit unmasked the real problem of using autocrap tools to build
>> zstd -- a broken static library.
>> Issue was not raised before 'cause cmake configs was absent and qt6
>> (and may be other consumers) hooks up only shared lib.
> 
> It should be fixed in ports 454e3c91ae9105a9af1939c9632424083ed3bbdb.
> I've tested unmodified devel/qt6-base and it builds fine.
> 
>> Just to be clear -- I have a version of port converted to pure cmake 
>> build and
>> it produce a valid static library which correctly liked by any 
>> consumer.
>> 
>> Anyway, number of consumers which require cmake'd zstd will grow in 
>> near future.
>> openimageio/opencolorio/opnehadinglanguage are already require it to 
>> push
>> new versions to the ports tree.
> 
> Please let me know if more ports are broken.
> 
>>>> 
>>>> I have only reported the issue as an early warning, as I said.
>>>> 
>>>> Regarding qt6-base a fix has already been proposed here by diizzy:
>>>> 
>>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270664
>>> 
>>> Ah, good to know it's being taken care of, thanks for sharing!
>> 
>> Nope. This patch not fixes anything but masking the real issue with 
>> broken
>> libzstd.a by prefer dynamic library over static to link.
>> 
>> --
>> Sincerely,
>> Dima (fluffy@FreeBSD.org, https://t.me/FluffyBSD)
>> (desktop, kde, x11, office, ports-secteam)@FreeBSD team
> 
>> Hi,
> 
>> According to upstream this is not a good idea,
> 
>> https://github.com/facebook/zstd/issues/2233#issuecomment-655600389
> 
>> Best regards,
> 
>> Daniel