Make error

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fresh SVN checkout as of this morning, into a new directory (r5734).
Ubuntu Edgy, everything’s upgraded to its newest version, more or less
along the lines of the install guide that mdickens and I put together on
the trac.

  1. ./configure spits out some stderr messages about
    /etc/ld.so.conf.d/*.conf not existing. Is this expected? The next line
    is “GNU/Linux ld.so”, so I suspect it is just doing detection, but the
    test could probably be fixed to avoid the stderr output.

  2. Error when compiling mblock

/bin/bash …/…/…/libtool --tag=CXX --mode=link g++ -g -O2 -Wall

  • -Woverloaded-virtual -pthread -o test_mblock test_mblock.o
    libmblock-qa.la
    g++ -g -O2 -Wall -Woverloaded-virtual -pthread -o .libs/test_mblock
    test_mblock.o ./.libs/libmblock-qa.so -Wl,–rpath -Wl,/usr/local/lib
    ./.libs/libmblock-qa.so: undefined reference to operator-(mb_time const&, mb_time const&)' ./.libs/libmblock-qa.so: undefined reference to mb_class_registry::register_maker(std::basic_string<char,
    std::char_traits, std::allocator > const&,
    boost::shared_ptr<mb_mblock> ()(mb_runtime, std::basic_string<char,
    std::char_traits, std::allocator > const&,
    boost::shared_ptr<pmt_base>))’
    ./.libs/libmblock-qa.so: undefined reference to
    operator<<(std::basic_ostream<char, std::char_traits<char> >&, mb_message const&)' ./.libs/libmblock-qa.so: undefined reference to mb_mblock::mb_mblock(mb_runtime*, std::basic_string<char,
    std::char_traits, std::allocator > const&,
    boost::shared_ptr<pmt_base>)’
    ./.libs/libmblock-qa.so: undefined reference to mb_time::time(mb_time const&)' ./.libs/libmblock-qa.so: undefined reference to PMT_F’
    ./.libs/libmblock-qa.so: undefined reference to
    mb_timer_queue::cancel(boost::shared_ptr<pmt_base>)' ./.libs/libmblock-qa.so: undefined reference to mb_mblock_impl::make_accepter(boost::shared_ptr<pmt_base>)’
    ./.libs/libmblock-qa.so: undefined reference to
    mb_mblock::schedule_one_shot_timeout(mb_time const&, boost::shared_ptr<pmt_base>)' ./.libs/libmblock-qa.so: undefined reference to mb_mblock::cancel_timeout(boost::shared_ptr<pmt_base>)’
    ./.libs/libmblock-qa.so: undefined reference to mb_mblock::exit()' ./.libs/libmblock-qa.so: undefined reference to mb_mblock::disconnect_component(std::basic_string<char,
    std::char_traits, std::allocator > const&)’
    ./.libs/libmblock-qa.so: undefined reference to
    mb_mblock::shutdown_all(boost::shared_ptr<pmt_base>)' ./.libs/libmblock-qa.so: undefined reference to mb_protocol_class_init::mb_protocol_class_init(char const*, unsigned
    int)’
    ./.libs/libmblock-qa.so: undefined reference to
    mb_mblock::initial_transition()' ./.libs/libmblock-qa.so: undefined reference to operator+(mb_time
    const&, double)’
    ./.libs/libmblock-qa.so: undefined reference to PMT_T' ./.libs/libmblock-qa.so: undefined reference to mb_timeout::mb_timeout(mb_time const&, boost::shared_ptr<pmt_base>,
    boost::shared_ptr<mb_msg_accepter>)’
    ./.libs/libmblock-qa.so: undefined reference to mb_mblock::main_loop()' ./.libs/libmblock-qa.so: undefined reference to mb_time::mb_time(double)’
    ./.libs/libmblock-qa.so: undefined reference to
    mb_mblock::schedule_periodic_timeout(mb_time const&, mb_time const&, boost::shared_ptr<pmt_base>)' ./.libs/libmblock-qa.so: undefined reference to mb_mblock::define_component(std::basic_string<char,
    std::char_traits, std::allocator > const&,
    std::basic_string<char, std::char_traits, std::allocator >
    const&, boost::shared_ptr<pmt_base>)’
    collect2: ld returned 1 exit status
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.6 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGaFbSy9GYuuMoUJ4RAjY8AKCBtV5obwB+kwU2pQA9zsMNB+bm9QCfZwSX
1DugYB+pzNBZwaPEqNmKaOE=
=E4A8
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dan H. wrote:

g++ -g -O2 -Wall -Woverloaded-virtual -pthread -o .libs/test_mblock
test_mblock.o ./.libs/libmblock-qa.so -Wl,–rpath -Wl,/usr/local/lib
./.libs/libmblock-qa.so: undefined reference to `operator-(mb_time
const&, mb_time const&)’

I swear sending an email to a support list reduces the MTTR of bugs by a
factor of 100!

That weird linking bug is still around somewhere – I had done a make
distclean in the old directory but ended up having to go purge all of
/usr/local/lib to get the mblock to compile.

  • -Dan
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.6 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGaFlHy9GYuuMoUJ4RAn9HAJ4yTQR4krNMwnubOESOCQjnTkP5kACguSaX
md5OJovQk8NWvAOh8gS+zAQ=
=LWyb
-----END PGP SIGNATURE-----

Dan H. wrote:

…I had done a make distclean in the old directory but ended up
having to go purge all of /usr/local/lib to get the mblock to
compile.

There is a ‘make uninstall’ target that removes everything that was
installed by GNU Radio (including all the header files, docs, etc.) This
is a useful way to purge all traces of GNU Radio from the system before
upgrading from a source install.


Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com

On Thu, Jun 07, 2007 at 12:29:18PM -0700, Johnathan C. wrote:

Dan, are you running under Debian or Ubuntu?

If so, all of this is probably a result of the broken version of
libtool that Debian/Ubuntu ships.

See the section on “Broken libtool” in the Ubuntu install guide
http://gnuradio.org/trac/wiki/UbuntuInstall

Eric

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Eric B. wrote:

Dan, are you running under Debian or Ubuntu?

If so, all of this is probably a result of the broken version of
libtool that Debian/Ubuntu ships.

See the section on “Broken libtool” in the Ubuntu install guide
http://gnuradio.org/trac/wiki/UbuntuInstall

Yes; sorry that was in the original post but not in the reply.

$ cat /etc/ld.so.conf
/usr/local/lib/

include /etc/ld.so.conf.d/*.conf
/usr/lib/atlas

Is there an ordering problem? That’s the only difference I can think of
(I’d test but I’m not sure how to reproduce the bug).

  • -Dan
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.7 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGaiaHy9GYuuMoUJ4RAlK5AKCRiPsKiMsNeS6X5STOvTfAdOTdOQCgmkxQ
oKfbLWoPQy+lt956/qXqAnk=
=jIx/
-----END PGP SIGNATURE-----