Compilation failed [Ubuntu 6.06]

Hi Again,
I install SWIG 1.3.31 on my Ubuntu 6.06 LTS and download through SVN the
latest GNU Radio version.
Compiling I receive this critical error:

./.libs/libmblock.so: undefined reference to pmt_nth(unsigned int, boost::shared_ptr<pmt_base>)' ./.libs/libmblock-qa.so: undefined reference to pmt_intern(std::basic_string<char, std::char_traits,
std::allocator > const&)’
./.libs/libmblock.so: undefined reference to
pmt_wrong_type::pmt_wrong_type(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::shared_ptr<pmt_base>)' ./.libs/libmblock.so: undefined reference to pmt_subsetp(boost::shared_ptr<pmt_base>, boost::shared_ptr<pmt_base>)’
collect2: ld returned 1 exit status
make[4]: *** [test_mblock] Error 1
make[4]: Leaving directory
/home/rocker/Tesi/SVN/gnuradio/mblock/src/lib' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory /home/rocker/Tesi/SVN/gnuradio/mblock/src’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory /home/rocker/Tesi/SVN/gnuradio/mblock' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory /home/rocker/Tesi/SVN/gnuradio’
make: *** [all] Error 2

Any suggestion?

Regards,

Davide “Rocker” Anastasia

Web: www.davideanastasia.com

  • Linux User #341094 *

Luke Skywalker:
Alright, I’ll give it a try.
Yoda:
No! Try not. Do… or do not. There is no try.

Davide A.

web: http://www.davideanastasia.com/
email: [email protected]

On Sat, Jan 27, 2007 at 04:35:31PM +0100, Davide A. wrote:

./.libs/libmblock.so: undefined reference to
make[3]: Leaving directory /home/rocker/Tesi/SVN/gnuradio/mblock/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory /home/rocker/Tesi/SVN/gnuradio/mblock’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rocker/Tesi/SVN/gnuradio’
make: *** [all] Error 2

Any suggestion?

Yes, this is the “Ubuntu libtool problem”.
(Looks like they’ve propagated the bad idea to 6.06 LTS too.)

I suspect that you are using Debian libtool-1.5.22-4.

$ libtool --version

Try rolling back to libtool-1.5.22-3
and let us know what happens.

After rolling back, you’ll need to remove the old version that was
installed in top level of your build tree and rebuild

$ make distclean
$ rm libtool ltmain.sh
$ ./bootstrap && ./configure
$ make

If Ubuntu libtool-1.5.22-3 still has the problem, please use the
unmolested libtool 1.5.22 available at
http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz

I’d really appreciate it if a Debian or Ubuntu expert would take a
look at this and give us a solid recommendation on how to work around
this. It would also be good to talk to the Debian/Ubuntu libtool
packagers and let them know about the problem (can’t test libraries
without installing them), and see if we can get them to stop breaking
libtool.

Eric

On sab, 2007-01-27 at 10:13 -0800, Eric B. wrote:

Yes, this is the “Ubuntu libtool problem”.
(Looks like they’ve propagated the bad idea to 6.06 LTS too.)

I suspect that you are using Debian libtool-1.5.22-4.

$ libtool --version

Try rolling back to libtool-1.5.22-3
and let us know what happens.

No, I have libtool-1.5.22-2.

If Ubuntu libtool-1.5.22-3 still has the problem, please use the
unmolested libtool 1.5.22 available at
http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz

Done, but it doesn’t work. I remove deeply the compilation folder and
download again by SVN tree. While ./boostrap script runs, I receive some
cryptic messages:

configure.ac:73: warning: AC_PROG_LIBTOOL is m4_require’d but is not
m4_defun’d
configure.ac:73: AC_PROG_LIBTOOL is required by…
config/gr_scripting.m4:30: GR_SCRIPTING is expanded from…
configure.ac:73: the top level
configure.ac:147: warning: AC_PROG_LD is m4_require’d but is not
m4_defun’d
configure.ac:147: AC_PROG_LD is required by…
config/gr_libgnuradio_core_extra_ldflags.m4:40:
GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS is expanded fro m…
configure.ac:147: the top level
configure.ac:73: warning: AC_PROG_LIBTOOL is m4_require’d but is not
m4_defun’d
configure.ac:73: AC_PROG_LIBTOOL is required by…
config/gr_scripting.m4:30: GR_SCRIPTING is expanded from…
configure.ac:73: the top level
configure.ac:147: warning: AC_PROG_LD is m4_require’d but is not
m4_defun’d
configure.ac:147: AC_PROG_LD is required by…
config/gr_libgnuradio_core_extra_ldflags.m4:40:
GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS is expanded fro m…
configure.ac:147: the top level
configure.ac:65: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
If this token and others are legitimate, please use
m4_pattern_allow.
See the Autoconf documentation.
configure.ac:67: error: possibly undefined macro: AC_ENABLE_SHARED
configure.ac:68: error: possibly undefined macro: AC_DISABLE_STATIC
configure.ac:69: error: possibly undefined macro: AC_PROG_LIBTOOL
configure:10311: error: possibly undefined macro: AC_PROG_LD
configure.ac:73: warning: AC_PROG_LIBTOOL is m4_require’d but is not
m4_defun’d
configure.ac:73: AC_PROG_LIBTOOL is required by…
config/gr_scripting.m4:30: GR_SCRIPTING is expanded from…
configure.ac:73: the top level
configure.ac:147: warning: AC_PROG_LD is m4_require’d but is not
m4_defun’d
configure.ac:147: AC_PROG_LD is required by…
config/gr_libgnuradio_core_extra_ldflags.m4:40:
GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS is expanded fro m…
configure.ac:147: the top level
configure.ac:73: warning: AC_PROG_LIBTOOL is m4_require’d but is not
m4_defun’d
configure.ac:73: AC_PROG_LIBTOOL is required by…
config/gr_scripting.m4:30: GR_SCRIPTING is expanded from…
configure.ac:73: the top level
configure.ac:147: warning: AC_PROG_LD is m4_require’d but is not
m4_defun’d
configure.ac:147: AC_PROG_LD is required by…
config/gr_libgnuradio_core_extra_ldflags.m4:40:
GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS is expanded fro m…
configure.ac:147: the top level
configure.ac: installing ./install-sh' configure.ac: installing ./missing’
ezdop/src/firmware/Makefile.am: installing ./compile' ezdop/src/firmware/Makefile.am: installing ./depcomp’
ezdop/src/host/ezdop/Makefile.am:24: Libtool library used but LIBTOOL' is undefined ezdop/src/host/ezdop/Makefile.am:24: ezdop/src/host/ezdop/Makefile.am:24: The usual way to define LIBTOOL’
is to add `AC_PROG_LIBTOOL

…and so on!

Davide A.

web: http://www.davideanastasia.com/
email: [email protected]

On dom, 2007-01-28 at 09:28 -0800, Eric B. wrote:

eb@nyquist:~$ autoconf --version
autoconf (GNU Autoconf) 2.59

Yep! It’s the same.

eb@nyquist:~$ libtool --version
ltmain.sh (GNU libtool) 1.5.22 Debian 1.5.22-2 (1.1220.2.365
2005/12/18 22:14:06)

Actually:
ltmain.sh (GNU libtool) 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)

eb@nyquist:~$ automake --version
automake (GNU automake) 1.8.5

automake (GNU automake) 1.9.6

Ideas?

Davide A.

web: http://www.davideanastasia.com/
email: [email protected]

On Sun, Jan 28, 2007 at 05:48:35PM +0100, Davide A. wrote:

m4_defun’d
configure.ac:73: AC_PROG_LIBTOOL is required by…
config/gr_scripting.m4:30: GR_SCRIPTING is expanded from…
configure.ac:73: the top level
configure.ac:147: warning: AC_PROG_LD is m4_require’d but is not
m4_defun’d
configure.ac:147: AC_PROG_LD is required by…
config/gr_libgnuradio_core_extra_ldflags.m4:40:

[snip]

configure.ac:73: warning: AC_PROG_LIBTOOL is m4_require’d but is not
[snip]

ezdop/src/firmware/Makefile.am: installing ./compile' ezdop/src/firmware/Makefile.am: installing./depcomp’
ezdop/src/host/ezdop/Makefile.am:24: Libtool library used but LIBTOOL' is undefined ezdop/src/host/ezdop/Makefile.am:24: ezdop/src/host/ezdop/Makefile.am:24: The usual way to defineLIBTOOL’
is to add `AC_PROG_LIBTOOL

…and so on!

Something’s hosed with either your autoconf or libtool installation.

I’ve just built GNU Radio from scratch on an Ubuntu 6.06 LTS machine
with no problem. That machine was using:

eb@nyquist:~$ autoconf --version
autoconf (GNU Autoconf) 2.59

eb@nyquist:~$ libtool --version
ltmain.sh (GNU libtool) 1.5.22 Debian 1.5.22-2 (1.1220.2.365
2005/12/18 22:14:06)

eb@nyquist:~$ automake --version
automake (GNU automake) 1.8.5

Eric

On dom, 2007-01-28 at 09:51 -0800, Eric B. wrote:

