Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(main/libidn2): Disable symver aliases. #18758

Merged
merged 1 commit into from
Jan 16, 2024

Conversation

tstein
Copy link
Contributor

@tstein tstein commented Dec 19, 2023

Building libidn2 currently fails at link:

make[3]: Entering directory '/home/builder/.termux-build/libidn2/build/lib'
  // snip
  CC       context.lo
  CCLD     libidn2.la
ld.lld: error: .libs/puny_encode.o: symbol _idn2_punycode_encode@IDN2_0.0.0 has undefined version IDN2_0.0.0
ld.lld: error: .libs/puny_decode.o: symbol _idn2_punycode_decode@IDN2_0.0.0 has undefined version IDN2_0.0.0
clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [Makefile:1609: libidn2.la] Error 1

This fix is recommended here[0]. I couldn't figure out a cleaner way to
do this. It would have been a more stable patch against config.ac, but
configure is included in the source tarball and this seemed like the
lesser evil. I manually built all packages explicitly depending on
libidn2 with this patch applied:

gnunet
gnurl
html-xml-utils
lftp
libcurl
libgmime
libgnutls
libknot
libpsl
msmtp
wget2
wget
whois

gnunet and wget2 fail with an apparently unrelated issue:

ld.lld: error: version script assignment of 'LIBCTF_1.0' to symbol 'ctf_label_set' failed: symbol not defined
ld.lld: error: version script assignment of 'LIBCTF_1.0' to symbol 'ctf_label_get' failed: symbol not defined

libgmime hangs building termux-am. The rest build fine.

[0] https://www.mail-archive.com/[email protected]/msg01356.html

Building libidn2 currently fails at link:

```
make[3]: Entering directory '/home/builder/.termux-build/libidn2/build/lib'
  // snip
  CC       context.lo
  CCLD     libidn2.la
ld.lld: error: .libs/puny_encode.o: symbol _idn2_punycode_encode@IDN2_0.0.0 has undefined version IDN2_0.0.0
ld.lld: error: .libs/puny_decode.o: symbol _idn2_punycode_decode@IDN2_0.0.0 has undefined version IDN2_0.0.0
clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [Makefile:1609: libidn2.la] Error 1
```

This fix is recommended here[0]. I couldn't figure out a cleaner way to
do this. It would have been a more stable patch against `config.ac`, but
`configure` is included in the source tarball and this seemed like the
lesser evil. I manually built all packages explicitly depending on
libidn2 with this patch applied:

gnunet
gnurl
html-xml-utils
lftp
libcurl
libgmime
libgnutls
libknot
libpsl
msmtp
wget2
wget
whois

`gnunet` and `wget2` fail with an apparently unrelated issue:

```
ld.lld: error: version script assignment of 'LIBCTF_1.0' to symbol 'ctf_label_set' failed: symbol not defined
ld.lld: error: version script assignment of 'LIBCTF_1.0' to symbol 'ctf_label_get' failed: symbol not defined
```

`libgmime` hangs building `termux-am`. The rest build fine.

[0] https://www.mail-archive.com/[email protected]/msg01356.html
@tstein tstein marked this pull request as ready for review December 19, 2023 22:56
@tstein
Copy link
Contributor Author

tstein commented Dec 20, 2023

The libctf issue exceeds me, but might be a consequence of an llvm strictening that causes false positives elsewhere? Definitely looking unrelated to this fix, afaict.

tstein added a commit to tstein/termux-packages that referenced this pull request Dec 24, 2023
…ilding.

Saw this in termux#18758. llvm appears to have upgraded a warning to an error
(https://reviews.llvm.org/D135402), and while they're not wrong to do
so, this package and others
(rust-lang/rust#105967) depended on it. This
is the simple fix, per the llvm reviews link.

Fixes termux#18750.
licy183 pushed a commit that referenced this pull request Dec 25, 2023
…18813)

Saw this in #18758. llvm appears to have upgraded a warning to an error
(https://reviews.llvm.org/D135402), and while they're not wrong to do
so, this package and others
(rust-lang/rust#105967) depended on it. This
is the simple fix, per the llvm reviews link.

Fixes #18750

[skip ci]
@licy183 licy183 merged commit 8cd75f0 into termux:master Jan 16, 2024
@licy183
Copy link
Member

licy183 commented Jan 16, 2024

Thanks!

xMeM pushed a commit to xMeM/termux-packages that referenced this pull request Jan 29, 2024
Building libidn2 currently fails at link:

```
make[3]: Entering directory '/home/builder/.termux-build/libidn2/build/lib'
  // snip
  CC       context.lo
  CCLD     libidn2.la
ld.lld: error: .libs/puny_encode.o: symbol _idn2_punycode_encode@IDN2_0.0.0 has undefined version IDN2_0.0.0
ld.lld: error: .libs/puny_decode.o: symbol _idn2_punycode_decode@IDN2_0.0.0 has undefined version IDN2_0.0.0
clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [Makefile:1609: libidn2.la] Error 1
```

This fix is recommended here [0]. I couldn't figure out a cleaner way to
do this. It would have been a more stable patch against `config.ac`, but
`configure` is included in the source tarball and this seemed like the
lesser evil. 

[0] https://www.mail-archive.com/[email protected]/msg01356.html

[skip ci]
bigbio2002 pushed a commit to bigbio2002/termux-packages that referenced this pull request Feb 27, 2024
…ermux#18813)

Saw this in termux#18758. llvm appears to have upgraded a warning to an error
(https://reviews.llvm.org/D135402), and while they're not wrong to do
so, this package and others
(rust-lang/rust#105967) depended on it. This
is the simple fix, per the llvm reviews link.

Fixes termux#18750

[skip ci]
bigbio2002 pushed a commit to bigbio2002/termux-packages that referenced this pull request Feb 27, 2024
Building libidn2 currently fails at link:

```
make[3]: Entering directory '/home/builder/.termux-build/libidn2/build/lib'
  // snip
  CC       context.lo
  CCLD     libidn2.la
ld.lld: error: .libs/puny_encode.o: symbol _idn2_punycode_encode@IDN2_0.0.0 has undefined version IDN2_0.0.0
ld.lld: error: .libs/puny_decode.o: symbol _idn2_punycode_decode@IDN2_0.0.0 has undefined version IDN2_0.0.0
clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [Makefile:1609: libidn2.la] Error 1
```

This fix is recommended here [0]. I couldn't figure out a cleaner way to
do this. It would have been a more stable patch against `config.ac`, but
`configure` is included in the source tarball and this seemed like the
lesser evil. 

[0] https://www.mail-archive.com/[email protected]/msg01356.html

[skip ci]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants