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

deluge: Update to latest libtorrent wheel version 1.2.18 and 2.0.8 #5477

Merged
merged 31 commits into from Feb 2, 2023

Conversation

th0ma7
Copy link
Contributor

@th0ma7 th0ma7 commented Nov 3, 2022

Description

deluge: Update to latest libtorrent wheel version 1.2.18 and 2.0.8

This PR provides the following:

  • Update to deluge libtorrent library
  • Fix of boost build pertaining to python
  • Fix issue with deluge on DSM7 pertaining to special characters being converted to .
  • Fix Error: skipping tracker announce (unreachable)

A framework change is also included:

  • Addition of new variable GCC_DEBUG_INFO that when set to 1 will change the optimization flags in order to include debug_info library symbols

Might fix #5452 & #5452 - debug_info enabled on DSM6 for follow-up

Checklist

  • Build rule all-supported completed successfully
  • New installation of package completed successfully
  • Package upgrade completed successfully (Manually install the package again)
  • Package functionality was tested
  • Any needed documentation is updated/created

Type of change

  • Bug fix
  • New Package
  • Package update
  • Includes small framework changes
  • This change requires a documentation update (e.g. Wiki)

@th0ma7
Copy link
Contributor Author

th0ma7 commented Nov 12, 2022

@hgy59 I've been looking for a solution of this kind since quite a while: the ability to "easily" generate debug_info packages so it becomes more obvious debugging them when getting segfault core-dumps using gdb.

As this is exactly what's hapening with libtorrent on DSM6, this PR also became a first attempt at doing so by adding a GCC_DEBUG system-wide variable that you can set as needed such as GCC_DEBUG = -O0 -g3 (wich is pretty much the standard from my understanding).

Your thoughts on it would be appreciated. I find this intrusive for cross/* dependencies that add -O flags. An other approach could the to look for -O flags within ADDITIONAL_CFLAGS and auto-magically removing them? Perhaps you might think of a slightly different approach more (un)optimized?

EDIT: I was able to find an alternate approach which makes this way more convenient. From spksrc.cross-env.mk it re-adjust the ADDITIONAL_C*FLAGS variables to strip any -O* option and add -O0 -g3 as gcc debug flags. This alleviate entirely the need to play with individual cross/Makefile as everything is lefts as is. The only thing needed is to set GCC_DEBUG_INFO := 1 in the needed build. In turn, up the wheel builds are being affected by this such as:

$ file _cffi_backend.cpython-310-x86_64-linux-gnu.so 
_cffi_backend.cpython-310-x86_64-linux-gnu.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, with debug_info, not stripped

@th0ma7 th0ma7 linked an issue Jan 14, 2023 that may be closed by this pull request
1 task
@th0ma7 th0ma7 requested a review from hgy59 January 31, 2023 03:00
@th0ma7
Copy link
Contributor Author

th0ma7 commented Jan 31, 2023

@hgy59 I'm now basically done with this PR which took me way more cycles than anticipated. python+boost+libtorrent are a real pain to deal with.

A second pair of eye would be needed in particular for the new framework functionality I've added. This pertains to the addition of new variable called GCC_DEBUG_INFO that when set to 1 will change the optimization flags in order to include debug_info library symbols which in turns help for lower-level gdb debugging.

@th0ma7 th0ma7 merged commit 2bf23c6 into SynoCommunity:master Feb 2, 2023
@th0ma7 th0ma7 deleted the deluge-libtorrent-update branch February 2, 2023 00:01
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.

Deluge 2.1.1-17 Segmentation fault on synology_armadaxp_ds214 Deluge 2.1.1-15 crash on x86 32-bit DSM 6.2.4
1 participant