Community Packages

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#61227 - [tribler] vlc is a hard dependency

Attached to Project: Community Packages
Opened by cochise césar (cochise) - Tuesday, 01 January 2019, 02:20 GMT
Last edited by Filipe Laíns (FFY00) - Tuesday, 29 January 2019, 22:54 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Filipe Laíns (FFY00)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


The package says vlc is a opt-depend, but he program don't start with it installed, so it should be a hard-dep

Additional info:
* package version(s)

Steps to reproduce:
Install tribler without vlc installed.
This task depends upon

Closed by  Filipe Laíns (FFY00)
Tuesday, 29 January 2019, 22:54 GMT
Reason for closing:  Fixed
Additional comments about closing:  tribler 7.2.0_rc1-3
Comment by Eli Schwartz (eschwartz) - Tuesday, 01 January 2019, 02:51 GMT
  • Field changed: Summary ([tribler] PLEASE ENTER SUMMARY → [tribler] vlc is a hard dependency)
  • Field changed: Status (Unconfirmed → Assigned)
  • Task assigned to Filipe Laíns (FFY00)
Error message when trying to start the program in a clean chroot:

Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/share/tribler/TriblerGUI/", line 66, in on_exception
File "/usr/share/tribler/TriblerGUI/", line 283, in delete_tray_icon
if self.tray_icon:
AttributeError: 'TriblerWindow' object has no attribute 'tray_icon'

Original exception was:
Traceback (most recent call last):
File "", line 114, in <module>
window = TriblerWindow()
File "/usr/share/tribler/TriblerGUI/", line 164, in __init__
File "/usr/share/tribler/TriblerGUI/widgets/", line 49, in initialize_player
self.instance = vlc.Instance()
File "/usr/share/tribler/TriblerGUI/", line 1952, in __new__
return libvlc_new(len(args), args)
File "/usr/share/tribler/TriblerGUI/", line 4408, in libvlc_new
ctypes.c_void_p, ctypes.c_int, ListPOINTER(ctypes.c_char_p))
File "/usr/share/tribler/TriblerGUI/", line 331, in _Cfunction
raise NameError('no function %r' % (name,))
NameError: no function 'libvlc_new'

Aside: upstream has a truly horrible shellscript wrapper that redirects all terminal output to some random file in /tmp and spams the console with pushd messages (shellscripts never, ever need to return to their previous working directory as the shellscript will not leak out to the user's terminal, and moreover, when using "exec", succeeding lines like the one that calls popd will never even be read or executed by the shell -- the whole point of exec is to discard the shell).

We should replace this wrapper with a much simpler one that doesn't attempt to impede the user from locating terminal output for debugging.