LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Compilation errors with compiling a program with boost libraries 1.39 (https://www.linuxquestions.org/questions/programming-9/compilation-errors-with-compiling-a-program-with-boost-libraries-1-39-a-769225/)

Metal_Koola 11-14-2009 10:26 PM

Compilation errors with compiling a program with boost libraries 1.39
 
Hello, I am trying to compile an C++ program on Linux(Most distros) called GHost One. Some Linux distributions have problems with the makefile not containing the correct references to boost libraries. Is there a way to add something to the makefile to fix this, or to anything else?
If it makes any difference I compiled boost by:
Code:

wget http://ihigh.myvnc.com/koola_project/boost_1_39_0.tar.gz2
tar xjf boost_1_39_0.tar.gz2
cd boost_1_39_0
./boostrap.sh --with-libraries=filesystem,program_options,system,regex,thread,date_time --libdir=/usr/lib/
./bjam
./bjam install

It usually comes up with errors(during compilation of program)of something like: Missing Filesystem.hpp and other boost libs.

I know that one way is to find out the exact names of the boost lib .so files and using them by
Code:

ls -l /usr/lib/libboost*.so
and using the result names in the makefile but I'd like to somehow make it easier.

knudfl 12-01-2009 05:28 PM

Welcome to LQ.

Which Linux are you using ?
Like Fedora 11, Ubuntu 9.04, CentOS 5.4 .

And please provide a valid link to Ghost_One

.....

neonsignal 12-01-2009 06:33 PM

If you are building your own version of boost (instead of using the one that is in the repository for your distro), you need the header files to be accessible by the compiler. This means that they will need to be somewhere like /usr/include or /usr/local/include.

You could make a symbolic link from the boost headers directory to '/usr/include/boost', or use compiler flags so that the headers can be found. For example, you might move the headers to /usr/include/boost_1-39 and then make a symbolic link to /usr/include/boost.

Metal_Koola 12-02-2009 05:09 AM

Quote:

Originally Posted by knudfl (Post 3776282)
Welcome to LQ.
And please provide a valid link to Ghost_One
.....

Sorry forum had an breakdown and link changed.
http://www.codelain.com/forum/index.php
Quote:

Originally Posted by knudfl (Post 3776282)
Which Linux are you using ?
Like Fedora 11, Ubuntu 9.04, CentOS 5.4 .

All distros, since it's supposed to be able to be compiled in every Linux.

Quote:

If you are building your own version of boost (instead of using the one that is in the repository for your distro), you need the header files to be accessible by the compiler. This means that they will need to be somewhere like /usr/include or /usr/local/include.

You could make a symbolic link from the boost headers directory to '/usr/include/boost', or use compiler flags so that the headers can be found. For example, you might move the headers to /usr/include/boost_1-39 and then make a symbolic link to /usr/include/boost.
Kinda have to, It needs Boost 1.36 or newer, and most distro repos come with 1.34

knudfl 12-03-2009 11:53 AM

So where are the headers hiding ?

Example using headers in e.g.
/usr/local/include/boost_1-39/boost/<files.hpp> :

1) cd /usr/local/include/
2) su
3) ln -s boost_1-39/boost/

... which will create /usr/local/include/boost
.....
.....

P.S. : I am still interested in a link to the software,
and an exact file / package name. Chop++ ? ?
.....

Metal_Koola 12-04-2009 07:13 PM

http://maxdevlon.com/ghost/GHostOne1.6.262.zip


All times are GMT -5. The time now is 08:51 AM.