libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

Questions, problems and discussion about compiling FreeOrion.

Moderators: Oberlus, Oberlus

Message
Author
User avatar
Oberlus
Cosmic Dragon
Posts: 2137
Joined: Mon Apr 10, 2017 4:25 pm

libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#1 Post by Oberlus » Tue Mar 24, 2020 12:28 am

I'm trying to compile after upgrading Ubuntu 16.04 to 18.04.
First, I had to install cmake:

Code: Select all

sudo snap install cmake --classic
Then cmake worked apparently fine:

Code: Select all

~/Projects/FreeOrion/freeorion-build$ cmake ../freeorion
-- Build type CMAKE_BUILD_TYPE set to Release
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Use CCache for Unix Makefiles called with: ccache program  
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.17", minimum required is "2.7") 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.17", minimum required is "2.7") 
-- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.58.0") found components: date_time filesystem iostreams locale log log_setup regex serialization system thread chrono atomic 
-- Found Boost: /usr/include (found version "1.65.1")  missing components: python27
CMake Warning at /snap/cmake/301/share/cmake-3.17/Modules/FindBoost.cmake:1986 (message):
  No header defined for python-py27; skipping header check (note: header-only
  libraries have no designated component)
Call Stack (most recent call first):
  CMakeLists.txt:259 (find_package)


-- Found Boost: /usr/include (found version "1.65.1")  missing components: python-py27
-- Found Boost: /usr/include (found version "1.65.1") found components: python 
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.8.1") 
CMake Warning (dev) at /snap/cmake/301/share/cmake-3.17/Modules/FindOpenGL.cmake:305 (message):
  Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
  available.  Run "cmake --help-policy CMP0072" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  FindOpenGL found both a legacy GL library:

    OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so

  and GLVND libraries for OpenGL and GLX:

    OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
    OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so

  OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
  compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
  CMakeLists.txt:271 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so   
-- Found SDL: /usr/lib/x86_64-linux-gnu/libSDL2.so (found version "2.0.8") 
CMake Deprecation Warning at GG/CMakeLists.txt:29 (cmake_policy):
  The OLD behavior for policy CMP0044 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances. Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.58.0") found components: date_time filesystem regex system thread log chrono atomic log_setup 
