Mycroft build for Solus

Anyone have build script or steps for getting Mycroft working on Solus OS? Thanks!

Hi there @gfrhollow, we don’t have any official documentation for Solus, but that’s not to say someone hasn’t tried it before. How are the instructions for Linux failing on Solus?

Hi @KathyReid, I believe I need to manually build/install fann (and perhaps others that I may have missed) as it is not in the Solus software manager, copying errors below. I also used this script to try and install all the dependencies but seems to be outdated. Was mostly curious if someone had created an updated version.
Not a big deal for me as I am up and running Mycroft on a raspberry pi!

Building wheels for collected packages: fann2
Running setup.py bdist_wheel for fann2 … error
Complete output from command /home/ryan/Developer/mycroft-core/.venv/bin/python -u -c “import setuptools, tokenize;file=’/tmp/pip-build-q9ge8zxk/fann2/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(’\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” bdist_wheel -d /tmp/tmp9ohqr5itpip-wheel- --python-tag cp36:
running swig
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/fann2
copying fann2/init.py -> build/lib.linux-x86_64-3.6/fann2
copying fann2/libfann.py -> build/lib.linux-x86_64-3.6/fann2
running egg_info
writing fann2.egg-info/PKG-INFO
writing dependency_links to fann2.egg-info/dependency_links.txt
writing top-level names to fann2.egg-info/top_level.txt
reading manifest file ‘fann2.egg-info/SOURCES.txt’
reading manifest template ‘MANIFEST.in’
writing manifest file ‘fann2.egg-info/SOURCES.txt’
copying fann2/fann2.i -> build/lib.linux-x86_64-3.6/fann2
copying fann2/fann2_wrap.cxx -> build/lib.linux-x86_64-3.6/fann2
copying fann2/fann_cpp_subclass.h -> build/lib.linux-x86_64-3.6/fann2
running build_ext
building ‘fann2._libfann’ extension
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/fann2
x86_64-solus-linux-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT -I/usr/include -mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -Wall -Wno-error -Wp,-D_REENTRANT -fPIC -DSWIG_COMPILE -I./include -I…/include -Iinclude -I/home/ryan/Developer/mycroft-core/.venv/include -I/usr/include/python3.6m -c fann2/fann2_wrap.cxx -o build/temp.linux-x86_64-3.6/fann2/fann2_wrap.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
x86_64-solus-linux-g++ -pthread -shared -Wl,–copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,–copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions build/temp.linux-x86_64-3.6/fann2/fann2_wrap.o -L/usr/lib64 -ldoublefann -lpython3.6m -o build/lib.linux-x86_64-3.6/fann2/_libfann.cpython-36m-x86_64-linux-gnu.so
/usr/bin/ld: cannot find -ldoublefann
collect2: error: ld returned 1 exit status
error: command ‘x86_64-solus-linux-g++’ failed with exit status 1


Failed building wheel for fann2
Running setup.py clean for fann2
Failed to build fann2

Just to help people getting stuck in Solus:
A lot of the fails come from the missing -devel dependencies.

For fann2:

eopkg search fann

and see if you find the following able to install:

libfann - Fast Artificial Neural Network (FANN) Library
libfann-devel - Development files for libfann
python-fann2 - Python bindings for Fast Artificial Neural Networks 2.2.0

1 Like

Thanks for sharing, @ByteBitten

Hardest to track back was when mimic created a config.log with the following:

configure:3372: gcc -I/usr/include/x86_64-linux-gnu -licui18n -licuuc -licudata conftest.c >&5
/usr/bin/ld: cannot find -licui18n
/usr/bin/ld: cannot find -licuuc
/usr/bin/ld: cannot find -licudata

Where internet pointed to Qt5 or other programs… It’s to do with ICU:

eopkg install libicu-devel

1 Like