BitShares Forum
Main => Technical Support => Topic started by: FuLl on September 15, 2014, 07:32:09 pm
-
Hi,
I'm attempting to build bitsharesx on Debian 7 using a self-compliled 'modular-boost' because the libboost-all-dev included in the repos are too old to meet the dependency requirements.
I've built modular boost from these instructions here:
https://svn.boost.org/trac/boost/wiki/TryModBoost#InstallingModularBoost
...opting to build each library separately using the './b2' command rather than the './b2 headers' command, as it failed with the same error when I did that the first time.
Boost built properly once I upgraded my EC2 instance to one with an appropriate amount of memory (the build process hung for 20 hours on a free tier instance with just 512 MB of memory).
In the ~/bitsharesx directory, I try both 'cmake .' & 'cmake -DBoost_LIBRARY_DIR:PATH=/home/username/modular-boost/libs .', & I get the same error either way.
The output I get is:
-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Boost version: 1.55.0
Boost include path: /usr/include
The following Boost libraries could not be found:
boost_thread
boost_date_time
boost_system
boost_filesystem
boost_program_options
boost_signals
boost_serialization
boost_chrono
boost_unit_test_framework
boost_context
boost_locale
boost_iostreams
boost_coroutine
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):
libraries/fc/CMakeLists.txt:68 (FIND_PACKAGE)
-- Finished fc module configuration...
-- Using as BerkeleyDB root
-- Looking for: db_cxx-6.0
-- debug/usr/lib/x86_64-linux-gnu/libdb_cxx.sooptimized/usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include
-- Enabling Bitcoin Core Wallet Imports
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
-- Configuring incomplete, errors occurred!
See also "/home/admin/bitsharesx/CMakeFiles/CMakeOutput.log".
~/bitsharesx$
I looked at CMakeOutput.log, & it didn't mention any errors, so I deleted it & ran the 2 failing commands again- with & without the path to the boost libraries defined, & the log file wasn't created again, so I can't consult it for any insight.
Could anyone tell me what to do next please?
EDIT:
I've almost got it working via a ppa, see posts below.
-
I've installed libboost1.55-all-dev from sid, & still get the same error:
-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Boost version: 1.55.0
Boost include path: /usr/include
The following Boost libraries could not be found:
boost_thread
boost_date_time
boost_system
boost_filesystem
boost_program_options
boost_signals
boost_serialization
boost_chrono
boost_unit_test_framework
boost_context
boost_locale
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:58 (FIND_PACKAGE)
-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Boost version: 1.55.0
Boost include path: /usr/include
The following Boost libraries could not be found:
boost_coroutine
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:62 (FIND_PACKAGE)
-- Configuring BitShares on Linux
-- Using as BerkeleyDB root
-- Looking for: db_cxx-6.0
-- debug/usr/lib/x86_64-linux-gnu/libdb_cxx.sooptimized/usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include
-- Configuring project fc located in: /home/admin/bitsharesx/libraries/fc
-- Configuring fc to build on Unix/Apple
-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Boost version: 1.55.0
Boost include path: /usr/include
The following Boost libraries could not be found:
boost_thread
boost_date_time
boost_system
boost_filesystem
boost_program_options
boost_signals
boost_serialization
boost_chrono
boost_unit_test_framework
boost_context
boost_locale
boost_iostreams
boost_coroutine
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):
libraries/fc/CMakeLists.txt:68 (FIND_PACKAGE)
-- Finished fc module configuration...
-- Using as BerkeleyDB root
-- Looking for: db_cxx-6.0
-- debug/usr/lib/x86_64-linux-gnu/libdb_cxx.sooptimized/usr/lib/x86_64-linux-gnu/libdb_cxx.so
-- Found BerkeleyDB: /usr/include
-- Enabling Bitcoin Core Wallet Imports
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
-- Configuring incomplete, errors occurred!
When I search aptitude for curses, I see that all the non-specific libraries are already installed.
I don't know what else to do.
How has anyone else installed bitsharesx on Debian?
-
Is Debian not the same flavour as Ubuntu and Mint? Could you not pull the package from one of those??
-
How has anyone else installed bitsharesx on Debian?
I am running jessie .. and here it works flawlessly...
But I remember that i needed to switch from an older debian in order to get the boost library running properly .. I am afraid my knowledge about debian is not good enough to help you out here :(
-
Maybe you have conflicting boost versions installed?
Run this to check for any non 1.55 boost packages that are installed :
apt-cache search libboost | cut -f1 -d" " | xargs -n 1 apt-cache policy | egrep "Installed: 1.5[^5]" -B 1
-
Is Debian not the same flavour as Ubuntu and Mint? Could you not pull the package from one of those??
I've added the Ubuntu ppa to Debian, & can install the bitsharesx client if I don't have any apt-pinning configured at all. But without apt-pinning enabled 'aptitude upgrade' breaks my system & I can't boot.
I'm having trouble figuring out how to maintain my apt-pinning setup while allowing the bitsharesx package's dependencies to be: a) installed when the bitsharesx package needs them, & b) automatically upgraded as required.
Right now, I have Security set at priority 1000, Stable set to 995, & the repo with the right versions of the dependencies set to 50. For (*) all packages.
If I add a new section to the preference file, type the names of the bitsharesx package's dependencies (and all their dependencies) into the 'Package' field, & use a priority of 995 or even 1000, then they still don't install.
-
Is Debian not the same flavour as Ubuntu and Mint? Could you not pull the package from one of those??
I've added the Ubuntu ppa to Debian, & can install the bitsharesx client if I don't have any apt-pinning configured at all. But without apt-pinning enabled 'aptitude upgrade' breaks my system & I can't boot.
I'm having trouble figuring out how to maintain my apt-pinning setup while allowing the bitsharesx package's dependencies to be: a) installed when the bitsharesx package needs them, & b) automatically upgraded as required.
Right now, I have Security set at priority 1000, Stable set to 995, & the repo with the right versions of the dependencies set to 50. For (*) all packages.
If I add a new section to the preference file, type the names of the bitsharesx package's dependencies (and all their dependencies) into the 'Package' field, & use a priority of 995 or even 1000, then they still don't install.
Could you post your apt preferences file?
I helped some people do that once here:
http://forum.openmw.org/viewtopic.php?f=20&t=1298
I think you might only need two sections for the apt preference file. In the above example I used unstable for the dependencies (and all their dependencies) like this:
Package: *
Pin: release a=unstable
Pin-Priority: 90
which installs packages only if they are not present in Stable and not currently installed on your system.
And then:
Package: bitsharesx*
Pin: {whatever you do for the PPA}
Pin-Priority: 800
that should install it when you ask for it, and keep it up to date (as long as you apt-get update).
To install, use:
$ apt-get update
$ apt-get -t unstable install openmw
where -t tells apt-get to get dependencies from unstable
EDIT: you may be able to use "testing" instead of unstable if you so desire
-
I tried using the -t option, & this is the error I get:
$ sudo aptitude install -t sid libc6 libdb5.3++ libqt5core5a libqt5gui5 libqt5gui5-gles libqt5network5 libqt5webkit5 libqt5widgets5 libstdc++6 libc6 libicu52 libstdc++6 libqt5dbus5 libdb5.3 libdrm2 libegl1-mesa libegl1-x11 libfontconfig1 libgbm1 libgl1-mesa-glx libgl1 libgtk2.0-0 libharfbuzz0b libmtdev1 libpango-1.0-0 libudev1 libx11-xcb1 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb-xkb1 libxi6 libxkbcommon-x11-0 libxkbcommon0 libgl1-mesa-glx libgl1 libglib2.0-0 libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libicu52 libqt5opengl5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sql5 libwebp5 libxcomposite1 libxslt1.1 qtdeclarative-abi-5-3-0
No candidate version found for libqt5gui5-gles
No candidate version found for libqt5gui5-gles
The following NEW packages will be installed:
hicolor-icon-theme{a} libatk1.0-0{a} libatk1.0-data{a} libcairo2{a}
libdatrie1{a} libdb5.3{b} libdb5.3++{b} libdrm-intel1{a}
libdrm-nouveau1a{a} libdrm-radeon1{a} libdrm2 libegl1-mesa
libegl1-mesa-drivers{a} libgbm1 libgdk-pixbuf2.0-0{a}
libgdk-pixbuf2.0-common{a} libgl1-mesa-dri{a} libgl1-mesa-glx
libglapi-mesa{a} libgstreamer-plugins-base0.10-0 libgstreamer0.10-0
libgtk2.0-0 libgtk2.0-bin{a} libgtk2.0-common{a} libharfbuzz0b{b}
libicu52{b} libjasper1{a} libmtdev1 libopenvg1-mesa{a} liborc-0.4-0{a}
libpango-1.0-0{b} libpango1.0-0{a} libpciaccess0{a} libpixman-1-0{a}
libqt5core5a{b} libqt5dbus5{b} libqt5gui5{b} libqt5network5{b}
libqt5opengl5{b} libqt5printsupport5{b} libqt5qml5{b} libqt5quick5{b}
libqt5sql5{b} libqt5webkit5{b} libqt5widgets5{b} libthai-data{a}
libthai0{a} libudev1{b} libwayland0{a} libwebp5{b} libx11-xcb1
libxcb-dri2-0{a} libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1
libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0
libxcb-sync1{b} libxcb-util0{a} libxcb-xfixes0 libxcb-xkb1{b}
libxcomposite1 libxcursor1{a} libxdamage1{a} libxfixes3{a} libxft2{a}
libxi6 libxinerama1{a} libxkbcommon-x11-0{b} libxkbcommon0{b}
libxrandr2{a} libxslt1.1 libxxf86vm1{a} xkb-data{a}
The following packages are RECOMMENDED but will NOT be installed:
libqt5sql5-mysql libqt5sql5-odbc libqt5sql5-psql libqt5sql5-sqlite
qttranslations5-l10n
0 packages upgraded, 78 newly installed, 0 to remove and 12 not upgraded.
Need to get 80.1 MB of archives. After unpacking 306 MB will be used.
The following packages have unmet dependencies:
libqt5core5a : Depends: libc6 (>= 2.15) but 2.13-38+deb7u4 is installed.
Depends: libstdc++6 (>= 4.9) but 4.7.2-5 is installed.
libpango-1.0-0 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
Depends: libglib2.0-0 (>= 2.37.3) but 2.33.12+really2.32.4-5 is installed.
Breaks: libpango1.0-0 (< 1.32.5-2) but 1.30.0-1 is to be installed.
libqt5network5 : Depends: libc6 (>= 2.15) but 2.13-38+deb7u4 is installed.
libqt5sql5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libharfbuzz0b : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
Depends: libgraphite2-3 (>= 1.2.2) but it is not going to be installed.
libicu52 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
Depends: libstdc++6 (>= 4.9) but 4.7.2-5 is installed.
libqt5widgets5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libqt5dbus5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libxcb-xkb1 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libqt5quick5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libdb5.3++ : Depends: libc6 (>= 2.17) but 2.13-38+deb7u4 is installed.
libqt5opengl5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libwebp5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libqt5gui5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
Depends: libfontconfig1 (>= 2.11) but 2.9.0-7.1 is installed.
Depends: libgbm1 (>= 8.1~0) but 8.0.5-4+deb7u2 is to be installed.
Depends: libxcb-icccm4 (>= 0.4.1) but 0.3.9-2 is to be installed.
libxkbcommon-x11-0 : Depends: libc6 (>= 2.17) but 2.13-38+deb7u4 is installed.
libqt5webkit5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
Depends: libglib2.0-0 (>= 2.37.3) but 2.33.12+really2.32.4-5 is installed.
Depends: libstdc++6 (>= 4.9) but 4.7.2-5 is installed.
libxkbcommon0 : Depends: libc6 (>= 2.17) but 2.13-38+deb7u4 is installed.
libxcb-sync1 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libudev1 : Depends: libc6 (>= 2.17) but 2.13-38+deb7u4 is installed.
libdb5.3 : Depends: libc6 (>= 2.17) but 2.13-38+deb7u4 is installed.
libqt5qml5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
libqt5printsupport5 : Depends: libc6 (>= 2.14) but 2.13-38+deb7u4 is installed.
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) libdb5.3 [Not Installed]
2) libdb5.3++ [Not Installed]
3) libharfbuzz0b [Not Installed]
4) libicu52 [Not Installed]
5) libpango-1.0-0 [Not Installed]
6) libqt5core5a [Not Installed]
7) libqt5dbus5 [Not Installed]
8) libqt5gui5 [Not Installed]
9) libqt5network5 [Not Installed]
10) libqt5opengl5 [Not Installed]
11) libqt5printsupport5 [Not Installed]
12) libqt5qml5 [Not Installed]
13) libqt5quick5 [Not Installed]
14) libqt5sql5 [Not Installed]
15) libqt5webkit5 [Not Installed]
16) libqt5widgets5 [Not Installed]
17) libudev1 [Not Installed]
18) libwebp5 [Not Installed]
19) libxcb-sync1 [Not Installed]
20) libxcb-xkb1 [Not Installed]
21) libxkbcommon-x11-0 [Not Installed]
22) libxkbcommon0 [Not Installed]
Accept this solution? [Y/n/q/?] q
Abandoning all efforts to resolve these dependencies.
Abort.
$
This is my sid.pref file:
Package: *
Pin: release a=sid
Pin-Priority: 50
Package: libc6 libdb5.3++ libqt5core5a libqt5gui5 libqt5gui5-gles libqt5network5 libqt5webkit5 libqt5widgets5 libstdc++6 libc6 libicu52 libstdc++6 libqt5dbus5 libdb5.3 libdrm2 libegl1-mesa libegl1-x11 libfontconfig1 libgbm1 libgl1-mesa-glx libgl1 libgtk2.0-0 libharfbuzz0b libmtdev1 libpango-1.0-0 libudev1 libx11-xcb1 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb-xkb1 libxi6 libxkbcommon-x11-0 libxkbcommon0 libgl1-mesa-glx libgl1 libglib2.0-0 libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libicu52 libqt5opengl5 libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5sql5 libwebp5 libxcomposite1 libxslt1.1 qtdeclarative-abi-5-3-0
Pin: release a=sid
Pin-Priority: 1000
I don't have a .pref file for the ppa.
-
I got it installed, had to remove apt-pinning .pref files entirely then install it from the ppa. Then I copied the apt-pinning .pref files back to the server so it wouldn't upgrade & prevent booting.
I'd still like to be able to pin properly so that the bitsharesx packages & their dependencies are upgraded automatically, while not upgrading the rest of the system such that it breaks.
...But for now I'll be happy with this.
-
I think there's a typo in your preferences:
Pin: release a=sid
a= means the Archive or Suite and should be "unstable"
if you want to say "sid" you should do
Pin: release n=sid
that's why "-t unstable" didn't work for you
I also think it's a bad idea to explicitly name all dependencies and their dependencies since versions might change, and you may not get them all
try:
Package: *
Pin: release a=unstable
Pin-Priority: 50
just that, and then
apt-get -t unstable install bitsharesx
that should install, in order:
1) bitsharesx
2) bitsharesx-cli
3) dependencies of bitsharesx* found in Stable
4) dependencies of bitsharesx* found in unstable that are not present in Stable
Debian libraries are designed to be co-installable, so there shouldn't be any conflicts either.
let me know if this works! I'll add instructions to the PPA if so. I'll test it too.
-
I think there's a typo in your preferences:
Pin: release a=sid
a= means the Archive or Suite and should be "unstable"
if you want to say "sid" you should do
Pin: release n=sid
that's why "-t unstable" didn't work for you
I also think it's a bad idea to explicitly name all dependencies and their dependencies since versions might change, and you may not get them all
try:
Package: *
Pin: release a=unstable
Pin-Priority: 50
just that, and then
apt-get -t unstable install bitsharesx
that should install, in order:
1) bitsharesx
2) bitsharesx-cli
3) dependencies of bitsharesx* found in Stable
4) dependencies of bitsharesx* found in unstable that are not present in Stable
Debian libraries are designed to be co-installable, so there shouldn't be any conflicts either.
let me know if this works! I'll add instructions to the PPA if so. I'll test it too.
Changing that typo didn't have any effect. I still get the same error:
$ sudo aptitude install -t unstable bitsharesx
The following NEW packages will be installed:
bitsharesx bitsharesx-cli{a} libdb5.3{a} libdb5.3++{a} libdrm-intel1{a}
libdrm-nouveau1a{a} libdrm-radeon1{a} libdrm2{a} libegl1-mesa{a}
libegl1-mesa-drivers{a} libffi5{a} libgbm1{a} libgl1-mesa-dri{a}
libgl1-mesa-glx{a} libglapi-mesa{a} libgstreamer-plugins-base0.10-0{a}
libgstreamer0.10-0{a} libicu52{a} libopenvg1-mesa{a} liborc-0.4-0{a}
libpciaccess0{a} libqt5core5a{a} libqt5dbus5{a} libqt5gui5{ab} libqt5network5{a}
libqt5opengl5{a} libqt5printsupport5{a} libqt5qml5{a} libqt5quick5{a}
libqt5sql5{a} libqt5sql5-sqlite{a} libqt5webkit5{a} libqt5widgets5{a}
libwayland0{a} libwebp5{a} libx11-xcb1{a} libxcb-dri2-0{a} libxcb-glx0{a}
libxcb-render0{a} libxcb-shape0{a} libxcb-xfixes0{a} libxcomposite1{a}
libxdamage1{a} libxfixes3{a} libxslt1.1{a} libxxf86vm1{a} qttranslations5-l10n{a}
0 packages upgraded, 47 newly installed, 0 to remove and 0 not upgraded.
Need to get 41.9 MB/83.8 MB of archives. After unpacking 302 MB will be used.
The following packages have unmet dependencies:
libqt5gui5 : Depends: libgbm1 (>= 8.1~0) but 8.0.5-4+deb7u2 is to be installed.
Depends: libgtk2.0-0 (>= 2.24.0) but it is not going to be installed.
Depends: libharfbuzz0b (>= 0.9.11) but it is not going to be installed.
Depends: libmtdev1 (>= 1.0.8) but it is not going to be installed.
Depends: libpango-1.0-0 (>= 1.14.0) but it is not going to be installed.
Depends: libudev1 (>= 183) but it is not going to be installed.
Depends: libxcb-icccm4 (>= 0.4.1) but it is not going to be installed.
Depends: libxcb-image0 (>= 0.3.9) but it is not going to be installed.
Depends: libxcb-keysyms1 (>= 0.3.9) but it is not going to be installed.
Depends: libxcb-randr0 (>= 1.3) but it is not going to be installed.
Depends: libxcb-render-util0 but it is not going to be installed.
Depends: libxcb-shm0 but it is not going to be installed.
Depends: libxcb-sync1 but it is not going to be installed.
Depends: libxcb-xkb1 but it is not going to be installed.
Depends: libxi6 (>= 2:1.2.99.4) but it is not going to be installed.
Depends: libxkbcommon-x11-0 (>= 0.4.0) but it is not going to be installed.
Depends: libxkbcommon0 (>= 0.4.1) but it is not going to be installed.
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) bitsharesx [Not Installed]
2) libqt5gui5 [Not Installed]
3) libqt5opengl5 [Not Installed]
4) libqt5printsupport5 [Not Installed]
5) libqt5quick5 [Not Installed]
6) libqt5webkit5 [Not Installed]
7) libqt5widgets5 [Not Installed]
Accept this solution? [Y/n/q/?]
Right now I have an interim workaround in that I've created a script which copies all my apt-pinning .pref files to a staging directory, runs aptitude update & aptitude install -y bitsharesx, then copies the .pref files back to /etc/apt/preferences.d/, so that future aptitude upgrade operations won't break the system. It's not perfect, but it works for now. I'll set up cron once I get the BitSharesX command to work correctly & the seed node is up & running. Thanks nevertheless.