Could NOT find Boost in ubuntu machine? - c++

I have already installed BOOST in my brand new Ubuntu 12.04 machine. And when I do like this -
cmake .
I always get the below exception saying -
Could NOT find Boost
I am not sure what wrong I am doing here. I have one of my ubuntu instance working fine and I am trying the same thing on my new Ubuntu instance which I have got.. So I am not sure what wrong I am doing here and how the same thing works fine in my other ubuntu instance.
root#dbx1245:/export/home/test/libcql# cmake .
-- Could NOT find Boost
WANT_LIB64 unset; assuming normal library directory names
Will install libraries to /usr/local/lib
-- Configuring done
-- Generating done
-- Build files have been written to: /export/home/test/libcql
Can anyone help me with this?
I am running Ubuntu 12.04. I have seen other article as well on the stackoverflow but I am not able to solve this issue.
I already have boost installed by the way.

I also encountered this error - boost was correctly installed as suggested in this answer.
I solved it by setting
set(BOOST_INCLUDEDIR /usr/include)
just before
find_package(Boost)
I was using CMake 3.1.3 for testing (via ppa:george-edison55/cmake-3.x)

Related

Cmake doesn't find boost windows

I'm trying to run this code:
https://github.com/snukky/news-translit-nmt
I've installed boost and got the following messages:
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
C:\Program Files\boost\boost_1_67_0
The following directory should be added to linker library paths:
C:\Program Files\boost\boost_1_67_0\stage\lib
By the comment of #kenba I've added the following environment variables:
Try 1
When I try to run the following cmd:
cmake .. -DCMAKE_BUILD_TYPE=Release
I get:
-- Could NOT find Boost (missing: timer iostreams filesystem system chrono) (found version "1.67.0")
CMake Error at CMakeLists.txt:290 (message):
Cannot find Boost libraries. Terminating.
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Configuring incomplete, errors occurred!
See also "D:/ThesisResources/previous_works/news-translit-nmt-master/tools/marian-dev/build/CMakeFiles/CMakeOutput.log".
Try 2
When I try to give a custom boost by this ref
https://marian-nmt.github.io/docs/#custom-boost:
I run the following cmd:
cmake .. -DBOOST_ROOT="C:\Program Files\boost\boost_1_67_0"
I get the same error.
I've also tried working with Linux WSL (But problems with CUDA installation overthere, their team is working on it), Linux VirtualBox (Not enough resources), and Ubuntu 17.10 I have installed (But Cuda requires Ubuntu 16.04 / 18.04)
What am I missing here? I'm trying any suggestion, stuck on it for a few days. Thanks!
Edit:
I reinstalled Ubuntu 16.04 and the problem was solved. Still don't know how to solve it in windows, but i'll continue use Ubuntu 16.04.
I had this problem earlier while trying to build the Windows version of Marian NMT (the same component that you're having trouble with). I can't remember the exact steps to solve the problem, but the root cause is that the Marian NMT build for Windows does not work with newer versions of Boost, since the source code uses some deprecated calling conventions for timer and chrono libraries (maybe some others as well).
The error message kind of confirms this: it can't find Boost, but on the other hand it says it finds your version 1.67.0. The solution is to use an older version of boost, I've confirmed that it works with 1.60.0.
If you just require a Marian NMT decoder that works in Windows, a project I work on has released a plugin for the Trados Studio translation tool, which contains a compiled marian-decoder executable for Windows: https://object.pouta.csc.fi/fiskmo/TradosStudio/FiskmoTranslationProvider.sdlplugin. You can access the executable by unzipping the sdlplugin file, the StartMtPipe.bat shows how to use the decoder.

How to use compiled wxwidgets with cmake

I'm getting some trouble while trying to use wxwidgets in my project (I'm on linux). It worked well when I was with wxWidget 3.02, but when I tried to use 3.1.0 it stopped to work.
I still have the 3.0.2 (so I can have something working) but I want to use the wxlistctrl::EnableCheckBoxes(), so I get the 3.1.0.
In my CMakeList, I change FIND_PACKAGE(wxWidgets REQUIRED)to FIND_PACKAGE(wxWidgets 3.1.0 REQUIRED)
When i try to cmake ..in my build directory, I got the following error:
... could NOT find wxWidgets: Found unsuitable version "3.0.2", but required is
at least `3.1.0`(found
-L/usr/local/lib//lib/x86_64-linux-gnu; ...
I know that the library is located at /usr/local/lib I tried to ln to the directory, I tried many commands in my cmake, but I don't know how to tell cmake to search in the good library to find th wxWidgets version I want.
I'm pretty sure it's a cmake mistake, but it can be an installation problem too (even if I followed the tutorial here). More, when I type gtk-config --versionI got "3.1.1" (that's what I expected as version number, I get the git version)
If anyone has a question or an idea to solve my problem, I would be haappy to read it =)
Thank's!
CMake saying that your minumum version of cmake, 3.0.2, is lower than the wxWidgets minimum cmake version, 3.1.0.
Try putting the command: cmake_minimum_required(VERSION 3.1.0).
That way your minimum cmake version required will be 3.1.0 so it will be fine.

CMake error when compiling out of tree model in gnu radio

I have a problem and I can't seem to find a solution to it. I am building a project using gnuradio and in the process of building an OOT module i always get the following error after $cmake ../ (I followed the instruction from the GNU site though)
$ cmake ../
-- Build type not specified: defaulting to release.
-- Could NOT find Boost
CMake Error at CMakeLists.txt:63 (message):
Boost required to compile trial
-- Configuring incomplete, errors occurred!
Please any help will be deeply appreciated (And please I am a noob so kindly have it easy on me).
Enable the debug output for the FindBoost module when invoking cmake, it'll help you pinpoint which packages are missing:
$ cmake -DBoost_DEBUG=ON ../
Here's a similar problem on kubuntu 14.04: https://github.com/antoinet/gr-acars2/issues/2.
The solution was to install the missing libboost-filesystem-dev and libboost-system-dev packages.
The basic issue is that 1 or more Boost components (e.g., system, threads, filesystem) is/are not being found, so you need to get it/them installed. How you do the install depends on your OS. So ... what OS are you trying to do this on?
Also, how did you install GNU Radio in the first place? Any package manager with its salt will make sure dependencies are installed correctly along with the actual package. If you used MacPorts or apt-get or yum to install GNU Radio, Boost should have been installed.
Related: Have you considered signing up for the GNU Radio discussion email list? This question would be quickly answered there. https://lists.gnu.org/mailman/listinfo/discuss-gnuradiosome

Can't find bjam in boost homebrew installation

I installed Boost with homebrew(brew install boost) on my Mac running Lion with the purpose of extending python with an existing C++ program I have. Now I can't follow the starting guide because 1 - I don't have 'bjam' installed in my system and 2-I don't see the examples folder anywhere. My question is: how I am supposed to do the the c++-python linking with this homebrew installation without 'bjam'? is there some alternative method I should use or something I am missing here?
The right formula to install boost for linking c++ with python programs is:
brew install boost-build
as pointed out by senderle in the comments to my question. This installs bjam automatically.
For Windows, you go into $(BoostDir)\tools\build\v2\engine and run build.bat which automatically builds bjam (into the bin.ntx86 directory on windows). There is a build.sh file there too, but I've never used a Mac so I don't know if that will work for you. Otherwise, just do a Google search for a precompiled bjam executable for Mac OS X.
It should just be a case of downloading Boost then running "Bootstrap" followed by "Bjam".
Bootstrap should build you a Bjam executable in the Boost folder.

How do I install the boost library to my MinGW compiler?

I'm compiling from the command line using g++ on a Windows MinGW installation. How do I get boost...conceptually or if it is easy...what do I need to download and install?
I know this is an old question but for future reference for anybody coming to this page try this website,
http://nuwen.net/mingw.html
They have done all the hard work so you don't have to. The most recent distribution on this page has boost 1_52_0 (which is the latest version on the boost website as I'm writing this) including the separately compiled libraries (e.g. boost thread, boost regex etc) which I beleive you're asking for
I spent hours searching for a good solution for Boost 1.54. If you already have MinGW and you're just looking for instructions on compiling the binary boost libraries, try this:
From your boost_X_XX_X directory, go to
.\tools\build\src\engine
and type:
build.bat mingw
This will create a folder called bin.ntx86 or bin.ntx86_64 depending on your architecture. Add this directory to your PATH environment variable.
Return to your boost_X_XX_X directory and type:
bjam toolset=gcc
This worked for me on my system. I'd be interested to know if other systems have trouble with these instructions.
However there would have been a simpler, yet identical way; your steps until the bjam call are automatically done by bootstrap.bat:
C:\boost_1_52_0> bootstrap.bat mingw
Building Boost.Build engine
...
C:\boost_1_52_0> b2 toolset=gcc
Reference: https://stackoverflow.com/a/13257930/2171309
Thanx to Neal Kruis. This worked for me. I have Qt 5.4 with mingw 4.9 installed. I downloaded boost 1.59. Go to "...\boost_1_59_0\tools\build\src\engine\" folder
set PATH=%PATH%;c:\Qt\Qt5.4.0\Tools\mingw491_32\bin
build.bat mingw
go to "...\boost_1_59_0\" folder, change boost path accordingly
set PATH=%PATH%;c:\boost_1_59_0\tools\build\src\engine\bin.ntx86
bjam toolset=gcc