-- Found GLEW: /usr/include (found version "2.0.0") 
CMake Warning (dev) at /snap/cmake/301/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args` (cppcheck)
  does not match the name of the calling package (CPPCheck).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/FindCPPCheck.cmake:12 (find_package_handle_standard_args)
  check/CMakeLists.txt:1 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find cppcheck (missing: CPPCHECK_EXECUTABLE) 
CMake Warning (dev) at /snap/cmake/301/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
  The package name passed to `find_package_handle_standard_args`
  (pycodestyle) does not match the name of the calling package (PyCodestyle).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/FindPyCodestyle.cmake:11 (find_package_handle_standard_args)
  check/CMakeLists.txt:2 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find pycodestyle (missing: PYCODESTYLE_EXECUTABLE) 
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lucas/Projects/FreeOrion/freeorion-build
But compilation fails at linking (of every executable) do to the lack of libicui18n.so.55 and libicuuc.so.55:

Code: Select all

[100%] Linking CXX executable freeorion
/usr/bin/ld: warning: libicui18n.so.55, needed by /usr/local/lib/libboost_locale.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.55, needed by /usr/local/lib/libboost_locale.so, not found (try using -rpath or -rpath-link)
I've found that the package I need is libicu55, which is not available in Ubuntu repos, but I could install it doing:

Code: Select all

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
sudo apt-get install libicu55
Is all this as expected (should every Ubuntu user require to install libicu55 independently) or is something wrong with my system?

Now compilation advances a bit more, but still fails:

Code: Select all

~/Projects/FreeOrion/freeorion-build$ make -j3
[ 19%] Built target freeorionparseobj
[ 35%] Built target GiGi
[ 35%] Built target freeorionparse
[ 36%] Built target GiGiSDL
Build number matches build number in existing Version.cpp, skip regenerating it
Building v0.4.9 HEAD build 2020-02-02.db53471
[ 36%] Built target freeorionversion
[ 62%] Built target freeorioncommon
[ 62%] Linking CXX executable freeoriond
[ 63%] Linking CXX executable freeorionca
[ 63%] Linking CXX executable freeorion
[ 69%] Built target freeorionca
[ 75%] Built target freeoriond
libGiGi.so: undefined reference to `boost::re_detail_106501::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const'
libGiGi.so: undefined reference to `boost::re_detail_106501::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'
collect2: error: ld returned 1 exit status
CMakeFiles/freeorion.dir/build.make:1110: recipe for target 'freeorion' failed
make[2]: *** [freeorion] Error 1
CMakeFiles/Makefile2:679: recipe for target 'CMakeFiles/freeorion.dir/all' failed
make[1]: *** [CMakeFiles/freeorion.dir/all] Error 2
Makefile:168: recipe for target 'all' failed
make: *** [all] Error 2
The last error I got I don't know how to solve it:

Code: Select all

libGiGi.so: undefined reference to `boost::re_detail_106501::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const'
libGiGi.so: undefined reference to `boost::re_detail_106501::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'

o01eg
Programmer
Posts: 735
Joined: Sat Dec 10, 2011 5:46 am

Re: libicuuci18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#2 Post by o01eg » Tue Mar 24, 2020 4:15 am

It looks very strange that boost installed in local and cmake have to be installed from snap. I think it's a main issue here.
Gentoo Linux x64, gcc-9.2, boost-1.72.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io. Version 2020-03-30.025f545.
Donations are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
Oberlus
Cosmic Dragon
Posts: 2137
Joined: Mon Apr 10, 2017 4:25 pm

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#3 Post by Oberlus » Tue Mar 24, 2020 7:18 am

o01eg wrote:
Tue Mar 24, 2020 4:15 am
It looks very strange that boost installed in local and cmake have to be installed from snap. I think it's a main issue here.
For some reason, cmake and libicu55 are not available in the main repos of Ubuntu 18.04 (they were in all previous releases).
Searching for "Why (the fuck) cmake not in Ubuntu 18.04" gave me only answers on how to install it (two options: snap from one of the maintainers or compile from source).

The last error, undefined references to boost::yarayara:: transform and transform_primary, no idea how to solve it.
I found out there that some similar errors when compiling varied stuff came from having two versions of libboost in the system.
In one place they ask the OP to run

Code: Select all

grep -i boost `find build -name CMakeCache.txt`
Which gaves me

Code: Select all

~$ grep -i boost `find build -name CMakeCache.txt`
find: ‘build’: No such file or directory
^C
It hangs in there for a while until I cancel it. I tried changing the ` for a ' or a ´ which didn't work either.

Edit: I'm so silly (got a coffee). Output of grep -i boost `find -name CMakeCache.txt` while in freeorion-build folder:

Code: Select all

~/Projects/FreeOrion/freeorion-build$ grep -i boost `find -name CMakeCache.txt`
BOOST_ROOT:STRING=/usr/include
//The threading library used by boost-thread
BOOST_THREAD_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpthread.so
//Boost atomic library (debug)
Boost_ATOMIC_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_atomic.so
//Boost atomic library (release)
Boost_ATOMIC_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_atomic.so
//Boost chrono library (debug)
Boost_CHRONO_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_chrono.so
//Boost chrono library (release)
Boost_CHRONO_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_chrono.so
//Boost date_time library (debug)
Boost_DATE_TIME_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_date_time.so
//Boost date_time library (release)
Boost_DATE_TIME_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_date_time.so
//The directory containing a CMake configuration file for Boost.
Boost_DIR:PATH=Boost_DIR-NOTFOUND
//Boost filesystem library (debug)
Boost_FILESYSTEM_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_filesystem.so
//Boost filesystem library (release)
Boost_FILESYSTEM_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_filesystem.so
Boost_INCLUDE_DIR:PATH=/usr/include
//Boost iostreams library (debug)
Boost_IOSTREAMS_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_iostreams.so
//Boost iostreams library (release)
Boost_IOSTREAMS_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_iostreams.so
//Boost library directory DEBUG
Boost_LIBRARY_DIR_DEBUG:PATH=/usr/local/lib
//Boost library directory RELEASE
Boost_LIBRARY_DIR_RELEASE:PATH=/usr/local/lib
//Boost locale library (debug)
Boost_LOCALE_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_locale.so
//Boost locale library (release)
Boost_LOCALE_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_locale.so
//Boost log library (debug)
Boost_LOG_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_log.so
//Boost log library (release)
Boost_LOG_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_log.so
//Boost log_setup library (debug)
Boost_LOG_SETUP_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_log_setup.so
//Boost log_setup library (release)
Boost_LOG_SETUP_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_log_setup.so
//Boost python-py27 library (debug)
Boost_PYTHON-PY27_LIBRARY_DEBUG:FILEPATH=Boost_PYTHON-PY27_LIBRARY_DEBUG-NOTFOUND
//Boost python-py27 library (release)
Boost_PYTHON-PY27_LIBRARY_RELEASE:FILEPATH=Boost_PYTHON-PY27_LIBRARY_RELEASE-NOTFOUND
//Boost python27 library (debug)
Boost_PYTHON27_LIBRARY_DEBUG:FILEPATH=Boost_PYTHON27_LIBRARY_DEBUG-NOTFOUND
//Boost python27 library (release)
Boost_PYTHON27_LIBRARY_RELEASE:FILEPATH=Boost_PYTHON27_LIBRARY_RELEASE-NOTFOUND
//Boost python library (debug)
Boost_PYTHON_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_python.so
//Boost python library (release)
Boost_PYTHON_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_python.so
//Boost regex library (debug)
Boost_REGEX_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_regex.so
//Boost regex library (release)
Boost_REGEX_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_regex.so
//Boost serialization library (debug)
Boost_SERIALIZATION_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_serialization.so
//Boost serialization library (release)
Boost_SERIALIZATION_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_serialization.so
//Boost system library (debug)
Boost_SYSTEM_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_system.so
//Boost system library (release)
Boost_SYSTEM_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_system.so
//Boost thread library (debug)
Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_thread.so
//Boost thread library (release)
Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_thread.so
GiGi_LIB_DEPENDS:STATIC=general;/usr/local/lib/libboost_date_time.so;general;/usr/local/lib/libboost_filesystem.so;general;/usr/local/lib/libboost_regex.so;general;/usr/local/lib/libboost_system.so;general;/usr/local/lib/libboost_thread.so;general;-lpthread;general;/usr/local/lib/libboost_log.so;general;/usr/local/lib/libboost_chrono.so;general;/usr/local/lib/libboost_atomic.so;general;/usr/local/lib/libboost_log_setup.so;general;/usr/lib/x86_64-linux-gnu/libGL.so;general;/usr/lib/x86_64-linux-gnu/libGLU.so;general;/usr/lib/x86_64-linux-gnu/libGLEW.so;general;/usr/lib/x86_64-linux-gnu/libfreetype.so;general;/usr/lib/x86_64-linux-gnu/libpng.so;general;/usr/lib/x86_64-linux-gnu/libz.so;
freeorioncommon_LIB_DEPENDS:STATIC=general;/usr/local/lib/libboost_date_time.so;general;/usr/local/lib/libboost_filesystem.so;general;/usr/local/lib/libboost_iostreams.so;general;/usr/local/lib/libboost_locale.so;general;/usr/local/lib/libboost_log.so;general;/usr/local/lib/libboost_log_setup.so;general;/usr/local/lib/libboost_regex.so;general;/usr/local/lib/libboost_serialization.so;general;/usr/local/lib/libboost_system.so;general;/usr/local/lib/libboost_thread.so;general;/usr/lib/x86_64-linux-gnu/libz.so;
//ADVANCED property for variable: BOOST_ROOT
BOOST_ROOT-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_ATOMIC_LIBRARY_DEBUG
Boost_ATOMIC_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_ATOMIC_LIBRARY_RELEASE
Boost_ATOMIC_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_CHRONO_LIBRARY_DEBUG
Boost_CHRONO_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_CHRONO_LIBRARY_RELEASE
Boost_CHRONO_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_DATE_TIME_LIBRARY_DEBUG
Boost_DATE_TIME_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_DATE_TIME_LIBRARY_RELEASE
Boost_DATE_TIME_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_DIR
Boost_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_FILESYSTEM_LIBRARY_DEBUG
Boost_FILESYSTEM_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_FILESYSTEM_LIBRARY_RELEASE
Boost_FILESYSTEM_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_INCLUDE_DIR
Boost_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_IOSTREAMS_LIBRARY_DEBUG
Boost_IOSTREAMS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_IOSTREAMS_LIBRARY_RELEASE
Boost_IOSTREAMS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_LIBRARY_DIR_DEBUG
Boost_LIBRARY_DIR_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_LIBRARY_DIR_RELEASE
Boost_LIBRARY_DIR_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_LOCALE_LIBRARY_DEBUG
Boost_LOCALE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_LOCALE_LIBRARY_RELEASE
Boost_LOCALE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_LOG_LIBRARY_DEBUG
Boost_LOG_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_LOG_LIBRARY_RELEASE
Boost_LOG_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_LOG_SETUP_LIBRARY_DEBUG
Boost_LOG_SETUP_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_LOG_SETUP_LIBRARY_RELEASE
Boost_LOG_SETUP_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_PYTHON-PY27_LIBRARY_DEBUG
Boost_PYTHON-PY27_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_PYTHON-PY27_LIBRARY_RELEASE
Boost_PYTHON-PY27_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_PYTHON27_LIBRARY_DEBUG
Boost_PYTHON27_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_PYTHON27_LIBRARY_RELEASE
Boost_PYTHON27_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_PYTHON_LIBRARY_DEBUG
Boost_PYTHON_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_PYTHON_LIBRARY_RELEASE
Boost_PYTHON_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_REGEX_LIBRARY_DEBUG
Boost_REGEX_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_REGEX_LIBRARY_RELEASE
Boost_REGEX_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_SERIALIZATION_LIBRARY_DEBUG
Boost_SERIALIZATION_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_SERIALIZATION_LIBRARY_RELEASE
Boost_SERIALIZATION_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_SYSTEM_LIBRARY_DEBUG
Boost_SYSTEM_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_SYSTEM_LIBRARY_RELEASE
Boost_SYSTEM_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_THREAD_LIBRARY_DEBUG
Boost_THREAD_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: Boost_THREAD_LIBRARY_RELEASE
Boost_THREAD_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//Details about finding Boost
FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/include][cfound components: date_time filesystem regex system thread log chrono atomic log_setup ][v1.65.1(1.58.0)]
//Last used BOOST_ROOT value.
_BOOST_ROOT_LAST:INTERNAL=/usr/include
_Boost_COMPONENTS_SEARCHED:INTERNAL=atomic;chrono;date_time;filesystem;iostreams;locale;log;log_setup;python;python-py27;python27;regex;serialization;system;thread
//Last used Boost_INCLUDE_DIR value.
_Boost_INCLUDE_DIR_LAST:INTERNAL=/usr/include
//Last used Boost_LIBRARY_DIR_DEBUG value.
_Boost_LIBRARY_DIR_DEBUG_LAST:INTERNAL=/usr/local/lib
//Last used Boost_LIBRARY_DIR_RELEASE value.
_Boost_LIBRARY_DIR_RELEASE_LAST:INTERNAL=/usr/local/lib
//Last used Boost_NAMESPACE value.
_Boost_NAMESPACE_LAST:INTERNAL=boost
//Last used Boost_USE_MULTITHREADED value.
_Boost_USE_MULTITHREADED_LAST:INTERNAL=TRUE
//Last used Boost_USE_STATIC_LIBS value.
_Boost_USE_STATIC_LIBS_LAST:INTERNAL=OFF

