Try building simon on centos 7
Open, Needs TriagePublic

fux created this task.Jan 17 2017, 10:28 PM
fux assigned this task to guenterb.Jan 17 2017, 10:31 PM

Try to build from source code and use the latest CMU SPHINX and / or Julius coupled with the HTK. A minimized installation is better than an existing system.

ok, I have packed and installed the latest sphinx 5prealpha code which seems to have worked fine.

I had to set

OpenCV_DIR                       /usr/lib64/cmake/OpenCV

using ccmake as auto-detection of opencv seemed to have failed.

Here is my current status after resolving dependencies best I could:

[bofh@hal build]$ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .. 
CMake Error at CMakeLists.txt:4 (cmake_policy):
  Policy "CMP0026" is not known to this version of CMake.


-- Found Qt-Version 4.8.5 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
-- Found KDE 4.12 include dir: /usr/include/kde4
-- Found KDE 4.12 library dir: /usr/lib/kde4/devel
-- Found the KDE4 kconfig_compiler4 preprocessor: /usr/bin/kconfig_compiler4
-- Found automoc4: /usr/bin/automoc4
-- Found Qt-Version 4.8.5 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
ldd: ./: not regular file
-- Found Qwt: /usr/lib64/libqwt.so
ldd: ./: not regular file
-- Found libsamplerate: /usr/lib64/libsamplerate.so
-- Could NOT find KdepimLibs (missing:  KdepimLibs_CONFIG) (Required is at least version "4.5.60")
-- Found SphinxBase 
-- Could NOT find VRPN (missing:  VRPN_LIBRARY VRPN_INCLUDE_DIR) 
-- BackendType='both'

-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
   * LibSampleRate - Resampling library
   * qaccessibilityclient - KDE client-side accessibility library
   * Sphinxbase - Open source toolkit for speech recognition
   * PocketSphinx - PocketSphinx is a small-footprint continuous speech recognition system
   * OpenCV - OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision

-----------------------------------------------------------------------------
-- The following OPTIONAL packages could NOT be located on your system.
-- Consider installing them to enable more features from this software.
-----------------------------------------------------------------------------
   * KDE PIM Libs (4.5.60 or higher)  <http://pim.kde.org/>
     KDE Libraries for PIM
     Required for PIM plugin.
   * VRPN  <http://www.cs.unc.edu/Research/vrpn/index.html>
     Virtual-Reality Peripheral Network Connector
     Required to build the VRPN command plugin

-----------------------------------------------------------------------------

-- Configuring incomplete, errors occurred!
See also "/home/bofh/projects/ai/simon/build/CMakeFiles/CMakeOutput.log".
See also "/home/bofh/projects/ai/simon/build/CMakeFiles/CMakeError.log".

The KDE PIM requirement is a bit of a problem as RHEL/CentOS 7 has version 4.10.5 in base - not much I can do about that, I guess.

VRPN is also a bit difficult to build - CentOS doesn't have it at all so I looked into backporting Fedora RPMs here. VRPN seems to depend on wiiuse which did not build (guess it needs a later version of cmake than what I have).

anyway, as both are marked optional, I decided to go about compiling simon. I commented out CMP0026 in CMakeLists.txt which then let me generate makefiles.

Compilation and installation went fine afterwards and simon seems to start up just fine :) (I did not install simon on the system but used an installation prefix in my home directory, which I had set using ccmake, again).

Try to build a basic scenario and check whether it works fine.

As discussed in our IRC meeting, I started to work on building an RPM from simon. As I am not familiar with how things are handled in KDE nowadays I ran into the problem of finding translation files for simon - github (where I cloned sources from) does not seem to provide any po/.mo files - so rpmbuild is complaining about that:

