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 ( 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 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$ 
2

3 Answers

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 wget wget wget wget wget 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 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 sound 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 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:

LDOCE5 Viewer on Ubuntu 18.04 LTS

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:

12

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.

Ubuntu 18.04 Python 3.7.3

apt install libqtwebkit-dev

tar zxvf PyQt-x11-gpl-4.10.tar.gz

cd PyQt-x11-gpl-4.10

vi configure.py

396 check_module("phonon", "phonon/videowidget.h", 397 "new Phonon::VideoWidget()") 398 399 pyqt_modules.append("phonon"); --->> add 400 401 check_module("QtAssistant", "qassistantclient.h", 402 "new QAssistantClient(\"foo\")", extra_lib_dirs=ass_lib_dirs, 403 extra_libs=ass_libs) 

Change Makefile of QtCore/QtGui/QtScript like following:

CXXFLAGS = -m64 -pipe -fPIC -O2 -Wall -W -D_REENTRANT -std=c++0x -Wno-narrowing

python configure.py

make

make install

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy