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

bump Qt + fixes to be able to build and launch on Ubuntu 24.04 LTS Noble Numbat #83

Merged
merged 7 commits into from
Nov 4, 2024

Conversation

DeckerSU
Copy link
Owner

@DeckerSU DeckerSU commented Nov 4, 2024

This PR prepares the build and launch of KomodoOcean on Ubuntu 24.04 LTS (Noble Numbat). Updating Qt resolves the *** buffer overflow detected ***: terminated error during launch, and updating xcb_proto fixes the issue with the imp Python package during the build process. Another goal of this PR is to adapt the codebase for the new compiler while maintaining compatibility with the older GCC version on Ubuntu Xenial.

For more information, please refer to the commit descriptions.

Solve the error with `imp` Python module, which was used in Python 2
and older Python 3 versions, was removed in Python 3.12.
This module was typically used for import-related functionality,
which has since been replaced by importlib in recent Python versions.
- bitcoin/bitcoin#28769
- dashpay/dash#6032
- dashpay/dash#6011

Should fix crash on Ubuntu 24.04 / gcc 13.2.0:
```
*** buffer overflow detected ***: terminated

#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff764526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff76288ff in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff76297b6 in __libc_message_impl (fmt=fmt@entry=0x7ffff77ce765 "*** %s ***: terminated\n")
    at ../sysdeps/posix/libc_fatal.c:132
#6  0x00007ffff7736c19 in __GI___fortify_fail (msg=msg@entry=0x7ffff77ce74c "buffer overflow detected")
    at ./debug/fortify_fail.c:24
#7  0x00007ffff77365d4 in __GI___chk_fail () at ./debug/chk_fail.c:28
#8  0x00007ffff7737a67 in __readlink_chk (path=<optimized out>, buf=<optimized out>, len=<optimized out>,
    buflen=<optimized out>) at ./debug/readlink_chk.c:31
#9  0x0000555556ef3bc3 in qt_readlink(char const*) ()
#10 0x0000555556e3e30b in QLockFilePrivate::processNameByPid(long long) ()
```
1. We should use the above statements after `AX_BOOST_BASE`, as it redefines `BOOST_CPPFLAGS`.
2. For Boost 1.72 we should use -D_HAS_AUTO_PTR_ETC=0, for newer versions
-DBOOST_NO_CXX98_FUNCTION_BASE.

- boostorg/container_hash@fd310d2
- boostorg/functional@6a573e4
@DeckerSU DeckerSU merged commit 711fd88 into static-experimental Nov 4, 2024
1 check passed
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.

1 participant