make: Leaving directory `/home/bofh/rpmbuild/BUILD/simon-0.4.2git/x86_64-redhat-linux-gnu'
+ /usr/lib/rpm/find-lang.sh /home/bofh/rpmbuild/BUILDROOT/simon-0.4.2git-1.el7.centos.x86_64 simon-doc --with-kde --all-name --without-mo
+ /usr/lib/rpm/find-lang.sh /home/bofh/rpmbuild/BUILDROOT/simon-0.4.2git-1.el7.centos.x86_64 simon --all-name
No translations found for simon in /home/bofh/rpmbuild/BUILDROOT/simon-0.4.2git-1.el7.centos.x86_64
error: Bad exit status from /var/tmp/rpm-tmp.mC83yl (%install)

can anybody give me a hint where to find / how to get the translations files for simon?

I find them in the Simon\share\locale\ folder of Simon on Windows. They are .mo files.

chenhui added a comment.EditedJan 30 2017, 3:31 PM

If necessary, I can pack one copy of them. Please tell me where to upload. (I also have a public web server)

thanks for your kind offer, but actually I was looking for the official source where to get those files - obviously there must be some mechanism in place how l10n und i18n is handled in the KDE universe.

cfeck added a subscriber: cfeck.Jan 30 2017, 6:55 PM

They are in KDE's svn servers.

For example, german ("de") files for the KDE4/Qt4 version of Simo are in https://websvn.kde.org/trunk/l10n-kde4/de/messages/extragear-accessibility/

I suggest to ask on kde-i18n-doc mailing list if there are scripts to generate tarballs that include multiple translations.

https://mail.kde.org/mailman/listinfo/kde-i18n-doc/

kde-dev-scripts.git, createtarball/create_tarball.rb (create_tarball_kf5.rb for KF5 applications).
Or releaseme.git.

ah, very cool - will look into those soon - thanks! :)

fux added a comment.Feb 2 2017, 1:22 PM

Morning guenter

You might want to take a look at this bug: https://bugs.kde.org/show_bug.cgi?id=353283 and see if you can (still) reproduce it.

Thanks

@ltoscano: releaseme.git did the trick for me. for reference (couldn't seem to find these anywhere), I created these two files to create a simon tarball that includes i18n/i10n :

simon.rb:

#!/usr/bin/env ruby

# VARs!
# NAME controls the output tarball name
# COMPONENT & SECTION:
#   These are used to build i18n paths
#     https://websvn.kde.org/trunk/l10n-kde4/templates/messages/SECTION-COMPONENT/
#   should point to the directory where your translation pots live
NAME      = "simon"
COMPONENT = "extragear"
SECTION   = "accessibility"

$: << File.dirname( __FILE__)
$srcvcs   = "git"

def custom
    remover(%w())
    base_dir
end

# get things started
require 'lib/starter'

simonrc

[main]
# customsrc=git@github.com:KDE/simon.git
customsrc=git://anongit.kde.org/simon
doc=true
l10n=true
protocol=anonsvn
branch=trunk
gitbranch=master
version=0.4.2git

also managed to build RPMs now (not tested them yet):

Wrote: /home/bofh/rpmbuild/SRPMS/simon-0.4.2git-1.el7.centos.src.rpm
Wrote: /home/bofh/rpmbuild/RPMS/x86_64/simon-0.4.2git-1.el7.centos.x86_64.rpm
Wrote: /home/bofh/rpmbuild/RPMS/x86_64/simon-devel-0.4.2git-1.el7.centos.x86_64.rpm
Wrote: /home/bofh/rpmbuild/RPMS/x86_64/simon-libs-0.4.2git-1.el7.centos.x86_64.rpm
Wrote: /home/bofh/rpmbuild/RPMS/noarch/simon-doc-0.4.2git-1.el7.centos.noarch.rpm
Wrote: /home/bofh/rpmbuild/RPMS/x86_64/simon-debuginfo-0.4.2git-1.el7.centos.x86_64.rpm

:)

fux added a comment.Feb 7 2017, 9:14 PM

Nitpick: Use as version for an unreleased software something like 0.4.80 (more of an alpha version number towards 0.5). 0.4.90 might be betas.

@fux: did some first test, simon's configuration dialog works great for me, also seems very stable. do you want me to comment on https://bugs.kde.org/show_bug.cgi?id=353283 ? (not sure my comment would contribute much as I am running a very different setup here - no julius, centos instead of fedora...)

just a quick note to myself from our IRC session today:

As soon as you can verify that the rpms work you might post them to KDE Bug 356452

ran into my first problem when testing simon: the microphone doesn't seem to work (just flat 0%, asks me to adjust my volume - while mic is working fine in other apps).

using pulseaudio here - is this a known issue and/or should I investigate this further? any hints where to start?