MycroftAI / mimic1

Mycroft's TTS engine, based on CMU's Flite (Festival Lite)
https://mimic.mycroft.ai
Other
803 stars 152 forks source link

[Build error] Libicu 58 not found #119

Closed extraymond closed 7 years ago

extraymond commented 7 years ago

Hi! I was trying to install mycroft-core on my ubuntu 17.04 desktop (64-bit), and an error prompted saying:

/usr/bin/ld: warning: libicui18n.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicudata.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)

I couldn't find the mentioned package on the package manager. Is there anything I can do to make this work! Thx!

forslund commented 7 years ago

Hi!

The package should be called libicu-devand should be available in Zesty (https://launchpad.net/ubuntu/zesty/+package/libicu-dev)

extraymond commented 7 years ago

I have already installed the package, but the error log states that it needs to be 58 (the one included on zesty is 57)

forslund commented 7 years ago

Hmm, that's strange. mine seem to be at 55.1 (running on Ubuntu 16.04), I do not think there is any special requirements for any particular version in the build script.

We use pkg-config to determine which flags are needed for libicu. You can check that you get a sane response by running pkg-config --libs --cflags icu-uc icu-io

Another thing is to check the symbolic link libicui18n.so so it links to an existing file.

extraymond commented 7 years ago

So I don't really need 58 though. This gives me hope XD.

I got -licuio -licui18n -licuuc -licudata as results.

I found that the libicui18n.so is a symlic to libicui18n.so.57.1, is this the correct format? Or I need to create an symlink libicui18n.so.so.

forslund commented 7 years ago

No sorry. that's my bad writing. libicui18n.so should be linked to your libicui18n.so.version

So your lib files looks correct.

forslund commented 7 years ago

If you try locate libicui18n.so do you get any more hits?

zeehio commented 7 years ago

Once you have installed libicu-dev you will need to make distclean, and configure and make again

extraymond commented 7 years ago

Hi! I have found plenty of which installed. By anaconda steam and in the gnu-lib folder.

Åke 於 2017/6/4 下午3:58 寫道:

No sorry. that's my bad writing. |libicui18n.so| should be linked to your |libicui18n.so.version|

So your lib files looks correct.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MycroftAI/mimic/issues/119#issuecomment-306024972, or mute the thread https://github.com/notifications/unsubscribe-auth/AArKaInbE0gNi4wkqKKVhb__lp2mvkeEks5sAmOQgaJpZM4NvSi6.

extraymond commented 7 years ago

After make distclean in the mimic folder the same error occurred again.

This is the part the error presents in the log

/usr/bin/ld: warning: libicui18n.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicudata.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)
./.libs/libttsmimic.so: undefined reference to `ucasemap_utf8ToUpper_58'
./.libs/libttsmimic.so: undefined reference to `uregex_matches_58'
./.libs/libttsmimic.so: undefined reference to `uregex_reset_58'
./.libs/libttsmimic.so: undefined reference to `uregex_close_58'
./.libs/libttsmimic.so: undefined reference to `ucasemap_utf8ToLower_58'
./.libs/libttsmimic.so: undefined reference to `ucasemap_open_58'
./.libs/libttsmimic.so: undefined reference to `uregex_setUText_58'
./.libs/libttsmimic.so: undefined reference to `utext_openUTF8_58'
./.libs/libttsmimic.so: undefined reference to `u_errorName_58'
./.libs/libttsmimic.so: undefined reference to `ucasemap_close_58'
./.libs/libttsmimic.so: undefined reference to `uregex_openC_58'
collect2: error: ld returned 1 exit status
Makefile:2501: recipe for target 'compile_regexes' failed
make[1]: *** [compile_regexes] Error 1
make[1]: *** Waiting for unfinished jobs....
/usr/bin/ld: warning: libicui18n.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicudata.so.58, needed by ./.libs/libttsmimic.so, not found (try using -rpath or -rpath-link)
./.libs/libttsmimic.so: undefined reference to `ucasemap_utf8ToUpper_58'
./.libs/libttsmimic.so: undefined reference to `uregex_matches_58'
./.libs/libttsmimic.so: undefined reference to `uregex_reset_58'
./.libs/libttsmimic.so: undefined reference to `uregex_close_58'
./.libs/libttsmimic.so: undefined reference to `ucasemap_utf8ToLower_58'
./.libs/libttsmimic.so: undefined reference to `ucasemap_open_58'
./.libs/libttsmimic.so: undefined reference to `uregex_setUText_58'
./.libs/libttsmimic.so: undefined reference to `utext_openUTF8_58'
./.libs/libttsmimic.so: undefined reference to `u_errorName_58'
./.libs/libttsmimic.so: undefined reference to `ucasemap_close_58'
./.libs/libttsmimic.so: undefined reference to `uregex_openC_58'
collect2: error: ld returned 1 exit status
Makefile:2525: recipe for target 't2p' failed
make[1]: *** [t2p] Error 1

I'm running the script provided by mycroft-core install script (dev-setup.sh thus install-mimic.sh).