[Blink] version 3.0.2 fails to initialize returning IO error
Mircea Sava
msava at vivaldi.net
Mon Feb 27 19:18:25 CET 2017
This small patch did the trick on my setup:
--- blink-3.0.2/blink/resources.py
+++ blink-3.0.2/blink/resources.py
@@ -75,7 +75,7 @@
if os.path.exists(os.path.join(application_directory,
'resources', 'blink.ui')):
cls._cached_directory =
os.path.join(application_directory,
'resources').decode(sys.getfilesystemencoding())
else:
- cls._cached_directory =
os.path.join(application_directory, 'share',
'blink').decode(sys.getfilesystemencoding())
+ cls._cached_directory = os.path.join(sys.prefix,
'share', 'blink').decode(sys.getfilesystemencoding())
return DirectoryContextManager(cls._cached_directory)
@classmethod
On 02/27/2017 04:59 PM, Mircea Sava wrote:
> Blink on Gentoo no longer has a maintainer and the ebuild in the portage
> tree is quite old so I wrote a new ebuild myself and installed the
> package. I will take your advice and contact the Python team and get
> their advice on a possible patch. Thanks
>
> On 02/27/2017 04:39 PM, Dan Pascu wrote:
>> Your problem is that /usr/bin/blink is a symlink to /usr/lib/python-exec/python-exec2
>>
>> I'm not familiar with how Gentoo does things and what that wrapper does, maybe the person that packaged blink for Gentoo can help you better.
>>
>> What I can tell you is how blink finds its resources:
>>
>> It starts from the script location (in this case /usr/bin/blink, but it could be /usr/local/bin/blink or /opt/bin/blink) and it goes up one directory and then down to share/blink, so if blink is installed in /usr, then /usr/bin/blink leads to /usr/share/blink, but if you are installed in /opt, then /opt/bin/blink leads to /opt/share/blink
>>
>> However in your case, the script (because of the symlink) is /usr/lib/python-exec/python-exec2, which I suspect it's a wrapper that actually launches /usr/lib/python-exec/python2.7/blink, which leads to the result you see.
>>
>> As a quick solution you can replace the /usr/bin/blink symlink with the actual script (I think it is in /usr/lib/python-exec/python2.7/blink). For a more permanent solution you need to talk with the person that packaged it for Gentoo
>>
>> On 27 Feb 2017, at 17:16, Mircea Sava wrote:
>>
>>> Sure thing!
>>>
>>> /usr
>>> > /bin
>>> + blink -> ../lib/python-exec/python-exec2
>>> > /lib
>>> > /python-exec
>>> > /python2.7
>>> + blink
>>> > /lib64
>>> > /python2.7
>>> > /site-packages
>>> > /blink
>>> + blink-3.0.2-py2.7.egg-info
>>> + __info__.py
>>> + __info__.pyc
>>> + __info__.pyo
>>> + __init__.py
>>> + __init__.pyc
>>> + __init__.pyo
>>> + aboutpanel.py
>>> + aboutpanel.pyc
>>> + aboutpanel.pyo
>>> + accounts.py
>>> + accounts.pyc
>>> + accounts.pyo
>>> + chatwindow.py
>>> + chatwindow.pyc
>>> + chatwindow.pyo
>>> > /configuration
>>> + __init__.py
>>> + __init__.pyc
>>> + __init__.pyo
>>> + account.py
>>> + account.pyc
>>> + account.pyo
>>> + addressbook.py
>>> + addressbook.pyc
>>> + addressbook.pyo
>>> + datatypes.py
>>> + datatypes.pyc
>>> + datatypes.pyo
>>> + settings.py
>>> + settings.pyc
>>> + settings.pyo
>>> + contacts.py
>>> + contacts.pyc
>>> + contacts.pyo
>>> + event.py
>>> + event.pyc
>>> + event.pyo
>>> + filetransferwindow.py
>>> + filetransferwindow.pyc
>>> + filetransferwindow.pyo
>>> + history.py
>>> + history.pyc
>>> + history.pyo
>>> + logging.py
>>> + logging.pyc
>>> + logging.pyo
>>> + mainwindow.py
>>> + mainwindow.pyc
>>> + mainwindow.pyo
>>> + preferences.py
>>> + preferences.pyc
>>> + preferences.pyo
>>> + presence.py
>>> + presence.pyc
>>> + presence.pyo
>>> + resources.py
>>> + resources.pyc
>>> + resources.pyo
>>> > /screensharing
>>> + __init__.py
>>> + __init__.pyc
>>> + __init__.pyo
>>> + _rfb.so
>>> + vncclient.py
>>> + vncclient.pyc
>>> + vncclient.pyo
>>> + vncviewer.py
>>> + vncviewer.pyc
>>> + vncviewer.pyo
>>> + sessions.py
>>> + sessions.pyc
>>> + sessions.pyo
>>> > /update
>>> + __init__.py
>>> + __init__.pyc
>>> + __init__.pyo
>>> + windows.py
>>> + windows.pyc
>>> + windows.pyo
>>> + util.py
>>> + util.pyc
>>> + util.pyo
>>> > /widgets
>>> + __init__.py
>>> + __init__.pyc
>>> + __init__.pyo
>>> + buttons.py
>>> + buttons.pyc
>>> + buttons.pyo
>>> + color.py
>>> + color.pyc
>>> + color.pyo
>>> + containers.py
>>> + containers.pyc
>>> + containers.pyo
>>> + frames.py
>>> + frames.pyc
>>> + frames.pyo
>>> + graph.py
>>> + graph.pyc
>>> + graph.pyo
>>> + labels.py
>>> + labels.pyc
>>> + labels.pyo
>>> + lineedit.py
>>> + lineedit.pyc
>>> + lineedit.pyo
>>> + otr.py
>>> + otr.pyc
>>> + otr.pyo
>>> + spinner.py
>>> + spinner.pyc
>>> + spinner.pyo
>>> + util.py
>>> + util.pyc
>>> + util.pyo
>>> + video.py
>>> + video.pyc
>>> + video.pyo
>>> + zrtp.py
>>> + zrtp.pyc
>>> + zrtp.pyo
>>> > /share
>>> > /applications
>>> + blink-blink.desktop
>>> > /blink
>>> + about_panel.ui
>>> + add_account.ui
>>> + audio_session.ui
>>> + audio_session_drag.ui
>>> + blink.ui
>>> > /chat
>>> > /styles
>>> > /Smooth Operator
>>> + Classic.style
>>> + Dim Icon-Time.style
>>> + Dim Time-Icon.style
>>> + Icon-Time.style
>>> + Time-Icon.style
>>> > /css
>>> + topic.css
>>> > /html
>>> + message.html
>>> + message_continuation.html
>>> + notification.html
>>> + topic.html
>>> + style.xml
>>> > /test
>>> + mockup-incoming_icon.png
>>> + mockup-outgoing_icon.png
>>> + mockup.html
>>> + view.py
>>> > /Stockholm
>>> + Blue - Green.style
>>> + Blue - Grey.style
>>> + Blue - Orange.style
>>> + Blue - Red.style
>>> + Green - Blue.style
>>> + Green - Grey.style
>>> + Green - Orange.style
>>> + Green - Red.style
>>> + Grey - Blue.style
>>> + Grey - Green.style
>>> + Grey - Orange.style
>>> + Grey - Red.style
>>> + Orange - Blue.style
>>> + Orange - Green.style
>>> + Orange - Grey.style
>>> + Orange - Red.style
>>> + Red - Blue.style
>>> + Red - Green.style
>>> + Red - Grey.style
>>> + Red - Orange.style
>>> > /css
>>> + base.css
>>> + incoming-blue.css
>>> + incoming-green.css
>>> + incoming-grey.css
>>> + incoming-orange.css
>>> + incoming-red.css
>>> + outgoing-blue.css
>>> + outgoing-green.css
>>> + outgoing-grey.css
>>> + outgoing-orange.css
>>> + outgoing-red.css
>>> + topic.css
>>> > /html
>>> + message.html
>>> + message_continuation.html
>>> + notification.html
>>> + topic.html
>>> > /images
>>> + pref-mention-mask.png
>>> + style.xml
>>> > /test
>>> + buddy_icon.png
>>> + file_transfer.html
>>> + mockup.html
>>> + view.py
>>> + template.html
>>> + chat_input_lock.ui
>>> + chat_session.ui
>>> + chat_widget.ui
>>> + chat_window.ui
>>> + conference_dialog.ui
>>> + contact.ui
>>> + contact_editor.ui
>>> + contact_group.ui
>>> + filetransfer_item.ui
>>> + filetransfer_window.ui
>>> > /icons
>>> + accounts.png
>>> + advanced-settings.png
>>> + application-exit.png
>>> + arrow-inward-blue.svg
>>> + arrow-inward-red.svg
>>> + arrow-outward-green.svg
>>> + arrow-outward-red.svg
>>> + attach.svg
>>> + audio-auto-rejected.png
>>> + audio-rejected.png
>>> + audio.png
>>> + avatar-nate.png
>>> + avatar-ruby.png
>>> + avatar.png
>>> + bell-off.svg
>>> + bell-on.svg
>>> + bell.svg
>>> + blink-logo.png
>>> + blink.ico
>>> + blink.png
>>> + blink48.png
>>> + blink64.png
>>> + camera.svg
>>> + camera12.svg
>>> + cancel.png
>>> + chat-auto-rejected.png
>>> + chat-rejected.png
>>> + chat.png
>>> + chat.svg
>>> + chat12.svg
>>> + circle-dot.svg
>>> + circle-grey.svg
>>> + circle-progress.svg
>>> + clock.svg
>>> + close-active.svg
>>> + close.svg
>>> + cog.svg
>>> + composing12.svg
>>> + configure.png
>>> + connection-direct.svg
>>> + connection-relay.svg
>>> + connection-unknown.svg
>>> + cross-white.svg
>>> + default-avatar.png
>>> + delete.svg
>>> + detach.svg
>>> + downloads16.svg
>>> + file-broken.png
>>> + file-transfer.png
>>> + folder-downloads.png
>>> + folder-uploads.png
>>> + fullscreen-exit.svg
>>> + fullscreen.svg
>>> + green-dot.svg
>>> + grey-dot.svg
>>> + handset.svg
>>> + handset12-red.svg
>>> + info16.svg
>>> + invalid.png
>>> + invalid16.png
>>> + lock-blue-12.svg
>>> + lock-green-12.svg
>>> + lock-grey-12.svg
>>> + lock-orange-12.svg
>>> + lock-red-12.svg
>>> + logging.png
>>> + media-playback-start.svg
>>> + media-record.svg
>>> + mic-off.svg
>>> + mic-on.svg
>>> + mic12-off.svg
>>> + mic12-on.svg
>>> + microphone.svg
>>> + minimize-active.svg
>>> + minimize.svg
>>> + minus.svg
>>> + minus18.svg
>>> + mwi-0.png
>>> + mwi-1.png
>>> + mwi-10.png
>>> + mwi-2.png
>>> + mwi-3.png
>>> + mwi-4.png
>>> + mwi-5.png
>>> + mwi-6.png
>>> + mwi-7.png
>>> + mwi-8.png
>>> + mwi-9.png
>>> + mwi-many.png
>>> + participants16.svg
>>> + pause.svg
>>> + pause12.svg
>>> + paused.svg
>>> + paused12.svg
>>> + plus.svg
>>> + plus18.svg
>>> + quick-settings.png
>>> + record.svg
>>> + record12.svg
>>> + recording.svg
>>> + recording12.svg
>>> + red-dot.svg
>>> + refresh.png
>>> + resize-bottom.svg
>>> + resize-top.svg
>>> + retry.svg
>>> + scale.svg
>>> + screen.svg
>>> + screen12.svg
>>> + screensharing-auto-rejected.png
>>> + screensharing-rejected.png
>>> + screensharing.png
>>> + screenshot.svg
>>> + search.svg
>>> + speaker.svg
>>> + speaker12.svg
>>> + spinner.svg
>>> + state-available.svg
>>> + state-away.svg
>>> + state-busy.svg
>>> + state-invisible.svg
>>> + test-call.png
>>> + test-conference.png
>>> + transform.png
>>> + video-auto-rejected.png
>>> + video-rejected.png
>>> + video.png
>>> + viewonly.svg
>>> + wizard.png
>>> > /work
>>> + actions.svg
>>> + arrows-inout.svg
>>> + arrows.svg
>>> + audio-devices.xcf
>>> + audio12.svg
>>> + bell.svg
>>> + camera.svg
>>> + camera12.svg
>>> + chat.svg
>>> + chat12.svg
>>> + circles.svg
>>> + clock.svg
>>> + cog.svg
>>> + composing12.svg
>>> + connection.svg
>>> + cursors.svg
>>> + downloads16.svg
>>> + file-broken.xcf
>>> + folder-downloads.xcf
>>> + folder-uploads.xcf
>>> + handset.svg
>>> + handset.xcf
>>> + handset12.svg
>>> + info16.svg
>>> + lock.svg
>>> + lock12.svg
>>> + microphone.svg
>>> + microphone12.svg
>>> + modifier-keys.svg
>>> + mwi.svg
>>> + participants16.svg
>>> + pause.svg
>>> + pause12.svg
>>> + progress.svg
>>> + record.svg
>>> + record12.svg
>>> + retry.svg
>>> + screen.svg
>>> + screen12.svg
>>> + speaker.svg
>>> + speaker12.svg
>>> + spinner.svg
>>> + streams.xcf
>>> + switch.svg
>>> + yellow-dot.svg
>>> + incoming_calltransfer_dialog.ui
>>> + incoming_dialog.ui
>>> + incoming_filetransfer_dialog.ui
>>> + otr_widget.ui
>>> + pending_watcher.ui
>>> + preferences.ui
>>> + screensharing_dialog.ui
>>> + screensharing_toolbox.ui
>>> + screensharing_window.ui
>>> + server_tools.ui
>>> > /sounds
>>> + beeping_ringtone.wav
>>> + dtmf_#_tone.wav
>>> + dtmf_0_tone.wav
>>> + dtmf_1_tone.wav
>>> + dtmf_2_tone.wav
>>> + dtmf_3_tone.wav
>>> + dtmf_4_tone.wav
>>> + dtmf_5_tone.wav
>>> + dtmf_6_tone.wav
>>> + dtmf_7_tone.wav
>>> + dtmf_8_tone.wav
>>> + dtmf_9_tone.wav
>>> + dtmf_A_tone.wav
>>> + dtmf_B_tone.wav
>>> + dtmf_C_tone.wav
>>> + dtmf_D_tone.wav
>>> + dtmf_star_tone.wav
>>> + file_transfer.wav
>>> + hangup_tone.wav
>>> + hold_tone.wav
>>> + inbound_ringtone.wav
>>> + message_received.wav
>>> + outbound_ringtone.wav
>>> + screenshot.wav
>>> > /tls
>>> + ca.crt
>>> + default.crt
>>> + video_widget.ui
>>> + zrtp_widget.ui
>>> > /doc
>>> > /blink-3.0.2
>>> + README.bz2
>>> + TODO.bz2
>>> > /icons
>>> > /hicolor
>>> > /48x48
>>> > /apps
>>> + blink.png
>>> > /512x512
>>> > /apps
>>> + blink.png
>>> > /64x64
>>> > /apps
>>> + blink.png
>>>
>>>
>>>
>>> On Mon, Feb 27, 2017 at 13:03, Dan Pascu <dan at ag-projects.com> wrote:
>>> Can you list the content of the installed package on your system?
>>>
>>> On 24 Feb 2017, at 21:26, Mircea Sava wrote:
>>>
>>> On Gentoo, I get the following when trying to run blink:
>>>
>>> Traceback (most recent call last):
>>> File "/usr/lib/python-exec/python2.7/blink", line 67, in <module>
>>> from blink import Blink
>>> File "/usr/lib64/python2.7/site-packages/blink/__init__.py", line 31, in <module>
>>> from blink.chatwindow import ChatWindow
>>> File "/usr/lib64/python2.7/site-packages/blink/chatwindow.py", line 39, in <module>
>>> from blink.contacts import URIUtils
>>> File "/usr/lib64/python2.7/site-packages/blink/contacts.py", line 48, in <module>
>>> from blink.sessions import SessionManager, StreamDescription
>>> File "/usr/lib64/python2.7/site-packages/blink/sessions.py", line 48, in <module>
>>> from blink.screensharing import ScreensharingWindow, VNCClient, ServerDefault
>>> File "/usr/lib64/python2.7/site-packages/blink/screensharing/__init__.py", line 3, in <module>
>>> from blink.screensharing.vncviewer import ScreensharingWindow, VNCViewer
>>> File "/usr/lib64/python2.7/site-packages/blink/screensharing/vncviewer.py", line 387, in <module>
>>> ui_class, base_class = uic.loadUiType(Resources.get('screensharing_dialog.ui'))
>>> File "/usr/lib64/python2.7/site-packages/PyQt5/uic/__init__.py", line 194, in loadUiType
>>> winfo = compiler.UICompiler().compileUi(uifile, code_string, from_imports, resource_suffix)
>>> File "/usr/lib64/python2.7/site-packages/PyQt5/uic/Compiler/compiler.py", line 111, in compileUi
>>> w = self.parse(input_stream, resource_suffix)
>>> File "/usr/lib64/python2.7/site-packages/PyQt5/uic/uiparser.py", line 972, in parse
>>> document = parse(filename)
>>> File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1182, in parse
>>> tree.parse(source, parser)
>>> File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 647, in parse
>>> source = open(source, "rb")
>>> IOError: [Errno 2] No such file or directory: u'/usr/lib64/python-exec/python2.7/share/blink/screensharing_dialog.ui'
>>>
>>> These are the dependencies installed so far (I'm guessing I'm missing some of them): python-sipsimple-3.1.0, python-cjson-1.1.0, python-eventlib-0.2.1, python-msrplib-0.18.0, python-gnutls-2.0.1, python-xcaplib-1.1.0, python-application-2.1.0, and python-otr-1.2.0.
>>>
>>> I'm in need of some guidance.
>>> _______________________________________________
>>> Blink mailing list
>>> Blink at lists.ag-projects.com
>>> http://lists.ag-projects.com/mailman/listinfo/blink
>>>
>>>
>>> --
>>> Dan
>>>
>>> _______________________________________________
>>> Blink mailing list
>>> Blink at lists.ag-projects.com
>>> http://lists.ag-projects.com/mailman/listinfo/blink
>>> _______________________________________________
>>> Blink mailing list
>>> Blink at lists.ag-projects.com
>>> http://lists.ag-projects.com/mailman/listinfo/blink
>>
>>
>> --
>> Dan
>>
>>
>>
>>
>> _______________________________________________
>> Blink mailing list
>> Blink at lists.ag-projects.com
>> http://lists.ag-projects.com/mailman/listinfo/blink
>>
> _______________________________________________
> Blink mailing list
> Blink at lists.ag-projects.com
> http://lists.ag-projects.com/mailman/listinfo/blink
>
More information about the Blink
mailing list