4

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:

1.
sudo apt-get install pyqt4-dev-tools qt4-designer
2.
sudo apt-get install python3-pyqt4.phonon-dbg
3.
sudo apt-get install python-gst0.10-dbg
4.
sudo apt-get install python-pip
5.
sudo pip install --upgrade Whoosh
6.
sudo apt-get install python-lxml
7.
cd LDOCE5Viewer
8.
sudo make build
9.
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$ 
  • 1
    The ./ in python3 ./ldoce5viewer.py means the current folder, which is the source, not the built program. The script just installed it to build/lib/ldoce5viewer. Have you tried python3 -m ldoce5viewer or build/scripts-3.6/ldoce5viewer? – tu-Reinstate Monica-dor duh Aug 22 '18 at 3:38
4

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

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:

  • Thank you for your help. The image above shows that you have installed the software properly. Unfortunately, I don't get to this stage. After running python3 ./ldoce5viewer.py I get the error need to run '$ make' in order for the program to work – Opt Aug 19 '18 at 12:22
  • Then try to comment exit() line with this command - sed -i "s/exit()/#exit()/" ldoce5viewer/qtgui/__init__.py then run again make clean, make, python3 ./ldoce5viewer.py. We can determine the missed dependency this way. – N0rbert Aug 19 '18 at 12:33
  • I'm sorry I did not not understand what to do. Could you explain which file I should check/edit? I only see a sys.exit() in ldoce5viewer.py file. – Opt Aug 19 '18 at 13:06
  • Just tested method above on clean Ubuntu 18.04.1 LTS and it works. But if you have problems - please execute all commands above again and if they fail go to debugging section. – N0rbert Aug 19 '18 at 14:29
  • Here is the output: need to run '$ make' in order for the program to work Traceback (most recent call last): File "./ldoce5viewer.py", line 9, in <module> sys.exit(qtgui.run(sys.argv)) File "/home/opt/Desktop/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/__init__.py", line 98, in run from .main import MainWindow File "/home/opt/Desktop/ldoce5viewer-pyqt5/ldoce5viewer/qtgui/main.py", line 26, in <module> from PyQt5.QtWebKit import * ModuleNotFoundError: No module named 'PyQt5.QtWebKit' – Opt Aug 20 '18 at 2:13
2

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.

0

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

New contributor
masa53 is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.