o01eg
Programmer
Posts: 735
Joined: Sat Dec 10, 2011 5:46 am

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#4 Post by o01eg » Tue Mar 24, 2020 8:59 am

I have boost and cmake installed from repos:

Code: Select all

cmake/bionic-updates,now 3.10.2-1ubuntu2.18.04.1 amd64 [installed]
  cross-platform, open-source make system

libboost-python1.65-dev/bionic,now 1.65.1+dfsg-0ubuntu5 amd64 [installed,automatic]
  Boost.Python Library development files
Gentoo Linux x64, gcc-9.2, boost-1.72.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io. Version 2020-03-30.025f545.
Donations are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
Oberlus
Cosmic Dragon
Posts: 2137
Joined: Mon Apr 10, 2017 4:25 pm

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#5 Post by Oberlus » Tue Mar 24, 2020 9:45 am

o01eg wrote:
Tue Mar 24, 2020 8:59 am
I have boost and cmake installed from repos:

Code: Select all

cmake/bionic-updates,now 3.10.2-1ubuntu2.18.04.1 amd64 [installed]
  cross-platform, open-source make system

libboost-python1.65-dev/bionic,now 1.65.1+dfsg-0ubuntu5 amd64 [installed,automatic]
  Boost.Python Library development files
Oh... The cmake I've installed is 3.17. Maybe it is messing with local boost. I'll try removing this one and installing the one from repos, which I didn't in first place because of this:

