Can't find shared libraries in Boost (Linux Mint) - c++

I just switched to using Linux Mint and I'm having trouble figuring out the way the default Boost package works on this system. Normally I'd just install a package called boost, and locate my way to the shared libraries, but on Linux Mint none of that seems to work.
I've done apt-get install libboost-all-dev, but I absolutely can't find any of Boost's .so files. Did I install the right package? If so, where are they? I'm especially in need of libboost_locale.so.
Thanks!

Usually, you can find them in /usr/lib (like here https://askubuntu.com/questions/263461/where-is-my-boost-lib-file). You can also try
apt-cache show libboost-all-dev

Related

Does Linux command libboost-all-dev install and compile the header-only libraries?

On Ubuntu there is a command to install boost libraries which is something like this:
sudo apt-get install libboost-all-dev
does this command also install and compile the header-only libraries?
If not, what other terminal command would I need to execute so that I can install the FULL set of boost libraries?
My ultimate aim is to know which linux terminal commands I need to install (and have available) to obtain all of the boost libraries.
As is implied by "header only", one does not need to compile the header-only libraries. They're just headers.
Now, the libbost-all-dev package does install those libraries which need compilation (in addition to the header-only libs), but it does not compile them on the spot. Ubuntu is a so-called binary distribution, which means that it distributes packages in compiled form. Apt downloads the binaries and installs them immediately. This is in contrast to e.g. Gentoo which is a source distribution (and compiles everything on your machine).
In short, no further commands are necessary. Installing libbost-all-dev will install all available Boost libraries on Ubuntu.
Your questions, as posed, makes no sense.
The Debian / Ubuntu package libboost-all-dev has dependencies, and those dependencies do include the few binary library packages (eg Boost Thread, the formatting parts of Boost DateTime, etc pp). All those will get installed.
And yes, the intent of this meta package is to install the rest of the Boost development environment.
But it does not compile anything. All Debian / Ubuntu packages are pre-generated and built-offline and "just installed" at your end.
You can inspect the content of a package by browsing the online database.
But if you are only interested in header-only libraries I suggest to download the latest version of the boost libraries right from the official website; you should also learn how to build boost from the source because it's a know-how that you are very likely to use in a near future if you are relying on that library.
An equivalent step to browsing the online database, it's about using the following command
apt-cache show <package>
so, in your case
apt-cache show libboost-all-dev
and this will give you a very specific idea about what you are about to install.

BLAS library incompatible with Fortran 77 compiler settings

I'm trying to install Octave-3.6.2 from source on Ubuntu 12.04 with KDE desktop but when I run the Octave configure script I get this error
BLAS library was detected but found incompatible with your Fortran 77
compiler settings
I used ./configure F77=gfortran as was suggested by numerous web searches and I've ensured that the alternatives system F77 files are moved out of harms way as per the comments in this SO post. The installed BLAS libraries are those installed by the package manager.
What does the error mean and how do I remedy it?
Try installing the Package liblapack-dev, libblas-dev, and if it exists, libblas-64. While not Ubuntu, I had the same issue and needed to install the fedora fc20 equivalent packages which are blas-devel, blas64-devel, lapack-devel, and lapack64-devel. The standard routine for getting the build dependencies is
sudo yum-builddep octave
While that installed most of the dependencies, I needed to follow with the following before it would completely configure. This is from an almost scratch Fedora fc20 install with updates as of 10/23/2014.
sudo yum install lapack64-devel lapack64
sudo yum install gl2ps-devel qrupdate-devel qt-devel qscintilla-devel java-devel
Although I did not explicitly list the blas-devel and blas64-devel packages, they were installed as dependencies of the libpack packages as was libpack-devel and plain libpack.
I suppose for Ubuntu it may be apt-get. Either way, here is another post that talks about an earlier version of Ubuntu.
BLAS and LAPACK libraries required for compiling
I fixed this problem by moving the BLAS to /usr/lib64.
for slackware recompile blas using -libdir=/usr/lib64
Run sudo apt-get build-dep octave
This will install all dependencies for octave
I was compiling octave-4.0.1 on openSUSE-12.3_x86-64 and met this problem. Before this, the blas lib (libblas3) was already installed. Then I installed the 32bit lib (libblas3-32bit), nothing changed. Then I installed the package named "blas-devel", it's resolved.
That package includes these files:
/usr/lib64/libblas.a
/usr/lib64/libblas.so
/usr/lib64/libblas_pic.a

Compiling all of the boost libraries on Unix?

I used one of the ubuntu package manager commands to install all of the boost libraries. I think the command was
sudo install something libboost
I am aware that some of the boost libraries need to be compiled separately (or something similar). How do I go about doing this so that I can use them along with the regular libraries?
sudo apt-get install libboost-all-dev

Boost c++ library install

I am not familiar with the usual build technique in linux I am using boost c++ library. Can any body guide me in installing and configuring boost c++ library. Thanks in advance
My environment is Linux Fedora 15. On it, one can easily install boost by typing,
$ yum install boost-devel
After installation, you'll find boost under /usr/include/boost/.
However, if you run,
$yum install boost
you'll only find .so of boost under /usr/lib/, like /usr/lib/libboost_timer.so.1.48.0.
It's OK if you're not familiar with the usual build technique because Boost doesn't use the usual build technique. Follow the instructions in the "getting started" documentation. Make sure you read all the way to the bottom of the page. The link to the Unix-specific instructions is at the very, very bottom.
For most parts of Boost, installation is synonymous with unpacking the tarball into your preferred include directory. Other parts of Boost require compilation, so go to the Boost installation directory, run ./bootstrap.sh, and then run ./bjam install.
depending on the Linux distribution you are using, you'll probably find boost is already built and packaged for you, e.g. on Fedora "yum install boost"
Rob Kennedy's answer is still valid except that is recommended now to install with ./b2 instead of ./bjam.

Enabling OpenGL in wxWidgets

I installed the wxWidgets source code, compiled it and am linking the libraries thus obtained with my application code. Now I need to use OpenGL in my wxWidgets application. How do I enable this?
For building on Windows with project files:
Assume $(WXWIDGETSROOT) is the root directory of your wxWidgets installation.
Open the file $(WXWIDGETSROOT)\include\wx\msw\setup.h
Search for the #define for wxUSE_GLCANVAS.
Change its value from 0 to 1.
Recompile the library.
For building on Linux and other ./configure based platforms:
Just use ./configure --with-opengl
(A mashup answer from two partial answers given by others)
If you're using configure to build wxWidgets you just need to add --with-opengl to your command line.
Just to add a little bit... If you're on linux you need to watch the logs when running configure. If it can't find opengl dev packages then it will turn opengl off with one line of warning which is easy to miss.
run it like this to make it more obvious what development libraries you're actually missing (it looks like the --with-opengl is on by default in 3.0.0 and possibly earlier versions of wxwidgets, but it can't hurt to include it I suspect).
./configure --with-opengl > configure.log
Once configure can find all the dev libs you think you're going to use you need to rebuild wxwidgets:
make
sudo make install
I had to install these on linux mint to make wxwidget's configure happy as far as opengl was concerned (and should also work for ubuntu) to get the dev libs I needed.
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
(Assume $(WX_WIDGETS_ROOT) is the root directory of your wxWidgets installation.)
Open the file $(WX_WIDGETS_ROOT)\include\wx\msw\setup.h
Search and find the option wxUSE_GLCANVAS. Change its value from 0 to 1.
Recompile the library.