automake (GNU automake) 1.9.6

Ideas?

Random guess: you’ve got more than one version of libtool installed
(perhaps in a different path), and autoconf isn’t looking in the
directory in which you installed libtool. It appears that libtool was
installed with using the package manager. Is it in /usr/local?

Ok, I remove automake-1.8 and I install automake-1.8. ./bootstrap run
nicely, but during compiling I receive the same error as above:

g++ -g -O2 -Wall -Woverloaded-virtual -pthread -o .libs/test_mblock
test_mblock.o ./.libs/libmbl ock-qa.so ./.libs/libmblock.so -ldl
-Wl,–rpath -Wl,/usr/local/lib
./.libs/libmblock.so: undefined reference to pmt_nth(unsigned int, boost::shared_ptr<pmt_base>)' ./.libs/libmblock-qa.so: undefined reference to pmt_intern(std::basic_string<char, std::char_tra its,
std::allocator > const&)’
./.libs/libmblock.so: undefined reference to
pmt_wrong_type::pmt_wrong_type(std::basic_string<ch ar, std::char_traits<char>, std::allocator<char> > const&, boost::shared_ptr<pmt_base>)' ./.libs/libmblock.so: undefined reference to pmt_subsetp(boost::shared_ptr<pmt_base>, boost::sha red_ptr<pmt_base>)’
collect2: ld returned 1 exit status
make[4]: *** [test_mblock] Error 1
make[4]: Leaving directory
/home/rocker/Tesi/SVN/gnuradio/mblock/src/lib' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory /home/rocker/Tesi/SVN/gnuradio/mblock/src’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory /home/rocker/Tesi/SVN/gnuradio/mblock' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory /home/rocker/Tesi/SVN/gnuradio’
make: *** [all] Error 2

:frowning:

Davide A.

web: http://www.davideanastasia.com/
email: [email protected]

On Sun, Jan 28, 2007 at 06:31:44PM +0100, Davide A. wrote:

Actually:
ltmain.sh (GNU libtool) 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)

eb@nyquist:~$ automake --version
automake (GNU automake) 1.8.5

automake (GNU automake) 1.9.6

Ideas?

Random guess: you’ve got more than one version of libtool installed
(perhaps in a different path), and autoconf isn’t looking in the
directory in which you installed libtool. It appears that libtool was
installed with using the package manager. Is it in /usr/local?

From the messages in the prior email, it appears that libtool isn’t
the only problem with your autoconf installation. It was reporting
problems finding other AC_* macros too, though it could have been some
kind of cascading error problem.

Again, I don’t have much admin experience on Debian or Ubuntu, so I
can’t be of much help.

Is there a “force a reinstall of autoconf and libtool” option?
Again, I’m clueless about Debian packaging, so I could be leading you
off a cliff :wink:

Eric

On Sun, Jan 28, 2007 at 07:52:07PM +0100, Davide A. wrote:

Ok, I remove automake-1.8 and I install automake-1.8. ./bootstrap run
nicely, but during compiling I receive the same error as above:

David, there’s no indication that any of your problems have to do with
automake. I’m not sure why you’re messing with that.

std::char_traits, std::allocator > const&,
boost::shared_ptr<pmt_base>)’
./.libs/libmblock.so: undefined reference to
`pmt_subsetp(boost::shared_ptr<pmt_base>, boost::sha red_ptr<pmt_base>)’
collect2: ld returned 1 exit status

This is the Ubuntu libtool symptom.

It’s being triggered here because it’s trying to link against the
installed version of the library, not the build version of the
library. The problem is that it’s passing the “–rpath
/usr/local/lib” to the linker. This is wrong at this stage of the
build.

I believe that you can change the symptom by doing a “make uninstall”
and ensuring that there’s no gnuradio related stuff in PREFIX/lib or
PREFIX/lib/python/site-packages/gnuradio.

When you rebuild, I believe that it will fail someplace else in the
build.

Eric

On Sun, Jan 28, 2007 at 09:18:08PM +0100, Davide A. wrote:

When you rebuild, I believe that it will fail someplace else in the
build.

You believe wrong! :slight_smile:
I done “make uninstall”, “make distclean” and then… everything
works! :slight_smile:

Thank you,

Glad to hear it’s working, though I still suspect there’s a problem
lurking here somewhere…

Eric

On dom, 2007-01-28 at 11:20 -0800, Eric B. wrote:

When you rebuild, I believe that it will fail someplace else in the
build.

You believe wrong! :slight_smile:
I done “make uninstall”, “make distclean” and then… everything
works! :slight_smile:

Thank you,

Davide A.

web: http://www.davideanastasia.com/
email: [email protected]