Hi Dimitry,

Yes it is stable/14 from a week ago. It is from within a jail, but I just 
tested it outside the jail and it fails as well.

The jail environment has been freshly rebuild on Januari 8. All executables and 
binaries are completely recompiled.

Same problem on another older stable/14 system.

Peter



> On 10 Jan 2025, at 11:19, Dimitry Andric <d...@freebsd.org> wrote:
> 
> On 10 Jan 2025, at 10:22, Peter Blok <pb...@bsd4all.org> wrote:
>> 
>> I have recompiled x11/libxkbcommon and it fails to detect if the 
>> compiler/linker supports versioned symbols. As a result other code expecting 
>> the versioned symbol to exist, fail to link.
>> 
>> C compiler for the host machine: cc (clang 19.1.5 "FreeBSD clang version 
>> 19.1.5 (https://github.com/llvm/llvm-project.git 
>> llvmorg-19.1.5-0-gab4b5a2db582)")
>> C linker for the host machine: cc ld.lld 19.1.5
>> 
>> Below the meson.build check. If I force have_version_script to true, the 
>> versioned symbols are created and other code links fine.
>> 
>> # Supports -Wl,--version-script?
>> have_version_script = cc.links(
>>   'int main(){}',
>>   args: '-Wl,--undefined-version,--version-script=' + 
>> meson.current_source_dir()/'xkbcommon.map',
>>   name: '-Wl,--version-script',
>> )
>> 
>> Below the output for the test.
>> 
>> Checking if "-Wl,--version-script" : links: NO
>> 
>> If I create test.c with content "int main(){}” and compile it manually with 
>> the same flags AFAIK, it compiles ok. No errors.
>> 
>> However when I capture "make configure" with ktrace, it fails with the error 
>> below.
>> 
>> ld: error: non-exported symbol 'environ' in '/usr/lib/crt1.o' is referenced 
>> by DSO '/lib/libc.so.7'
>>       ld: error: non-exported symbol '__progname' in '/usr/lib/crt1.o' is 
>> referenced by DSO '/lib/libc.so.7'
>>       cc: error: linker command failed with exit code 1 (use -v to see 
>> invocation)
>> 
>> What flags need to be added in meson.build to allow it to work?
>> 
>> BTW This is on recent stable, but I suspect it fails the same way on current 
>> which I do not run at the moment.
> 
> It works just fine on -CURRENT:
> 
> ...
> Checking if "-Wl,--version-script" : links: YES
> 
> Not sure what is going wrong in your environment. Is this stable/14?
> 
> -Dimitry
> 


Reply via email to