How to install LDOCE5 Viewer on Ubuntu
I have used LDOCE5 Viewer for a few years now. It is a great software (i.e., viewer) for using Longman Dictionary of Contemporary English. On Ubuntu 14.04 and 16.04 I could install this software by using the following commands:
sudo apt-get install pyqt4-dev-tools qt4-designer
sudo apt-get install python3-pyqt4.phonon-dbg
sudo apt-get install python-gst0.10-dbg
sudo apt-get install python-pip
sudo pip install --upgrade Whoosh
sudo apt-get install python-lxml
cd LDOCE5Viewer
sudo make build
sudo make install
I inspired these commands from the software's source repository on GitHub. Now with Ubuntu 18.04 I face with some errors. I realized from this link that I should install another version of LDOCE5 Viewer which is based on pyqt5
:
This viewer of LDOCE5 no longer works as expected. It's been a while since the upstream has been updated. Installing this PKGBUILD is NOT recommended! Consider using another version of LDOCE5 Viewer ( https://github.com/purboo/ldoce5viewer-pyqt5 is strongly recommended ) or an entirely different dictionary (e.g.: GoldenDict)
I could not find any instructions for installing the new LDOCE5 Viewer. How to install this software on Ubuntu?
EDIT:
Here is the commands and their outputs as per the answer.
opt@pc:~$ cd ~/Downloads
opt@pc:~/Downloads$ sudo apt-get install git make python pyqt5-dev-tools python3-pyqt5 \
> python3-pyqt5.qtwebkit python3-lxml python3-whoosh qtgstreamer-plugins-qt5
[sudo] password for opt:
Reading package lists... Done
Building dependency tree
Reading state information... Done
make is already the newest version (4.1-9.1ubuntu1).
python is already the newest version (2.7.15~rc1-1).
python set to manually installed.
python3-lxml is already the newest version (4.2.1-1).
pyqt5-dev-tools is already the newest version (5.10.1+dfsg-1ubuntu2).
python3-pyqt5 is already the newest version (5.10.1+dfsg-1ubuntu2).
python3-pyqt5.qtwebkit is already the newest version (5.10.1+dfsg-1ubuntu2).
python3-whoosh is already the newest version (2.7.4+git6-g9134ad92-1).
qtgstreamer-plugins-qt5 is already the newest version (1.2.0-5).
git is already the newest version (1:2.17.1-1ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
opt@pc:~/Downloads$ git clone https://github.com/purboo/ldoce5viewer-pyqt5.git
Cloning into 'ldoce5viewer-pyqt5'...
remote: Counting objects: 625, done.
remote: Total 625 (delta 0), reused 0 (delta 0), pack-reused 625
Receiving objects: 100% (625/625), 1.22 MiB | 1.66 MiB/s, done.
Resolving deltas: 100% (216/216), done.
opt@pc:~/Downloads$ cd ldoce5viewer-pyqt5
opt@pc:~/Downloads/ldoce5viewer-pyqt5$ make
cd ldoce5viewer/qtgui/ui/; make
make[1]: Entering directory '/home/opt/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/ui'
pyuic5 advanced.ui -o advanced.py
pyuic5 indexer.ui -o indexer.py
pyuic5 main.ui -o main.py
make[1]: Leaving directory '/home/opt/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/ui'
cd ldoce5viewer/qtgui/resources/; make
make[1]: Entering directory '/home/opt/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/resources'
pyrcc5 resource.qrc -o __init__.py
make[1]: Leaving directory '/home/opt/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/resources'
python ./setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/ldoce5viewer
copying ldoce5viewer/incremental.py -> build/lib/ldoce5viewer
copying ldoce5viewer/__init__.py -> build/lib/ldoce5viewer
copying ldoce5viewer/fulltext.py -> build/lib/ldoce5viewer
creating build/lib/ldoce5viewer/qtgui
copying ldoce5viewer/qtgui/async.py -> build/lib/ldoce5viewer/qtgui
copying ldoce5viewer/qtgui/advanced.py -> build/lib/ldoce5viewer/qtgui
copying ldoce5viewer/qtgui/indexer.py -> build/lib/ldoce5viewer/qtgui
copying ldoce5viewer/qtgui/__init__.py -> build/lib/ldoce5viewer/qtgui
copying ldoce5viewer/qtgui/access.py -> build/lib/ldoce5viewer/qtgui
copying ldoce5viewer/qtgui/main.py -> build/lib/ldoce5viewer/qtgui
copying ldoce5viewer/qtgui/config.py -> build/lib/ldoce5viewer/qtgui
creating build/lib/ldoce5viewer/qtgui/ui
copying ldoce5viewer/qtgui/ui/advanced.py -> build/lib/ldoce5viewer/qtgui/ui
copying ldoce5viewer/qtgui/ui/indexer.py -> build/lib/ldoce5viewer/qtgui/ui
copying ldoce5viewer/qtgui/ui/__init__.py -> build/lib/ldoce5viewer/qtgui/ui
copying ldoce5viewer/qtgui/ui/main.py -> build/lib/ldoce5viewer/qtgui/ui
copying ldoce5viewer/qtgui/ui/custom.py -> build/lib/ldoce5viewer/qtgui/ui
creating build/lib/ldoce5viewer/qtgui/resources
copying ldoce5viewer/qtgui/resources/__init__.py -> build/lib/ldoce5viewer/qtgui/resources
creating build/lib/ldoce5viewer/qtgui/utils
copying ldoce5viewer/qtgui/utils/soundplayer.py -> build/lib/ldoce5viewer/qtgui/utils
copying ldoce5viewer/qtgui/utils/singleapp.py -> build/lib/ldoce5viewer/qtgui/utils
copying ldoce5viewer/qtgui/utils/fontfallback.py -> build/lib/ldoce5viewer/qtgui/utils
copying ldoce5viewer/qtgui/utils/__init__.py -> build/lib/ldoce5viewer/qtgui/utils
copying ldoce5viewer/qtgui/utils/error.py -> build/lib/ldoce5viewer/qtgui/utils
creating build/lib/ldoce5viewer/qtgui/utils/mp3play
copying ldoce5viewer/qtgui/utils/mp3play/__init__.py -> build/lib/ldoce5viewer/qtgui/utils/mp3play
copying ldoce5viewer/qtgui/utils/mp3play/windows.py -> build/lib/ldoce5viewer/qtgui/utils/mp3play
creating build/lib/ldoce5viewer/utils
copying ldoce5viewer/utils/cdb.py -> build/lib/ldoce5viewer/utils
copying ldoce5viewer/utils/__init__.py -> build/lib/ldoce5viewer/utils
copying ldoce5viewer/utils/compat.py -> build/lib/ldoce5viewer/utils
copying ldoce5viewer/utils/text.py -> build/lib/ldoce5viewer/utils
creating build/lib/ldoce5viewer/ldoce5
copying ldoce5viewer/ldoce5/filemap.py -> build/lib/ldoce5viewer/ldoce5
copying ldoce5viewer/ldoce5/transform_body.py -> build/lib/ldoce5viewer/ldoce5
copying ldoce5viewer/ldoce5/transform.py -> build/lib/ldoce5viewer/ldoce5
copying ldoce5viewer/ldoce5/__init__.py -> build/lib/ldoce5viewer/ldoce5
copying ldoce5viewer/ldoce5/utils.py -> build/lib/ldoce5viewer/ldoce5
copying ldoce5viewer/ldoce5/advtree.py -> build/lib/ldoce5viewer/ldoce5
copying ldoce5viewer/ldoce5/idmreader.py -> build/lib/ldoce5viewer/ldoce5
copying ldoce5viewer/ldoce5/extract.py -> build/lib/ldoce5viewer/ldoce5
creating build/lib/ldoce5viewer/static
creating build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/body.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/word_sets.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/activator.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/search.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/etymologies.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/thesaurus.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/phrases.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/word_families.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/jquery.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/common.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/examples.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/collocations.js -> build/lib/ldoce5viewer/static/scripts
copying ldoce5viewer/static/scripts/entry.js -> build/lib/ldoce5viewer/static/scripts
creating build/lib/ldoce5viewer/static/scripts/colorbox
copying ldoce5viewer/static/scripts/colorbox/jquery.colorbox.js -> build/lib/ldoce5viewer/static/scripts/colorbox
copying ldoce5viewer/static/scripts/colorbox/colorbox.css -> build/lib/ldoce5viewer/static/scripts/colorbox
creating build/lib/ldoce5viewer/static/scripts/colorbox/images
copying ldoce5viewer/static/scripts/colorbox/images/loading.gif -> build/lib/ldoce5viewer/static/scripts/colorbox/images
copying ldoce5viewer/static/scripts/colorbox/images/close.png -> build/lib/ldoce5viewer/static/scripts/colorbox/images
creating build/lib/ldoce5viewer/static/documents
copying ldoce5viewer/static/documents/about.html -> build/lib/ldoce5viewer/static/documents
creating build/lib/ldoce5viewer/static/images
copying ldoce5viewer/static/images/speaker_br.png -> build/lib/ldoce5viewer/static/images
copying ldoce5viewer/static/images/speaker_am.png -> build/lib/ldoce5viewer/static/images
copying ldoce5viewer/static/images/external-link.png -> build/lib/ldoce5viewer/static/images
copying ldoce5viewer/static/images/sp.png -> build/lib/ldoce5viewer/static/images
copying ldoce5viewer/static/images/speaker_eg.png -> build/lib/ldoce5viewer/static/images
copying ldoce5viewer/static/images/external-hover.png -> build/lib/ldoce5viewer/static/images
copying ldoce5viewer/static/images/external.png -> build/lib/ldoce5viewer/static/images
creating build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/about.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/common.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/collocations.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/search.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/word_families.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/colorbox.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/body.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/entry.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/list.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/activator.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/word_sets.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/phrases.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/thesaurus.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/etymologies.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/static/styles/examples.css -> build/lib/ldoce5viewer/static/styles
copying ldoce5viewer/qtgui/resources/resource.qrc -> build/lib/ldoce5viewer/qtgui/resources
copying ldoce5viewer/qtgui/resources/next-mac.png -> build/lib/ldoce5viewer/qtgui/resources
copying ldoce5viewer/qtgui/resources/Makefile -> build/lib/ldoce5viewer/qtgui/resources
copying ldoce5viewer/qtgui/resources/ldoce5viewer.svg -> build/lib/ldoce5viewer/qtgui/resources
copying ldoce5viewer/qtgui/resources/prev-mac.png -> build/lib/ldoce5viewer/qtgui/resources
copying ldoce5viewer/qtgui/resources/ldoce5viewer.ico -> build/lib/ldoce5viewer/qtgui/resources
copying ldoce5viewer/qtgui/resources/ldoce5viewer.png -> build/lib/ldoce5viewer/qtgui/resources
copying ldoce5viewer/qtgui/resources/ldoce5viewer.icns -> build/lib/ldoce5viewer/qtgui/resources
creating build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-properties.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-out-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/application-exit.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/application-exit-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/help-about-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-find-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-out.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-in-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/help-about-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-print-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-original-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-clear-48-src.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-clear-48.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-down.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/iconblock-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-find-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-print-preview-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-up.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/reload.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-down-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-print-preview-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/Makefile -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/window-close-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/reload-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-clear-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/LICENSE.txt -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-clear.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-previous.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/application-exit-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/window-close-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/window-close-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-clear-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/reload-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-out-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/star.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/iconblock-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-next-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-in.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/iconblock-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/icongen.py -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-in-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-up-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-find-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/star-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/window-close.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/help-contents-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-next-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-print.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-properties-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-next-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-properties-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-print-preview.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-previous-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-print-preview-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/star-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-in-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-copy-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-previous-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/help-about.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-previous-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-next.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/reload-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-find.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/star-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/help-contents-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-print-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-print-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-up-22.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/application-exit-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-copy-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/iconblock.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/document-properties-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-copy.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-down-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-original.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-original-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-out-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/help-about-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-down-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/zoom-original-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/help-contents.svg -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/go-up-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-copy-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/edit-clear-16.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/resources/icons/help-contents-24.png -> build/lib/ldoce5viewer/qtgui/resources/icons
copying ldoce5viewer/qtgui/ui/advanced.ui -> build/lib/ldoce5viewer/qtgui/ui
copying ldoce5viewer/qtgui/ui/indexer.ui -> build/lib/ldoce5viewer/qtgui/ui
copying ldoce5viewer/qtgui/ui/Makefile -> build/lib/ldoce5viewer/qtgui/ui
copying ldoce5viewer/qtgui/ui/main.ui -> build/lib/ldoce5viewer/qtgui/ui
running build_scripts
creating build/scripts-3.6
copying and adjusting scripts/ldoce5viewer -> build/scripts-3.6
changing mode of build/scripts-3.6/ldoce5viewer from 644 to 755
opt@pc:~/Downloads/ldoce5viewer-pyqt5$ python3 ./ldoce5viewer.py
need to run '$ make' in order for the program to work
opt@pc:~/Downloads/ldoce5viewer-pyqt5$
Qt4-based version
I have done some tests and now I have complete working solution on installation of Qt4-based version of LDOCE5 Viewer.
We need to install mix of packages - most from the official 18.04 LTS repositories and 6 from 16.04 LTS repository. Usually this method is not recommended, but we want to make software working again without functionality loss.
At first we install packages from official 18.04 LTS repository:
sudo apt-get install git make pyqt4-dev-tools python-lxml \
python-whoosh libqt4-opengl python-gst-1.0 \
libcanberra-gtk3-module libcanberra-gtk-module
then we download packages from 16.04 LTS repository, install them and pin (lock) their versions:
cd ~/Downloads
wget http://mirrors.kernel.org/ubuntu/pool/universe/p/python-qt4/pyqt4-dev-tools_4.11.4+dfsg-1build4_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/p/python-qt4/python-qt4_4.11.4+dfsg-1build4_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/sip4/python-sip_4.17+dfsg-1build1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu11_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/p/python-qt4/python-qt4-phonon_4.11.4+dfsg-1build4_amd64.deb
sudo apt-get install ./*.deb
cat <<EOF | sudo tee /etc/apt/preferences.d/pin-ldoce5
Package: pyqt4-dev-tools
Pin: version 4.11.4+dfsg-1build4
Pin-Priority: 1337
Package: python-qt4
Pin: version 4.11.4+dfsg-1build4
Pin-Priority: 1337
Package: python-sip
Pin: version 4.17+dfsg-1build1
Pin-Priority: 1337
Package: libqtwebkit4
Pin: version 2.3.2-0ubuntu11
Pin-Priority: 1337
Package: libpng12
Pin: version 0_1.2.54-1ubuntu1.1
Pin-Priority: 1337
Package: python-qt4-phonon
Pin: version 4.11.4+dfsg-1build4
Pin-Priority: 1337
EOF
and finally we clone git-repository, make and install the LDOCE5 Viewer to the system:
git clone https://github.com/ciscorn/ldoce5viewer.git
cd ldoce5viewer
make
sudo make install
as the result we will have LDOCE5 Viewer icon in the launcher.
It would be fully-functional including sound (pronunciation button for a word or sentence).
Qt5-based version
As we can not easily install Qt4-based version on Ubuntu 18.04 LTS, so let's try with Qt5-based one.
Installing
At first we need to install some dependencies:
sudo apt-get install git make python pyqt5-dev-tools python3-pyqt5 \
python3-pyqt5.qtwebkit python3-lxml python3-whoosh qtgstreamer-plugins-qt5
Then download and install the software
cd ~/Downloads
git clone https://github.com/purboo/ldoce5viewer-pyqt5.git
cd ldoce5viewer-pyqt5
make
and try to run with python3 ./ldoce5viewer.py
.
I do not have ldoce5.data
file so I see only this message in LDOCE5 Viewer window:
I'm not sure is it fully functional or not. Please try it by yourself.
Debugging
During chat session we have discovered, that python2 and python3 are provided by Anaconda distribution.
$ which python3
/home/opt/anaconda3/bin/python3
$ which python
/home/opt/anaconda3/bin/python
$ echo $PATH
/home/opt/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
But we need to use system-wide versions. So we can edit ~/.bashrc
or ~/.profile
and remove /home/opt/anaconda3/bin
from it, or for one session run:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
and then run the software.
Indexing was done, dictionary is fully functional.
Known issues
When user click on the pronunciation button for a word or sentence, a window titled 'Error Console' shows up whose content is:
An unhandled error occurred.
Sorry for the inconvinience.
Please copy the following text into a bug report:Traceback (most recent call last): File "/home/opt/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/utils/soundplayer.py", line 114, in need_data appsrc.emit('push-buffer', Gst.Buffer.new_wrapped(self._data[:size])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)
Links
See also:
- https://github.com/ciscorn/ldoce5viewer
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=ldoce5viewer-pyqt5-git
- https://github.com/purboo/ldoce5viewer-pyqt5
With respect to the error console reported earlier in the QT5-based installation:
An unhandled error occurred.
Sorry for the inconvinience.
Please copy the following text into a bug report:Traceback (most recent call last): File "/home/opt/Downloads/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/utils/soundplayer.py", line 114, in need_data appsrc.emit('push-buffer', Gst.Buffer.new_wrapped(self._data[:size])) UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)
I went to the line 114 at ldoce5viewer/qtgui/utils/soundplayer.py file and changed
appsrc.emit('push-buffer', Gst.Buffer.new_wrapped(self._data[:size]))
by
appsrc.emit('push-buffer', Gst.Buffer.new_wrapped(self._data[:size].data()))
With this change the sound worked for me.