Code: Select all

~$ sudo apt-get install cmake
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cmake : Depends: libcurl4 (>= 7.16.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Now idea why libcurl4 "is not going to be installed", something to do with libcurl3 being installed (maybe I messed up something during dist. upgrade).
Trying to install it manually does work though:

Code: Select all

~$ sudo apt install libcurl4
[...]
The following packages will be REMOVED:
  libcurl3 r-base r-base-core r-base-dev r-base-html r-cran-boot r-cran-class
  r-cran-codetools r-cran-kernsmooth r-cran-lattice r-cran-maps
  r-cran-maptools r-cran-mass r-cran-matrix r-cran-mgcv r-cran-nlme
  r-cran-nnet r-cran-rpart r-cran-sp r-cran-spatial r-cran-survival
  r-recommended
[...]
Oh, now I know why I could not install libcurl4, I've just destroyed my R mapping installation that depended on libcurl3 (which I use at job... <sighs>). I guess I'll make it work again with libcurl4.

Now cmake from repo installed just fine.

Thank you very much, o01eg! :D

o01eg
Programmer
Posts: 735
Joined: Sat Dec 10, 2011 5:46 am

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#6 Post by o01eg » Tue Mar 24, 2020 10:04 am

I suppose manually installed R packages should be upgraded manually as well.
Gentoo Linux x64, gcc-9.2, boost-1.72.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io. Version 2020-03-30.025f545.
Donations are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
Oberlus
Cosmic Dragon
Posts: 2137
Joined: Mon Apr 10, 2017 4:25 pm

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#7 Post by Oberlus » Tue Mar 24, 2020 10:16 am

FML :evil: :evil: :evil:

I was compiling just find but I realised I was compiling the wrong branch, so I did a Ctrl-C, and rerun cmake. This gave me an error, so I looked for some "cmake clean" equivalent, just found I have to manually delete certain file in the build folder. Still, it does not work:

Code: Select all

~/Projects/FreeOrion/freeorion-build$ cmake ../freeorion
-- Setting build type to 'Release' as none was specified.
-- Build type CMAKE_BUILD_TYPE set to Release
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Use CCache for Unix Makefiles called with: ccache program  
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3.5") 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "3.5") 
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   filesystem
--   iostreams
--   locale
--   log
--   log_setup
--   serialization
--   system
--   thread
--   regex
--   date_time
--   chrono
--   atomic
CMake Error at cmake/FindBoost.cmake:2161 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.65.1

  Boost include path: /usr/local/include

  Could not find the following Boost libraries:

          boost_python36

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  CMakeLists.txt:238 (find_package)


-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.8.1") 
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so   
-- Found OpenAL: /usr/lib/x86_64-linux-gnu/libopenal.so  
-- Found Ogg: /usr/lib/x86_64-linux-gnu/libogg.so  
-- Found Vorbis: /usr/lib/x86_64-linux-gnu/libvorbis.so   
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   filesystem
--   regex
--   system
-- Found GLEW: /usr/include  
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.2.54") 
-- Found SDL: /usr/lib/x86_64-linux-gnu/libSDL2.so (found version "2.0.8") 
-- Could NOT find cppcheck (missing: CPPCHECK_EXECUTABLE) 
-- Could NOT find pycodestyle (missing: PYCODESTYLE_EXECUTABLE) 
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring incomplete, errors occurred!
See also "~/Projects/FreeOrion/freeorion-build/CMakeFiles/CMakeOutput.log".
See also "~/Projects/FreeOrion/freeorion-build/CMakeFiles/CMakeError.log".
The problem seems to be that it can't find boost_python36.
The two log files have no mention to python.

I have the two python versions, 2.7 and 3.6.
I've got mad and decided to go for broke, so I've removed python 2.7, which has also removed a lot of other stuff in my laptop.
I really hate distro upgrades.

o01eg
Programmer
Posts: 735
Joined: Sat Dec 10, 2011 5:46 am

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#8 Post by o01eg » Tue Mar 24, 2020 10:39 am

It's very strange because CI based on Ubuntu 18.04 found boost-python. Do you have dev package installed?

Code: Select all

-- Found the following Boost libraries:
--   python36
Gentoo Linux x64, gcc-9.2, boost-1.72.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io. Version 2020-03-30.025f545.
Donations are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
Oberlus
Cosmic Dragon
Posts: 2137
Joined: Mon Apr 10, 2017 4:25 pm

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#9 Post by Oberlus » Tue Mar 24, 2020 11:11 am

It is very strange indeed.

After I removed python2.7 and deleted all files in the build folder, rerunning cmake did find boost_python36, but did not find libboost<something>

I had to install python3.6-dev, which installed some missing libraries including the one above. I also rebooted system to be sure.

However, rerunning cmake again gave me back the boost_python36 problem:

Code: Select all

-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3.5") 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "3.5") 
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   filesystem
--   iostreams
--   locale
--   log
--   log_setup
--   serialization
--   system
--   thread
--   regex
--   date_time
--   chrono
--   atomic
CMake Error at cmake/FindBoost.cmake:2161 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.65.1

  Boost include path: /usr/local/include

  Could not find the following Boost libraries:

          boost_python36

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.

User avatar
Oberlus
Cosmic Dragon
Posts: 2137
Joined: Mon Apr 10, 2017 4:25 pm

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#10 Post by Oberlus » Tue Mar 24, 2020 11:22 am

You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.
No idea what to do with above suggestion from cmake:

Code: Select all

~/Projects/FreeOrion/freeorion-build$ grep boost CMakeCache.txt
Boost_ATOMIC_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_atomic.so
Boost_ATOMIC_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_atomic.so
Boost_CHRONO_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_chrono.so
Boost_CHRONO_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_chrono.so
Boost_DATE_TIME_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_date_time.so
Boost_DATE_TIME_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_date_time.so
Boost_FILESYSTEM_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_filesystem.so
Boost_FILESYSTEM_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_filesystem.so
Boost_IOSTREAMS_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_iostreams.so
Boost_IOSTREAMS_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_iostreams.so
Boost_LOCALE_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_locale.so
Boost_LOCALE_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_locale.so
Boost_LOG_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_log.so
Boost_LOG_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_log.so
Boost_LOG_SETUP_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_log_setup.so
Boost_LOG_SETUP_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_log_setup.so
Boost_REGEX_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_regex.so
Boost_REGEX_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_regex.so
Boost_SERIALIZATION_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_serialization.so
Boost_SERIALIZATION_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_serialization.so
Boost_SYSTEM_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_system.so
Boost_SYSTEM_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_system.so
Boost_THREAD_LIBRARY_DEBUG:FILEPATH=/usr/local/lib/libboost_thread.so
Boost_THREAD_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libboost_thread.so
_Boost_NAMESPACE_LAST:INTERNAL=boost

Code: Select all

~$ ls /usr/local/lib/libboost_p*
/usr/local/lib/libboost_prg_exec_monitor.a          /usr/local/lib/libboost_program_options.so.1.65.1
/usr/local/lib/libboost_prg_exec_monitor.so         /usr/local/lib/libboost_python.a
/usr/local/lib/libboost_prg_exec_monitor.so.1.65.1  /usr/local/lib/libboost_python.so
/usr/local/lib/libboost_program_options.a           /usr/local/lib/libboost_python.so.1.65.1
/usr/local/lib/libboost_program_options.so

Code: Select all

~$ python3 -V
Python 3.6.9

o01eg
Programmer
Posts: 735
Joined: Sat Dec 10, 2011 5:46 am

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#11 Post by o01eg » Tue Mar 24, 2020 11:25 am

Oberlus wrote:
Tue Mar 24, 2020 11:11 am
It is very strange indeed.

After I removed python2.7 and deleted all files in the build folder, rerunning cmake did find boost_python36, but did not find libboost<something>

I had to install python3.6-dev, which installed some missing libraries including the one above. I also rebooted system to be sure.

However, rerunning cmake again gave me back the boost_python36 problem:

Code: Select all

-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3.5") 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "3.5") 
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   filesystem
--   iostreams
--   locale
--   log
--   log_setup
--   serialization
--   system
--   thread
--   regex
--   date_time
--   chrono
--   atomic
CMake Error at cmake/FindBoost.cmake:2161 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.65.1

  Boost include path: /usr/local/include

  Could not find the following Boost libraries:

          boost_python36

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
I suppose boost from /usr/local was built without python3 support. You should remove it and install libboost-python-dev or libboost-all-dev from repo.
Gentoo Linux x64, gcc-9.2, boost-1.72.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io. Version 2020-03-30.025f545.
Donations are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
Oberlus
Cosmic Dragon
Posts: 2137
Joined: Mon Apr 10, 2017 4:25 pm

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#12 Post by Oberlus » Tue Mar 24, 2020 11:27 am

o01eg wrote:
Tue Mar 24, 2020 11:25 am
I suppose boost from /usr/local was built without python3 support. You should remove it and install libboost-python-dev or libboost-all-dev from repo.
Like "sudo apt remove libboost1.65" ?


Edit: I went ahead and removed every libboost*.

Now I want to install libboost-whatever, but any thing I try also forces the installation of python2.7, which I don't want. Any way to avoid that?

o01eg
Programmer
Posts: 735
Joined: Sat Dec 10, 2011 5:46 am

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#13 Post by o01eg » Tue Mar 24, 2020 11:58 am

Oberlus wrote:
Tue Mar 24, 2020 11:27 am
o01eg wrote:
Tue Mar 24, 2020 11:25 am
I suppose boost from /usr/local was built without python3 support. You should remove it and install libboost-python-dev or libboost-all-dev from repo.
Like "sudo apt remove libboost1.65" ?
Not sure if boost in /usr/local was installed with apt.
Gentoo Linux x64, gcc-9.2, boost-1.72.0
Ubuntu Server 18.04 x64, gcc-7.4, boost-1.65.1
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io. Version 2020-03-30.025f545.
Donations are welcome: BTC:14XLekD9ifwqLtZX4iteepvbLQNYVG87zK

User avatar
Oberlus
Cosmic Dragon
Posts: 2137
Joined: Mon Apr 10, 2017 4:25 pm

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#14 Post by Oberlus » Tue Mar 24, 2020 12:18 pm

Oberlus wrote:
Tue Mar 24, 2020 11:27 am
I went ahead and removed every libboost*.

Now I want to install libboost-whatever, but any thing I try also forces the installation of python2.7, which I don't want. Any way to avoid that?
I couldn't find a way to not get the python 2.7 back into my system apart from downloading and compiling boost myself, but the instructions I found didn't work in my system (most surely because I don't understand something important), so I gave up and installed the whole bunch of shit again:

Code: Select all

The following NEW packages will be installed:
  libboost-all-dev libboost-atomic-dev libboost-atomic1.65-dev libboost-atomic1.65.1 libboost-chrono-dev
  libboost-chrono1.65-dev libboost-chrono1.65.1 libboost-container-dev libboost-container1.65-dev
  libboost-container1.65.1 libboost-context-dev libboost-context1.65-dev libboost-context1.65.1 libboost-coroutine-dev
  libboost-coroutine1.65-dev libboost-coroutine1.65.1 libboost-date-time-dev libboost-date-time1.65-dev
  libboost-date-time1.65.1 libboost-dev libboost-exception-dev libboost-exception1.65-dev libboost-fiber-dev
  libboost-fiber1.65-dev libboost-fiber1.65.1 libboost-filesystem-dev libboost-filesystem1.65-dev
  libboost-filesystem1.65.1 libboost-graph-dev libboost-graph-parallel-dev libboost-graph-parallel1.65-dev
  libboost-graph-parallel1.65.1 libboost-graph1.65-dev libboost-graph1.65.1 libboost-iostreams-dev
  libboost-iostreams1.65-dev libboost-iostreams1.65.1 libboost-locale-dev libboost-locale1.65-dev libboost-locale1.65.1
  libboost-log-dev libboost-log1.65-dev libboost-log1.65.1 libboost-math-dev libboost-math1.65-dev libboost-math1.65.1
  libboost-mpi-dev libboost-mpi-python-dev libboost-mpi-python1.65-dev libboost-mpi-python1.65.1 libboost-mpi1.65-dev
  libboost-mpi1.65.1 libboost-numpy-dev libboost-numpy1.65-dev libboost-numpy1.65.1 libboost-program-options-dev
  libboost-program-options1.65-dev libboost-program-options1.65.1 libboost-python-dev libboost-python1.65-dev
  libboost-python1.65.1 libboost-random-dev libboost-random1.65-dev libboost-random1.65.1 libboost-regex-dev
  libboost-regex1.65-dev libboost-regex1.65.1 libboost-serialization-dev libboost-serialization1.65-dev
  libboost-serialization1.65.1 libboost-signals-dev libboost-signals1.65-dev libboost-signals1.65.1
  libboost-stacktrace-dev libboost-stacktrace1.65-dev libboost-stacktrace1.65.1 libboost-system-dev
  libboost-system1.65-dev libboost-system1.65.1 libboost-test-dev libboost-test1.65-dev libboost-test1.65.1
  libboost-thread-dev libboost-thread1.65-dev libboost-thread1.65.1 libboost-timer-dev libboost-timer1.65-dev
  libboost-timer1.65.1 libboost-tools-dev libboost-type-erasure-dev libboost-type-erasure1.65-dev
  libboost-type-erasure1.65.1 libboost-wave-dev libboost-wave1.65-dev libboost-wave1.65.1 libboost1.65-dev
  libboost1.65-tools-dev libpython-dev libpython-stdlib libpython2.7-dev libpython3-dev mpi-default-bin python
  python-dev python-minimal python2.7 python2.7-dev python2.7-minimal python3-dev
0 upgraded, 109 newly installed, 0 to remove and 0 not upgraded.
cmake still fails, it can't find the fucking boost_python36, so this didn't serve any purpose.

Now it also can't find a bunch of other stuff, like the whole SDL2 library that has been wiped out from removing the libboost*. I also removed the whole libreoffice package from my system.

I'm sick of this, for a while.

Ophiuchus
Programmer
Posts: 1267
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: libicui18n.so.55 libicuuc.so.55 not found Ubuntu 18.04

#15 Post by Ophiuchus » Tue Mar 24, 2020 3:56 pm

Oberlus wrote:
Tue Mar 24, 2020 12:18 pm
Now it also can't find a bunch of other stuff, like the whole SDL2 library that has been wiped out from removing the libboost*. I also removed the whole libreoffice package from my system.

I'm sick of this, for a while.
Should be able to get sdl and other dependencies back by (re)installing freeorion-dev I guess. At least if you used apt* for removing the files. Else i think you could try to remove freeorion-dev and it would try to remove sdl, so an install afterwards should work.

I would also have expected that an upgrade to 18.04 would be smoother than trying to fix the libs. So reading your journey is frightening. Setting boost paths probably is the smoothest way to change the libs versions after building yourself(?)

The main reason why I do the snap releases is to escape this unnecessary install-hell. That works for users. Devs should hopefully be able to upgrade(?).

It should not matter that you have python2 on your system. You can point your default python to python3 (update-alternatives ?)
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Furthermore, I propse... we should default to four combat rounds instead of three ...for the good of playerkind.

Post Reply