Install Issues (linker can't find -lboost_program_options)

I hate to post yet another install issues thread, but I’m stuck for the
moment here. During make, I get the following error:

make[5]: Entering directory
`/home/shared/gnuradio/gnuradio-core/src/lib’
/bin/bash …/…/…/libtool --tag=CXX --mode=link g++ -g -O2 -Wall
-Woverloaded-virtual -pthread -o gnuradio-config-info
gnuradio-config-info.o libgnuradio-core.la -lboost_program_options
libtool: link: g++ -g -O2 -Wall -Woverloaded-virtual -pthread -o
.libs/gnuradio-config-info gnuradio-config-info.o
./.libs/libgnuradio-core.so -lboost_program_options -pthread
/usr/bin/ld: cannot find -lboost_program_options
collect2: ld returned 1 exit status

System: Ubuntu 9.10, Boost 1.42.0 installed in /opt (I checked,
/opt/boost_1_42_0/lib/ does have libboost_program_options.a and .so),
latest git repository (24 March).

Any advice would be greatly appreciated. Thanks!

Mike

Best regards,

Mike B.
[email protected]
KI4RIX

On Fri, Mar 26, 2010 at 12:39:30PM -0400, Mike B. wrote:

Any advice would be greatly appreciated. Thanks!

Mike

Best regards,

Mike B.
[email protected]
KI4RIX

It may be that you have boost installed in more than one place.

Try using:

$ ./configure --with-boost=/opt/boost_1_42_0 …
$ make && make check && sudo make install

Eric

On 26-Mar-10 17:07, Eric B. wrote:

It may be that you have boost installed in more than one place.

Try using:

$ ./configure --with-boost=/opt/boost_1_42_0 …
$ make&& make check&& sudo make install

Eric

I’ve done ./configure and specified the boost location as you suggested,
to no avail. I’ve also tried with boost 1.37.0 (last known working
version) and still get this error.

This happens pretty late in the make process, and I feel like boost gets
compiled in/used a lot beforehand. So maybe this is more a case of a
broken module or something rather than a systematic issue. It’s also
worth noting that ./configure reports that boost is in place and happy
when it does the check.

It might be helpful to know exactly where ld is looking for the boost
library when it tries to link it in. Could you shed some light on this,
or suggest some reading for me to do? I feel like understanding the
root of the problem is much more useful than a quick fix.

Thanks!

Mike


Best regards,

Mike B.
[email protected]
KI4RIX

On Fri, Mar 26, 2010 at 8:45 PM, Mike B. [email protected]
wrote:

It might be helpful to know exactly where ld is looking for the boost
library when it tries to link it in. Could you shed some light on this, or
suggest some reading for me to do? I feel like understanding the root of
the problem is much more useful than a quick fix.

Thanks!

Mike

It seems very strange that you can get past configure and have this
fail on make. Have you used the “–with-boost-libdir=” option at
configure, too? Also, during configure, it should explicitly say
something like “Checking for exit in -lboost_program_options… yes”.

Tom

On Fri, Mar 26, 2010 at 08:45:30PM -0400, Mike B. wrote:

It might be helpful to know exactly where ld is looking for the
boost library when it tries to link it in. Could you shed some
light on this, or suggest some reading for me to do? I feel like
understanding the root of the problem is much more useful than a
quick fix.

Thanks!
Mike

Are you using Ubuntu or Debian?

If so, please see

http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall#Broken-libtool-on-Debian-and-Ubuntu

Eric

On 28-Mar-10 20:32, Eric B. wrote:

Are you using Ubuntu or Debian?

If so, please see

http://gnuradio.org/redmine/wiki/gnuradio/UbuntuInstall#Broken-libtool-on-Debian-and-Ubuntu

Eric

I’m using Ubuntu 9.10. I had actually added /opt/boost_[version] to
/etc/ld.so.conf and ran sudo ldconfig, but I have not added
/usr/local/lib. Perhaps that will make a difference…we’ll see
tomorrow.

Once I get this working, I’ll document exactly what I did and add it to
the Wiki.

Thanks!

Mike


Best regards,

Mike B.
[email protected]
KI4RIX

On 3/28/2010 11:28 PM, Mike B. wrote:

Eric

Mike

I run Ubuntu 9.10 on one of my machines without any issue. This version
of Ubuntu has a new enough Boost that will work with GNU Radio. Why
don’t you just install that from apt-get? It gets put in the right
location for configure to find without the need for any --with-boost
flags.

Tom

On 28-Mar-10 14:12, Tom R. wrote:

It seems very strange that you can get past configure and have this
fail on make. Have you used the “–with-boost-libdir=” option at
configure, too? Also, during configure, it should explicitly say
something like “Checking for exit in -lboost_program_options… yes”.

Hi Tom,

I haven’t tired --with-boost-libdir for ./configure yet, but I’ll give
that a shot tomorrow. I’ll also dig through the configure logs and
verify whether I see a specific reference to -lboost_program_options.

I think I have some reading to do on how linking works. It’s been quite
a while since I’ve done much coding and so forth…been doing EE too
long.

As I said to Eric, once I make this work I’m going to try to write up an
article on it and get it on the wiki.

Thanks!

Mike


Best regards,

Mike B.
[email protected]
KI4RIX

On 29 Mar 2010, at 08:37, Tom R. wrote:

I run Ubuntu 9.10 on one of my machines without any issue. This version of Ubuntu has a new enough Boost that will work with GNU Radio. Why don’t you just install that from apt-get? It gets put in the right location for configure to find without the need for any --with-boost flags.

Hmm, I haven’t tried that. What’s the package called–just ‘boost’?
I’ll give it a shot today and see how it works. Where would it put the
libraries and headers?

Thanks for taking the time to help me out with this.

Mike

Best regards,

Mike B.
[email protected]
KI4RIX

On 29 March 2010 18:44, Mike B. [email protected] wrote:

Mike

I run Ubuntu 9.10 on one of my machines without any issue. This version of Ubuntu has a new enough Boost that will work with GNU Radio. Why don’t you just install that from apt-get? It gets put in the right location for configure to find without the need for any --with-boost flags.

Hmm, I haven’t tried that. What’s the package called–just ‘boost’? I’ll give it a shot today and see how it works. Where would it put the libraries and headers?

It’s called libboost1.38-dev and will install libraries into /usr/lib/
and headers in /usr/include/boost/

Alex

Alex,

Thank you for the suggestion. I was having similar issues and it worked
like a charm…

Mark

Alexandru C. wrote:

On 29 March 2010 18:44, Mike B. [email protected] wrote:

Mike

I run Ubuntu 9.10 on one of my machines without any issue. This version of Ubuntu has a new enough Boost that will work with GNU Radio. Why don’t you just install that from apt-get? It gets put in the right location for configure to find without the need for any --with-boost flags.

Hmm, I haven’t tried that. �What’s the package called–just ‘boost’? �I’ll give it a shot today and see how it works. �Where would it put the libraries and headers?

It’s called libboost1.38-dev and will install libraries into /usr/lib/
and headers in /usr/include/boost/

Alex

OK, we’re up and running! Turns out Ubuntu had Boost included, so SKIP
the boost install step.

Here’s what I needed to do to make it work. From a botched make, I did
the following in the gnuradio directory:
make uninstall
make clean
make distclean

I probably could simplify that, but it works. Then:

./bootstrap
./configure --with-boost=/usr/include/boost --with-boost-lib=/usr/lib

Now, inspect config.log to make sure it is happy:
more config.log | grep “boost”

Look for “yes” next to all boost-related things. Then:
make
make check
make install

Finally, you may need to edit your /etc/ld.so.conf file to include the
following lines:
/usr/lib/
/usr/local/lib/

Then run sudo ldconfig to read the changes. Finally, run this:

export LD_LIBRARY_PATH=/usr/local/lob

Everything should now work. Anyone want to edit the Wiki to include
this information?

Mike

On 29 Mar 2010, at 14:42, Alexandru C. wrote:

Thanks!
and headers in /usr/include/boost/

Alex


Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Best regards,

Mike B.
[email protected]
KI4RIX

On Wed, Mar 31, 2010 at 14:26, Eric B. [email protected] wrote:

The boost options shouldn’t be necessary, since it’s in the “normal place”.

Also, Ubuntu’s ldconfig already has /usr/local/lib in it’s search
path, as it is put there by the libc package. The /usr/lib directory
is the normal place ldconfig starts searching, so I don’t see how any
changes need to be made here either.

Johnathan

On 31 Mar 2010, at 17:35, Johnathan C. wrote:

On Wed, Mar 31, 2010 at 14:26, Eric B. [email protected] wrote:

The boost options shouldn’t be necessary, since it’s in the “normal place”.

Also, Ubuntu’s ldconfig already has /usr/local/lib in it’s search
path, as it is put there by the libc package. The /usr/lib directory
is the normal place ldconfig starts searching, so I don’t see how any
changes need to be made here either.

Johnathan

Next time I compile I’ll try running ./configure without any boost
flags. The way the install guide is written it implies that you must
include that option of things will be unhappy. I think it’s worth
editing it to remove that (at least, for Ubuntu 9.10 and later).

Mike

Best regards,

Mike B.
[email protected]
KI4RIX

On Wed, Mar 31, 2010 at 04:29:10PM -0400, Mike B. wrote:

./configure --with-boost=/usr/include/boost --with-boost-lib=/usr/lib
The boost options shouldn’t be necessary, since it’s in the “normal
place”.

Eric