Opened 9 years ago

Closed 9 years ago

#684 closed defect (incomplete)

Build fails with `undefined reference` errors

Reported by: Felix Owned by: Olly Betts
Priority: normal Milestone:
Component: Build system Version: 1.2.11
Severity: normal Keywords: undefined make link build xapian-check
Cc: Blocked By:
Blocking: Operating System: Linux

Description (last modified by Olly Betts)

Hi,

When trying to build xapian-core-1.2.21 on a Linux box (RHEL4), after a few minutes, the build fails with lots of undefined reference errors:

$ ./configure --prefix=/home/ahriman
$ make
make  all-recursive
make[1]: Entering directory `/home/ahriman/src/xapian/xapian-core-1.2.21'
Making all in .
make[2]: Entering directory `/home/ahriman/src/xapian/xapian-core-1.2.21'
/bin/sh ./libtool  --tag=CXX   --mode=link g++ -fshow-column -Wall -W -Wredundant-decls -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wformat-security -fno-gnu-keywords -Wundef -Woverloaded-virtual -fvisibility=hidden -m64  -L/home/ahriman/lib  -o bin/xapian-check bin/bin_xapian_check-xapian-check.o bin/bin_xapian_check-xapian-check-brass.o bin/bin_xapian_check-xapian-check-chert.o bin/bin_xapian_check-xapian-check-flint.o  libbrasscheck.la libchertcheck.la libflintcheck.la libxapian.la
libtool: link: g++ -fshow-column -Wall -W -Wredundant-decls -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wformat-security -fno-gnu-keywords -Wundef -Woverloaded-virtual -fvisibility=hidden -m64 -o bin/.libs/xapian-check bin/bin_xapian_check-xapian-check.o bin/bin_xapian_check-xapian-check-brass.o bin/bin_xapian_check-xapian-check-chert.o bin/bin_xapian_check-xapian-check-flint.o  -L/home/ahriman/lib ./.libs/libbrasscheck.a ./.libs/libchertcheck.a ./.libs/libflintcheck.a ./.libs/libxapian.so /home/ahriman/lib/libuuid.so -lz -Wl,-rpath -Wl,/home/ahriman/lib
bin/bin_xapian_check-xapian-check.o(.text+0x56f): In function `main':
: undefined reference to `Xapian::Flint::open(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
bin/bin_xapian_check-xapian-check.o(.text+0x57b): In function `main':
: undefined reference to `Xapian::Database::get_lastdocid() const'
bin/bin_xapian_check-xapian-check.o(.text+0x602): In function `main':
: undefined reference to `Xapian::Database::~Database()'
bin/bin_xapian_check-xapian-check.o(.text+0x61e): In function `main':
: undefined reference to `Xapian::Database::~Database()'
bin/bin_xapian_check-xapian-check.o(.text+0x666): In function `main':
: undefined reference to `Xapian::Error::get_description() const'
bin/bin_xapian_check-xapian-check.o(.text+0x887): In function `main':
: undefined reference to `file_exists(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
bin/bin_xapian_check-xapian-check.o(.text+0xaa3): In function `main':
: undefined reference to `Xapian::Chert::open(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
bin/bin_xapian_check-xapian-check.o(.text+0xaaf): In function `main':
: undefined reference to `Xapian::Database::get_lastdocid() const'
bin/bin_xapian_check-xapian-check.o(.text+0xb27): In function `main':
: undefined reference to `Xapian::Database::~Database()'
...
collect2: ld returned 1 exit status
make[2]: *** [bin/xapian-check] Error 1
make[2]: Leaving directory `/home/ahriman/src/xapian/xapian-core-1.2.21'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ahriman/src/xapian/xapian-core-1.2.21'
make: *** [all] Error 2

Disabling backends doesn't help either... This is a summary of my environment:

  • zlib 1.2.8
  • libuuid 1.0.0
  • autoconf 2.69
  • automake 1.15
  • libtool 2.4.6
  • gcc 3.4.6

Please any ideas on what could I do?

Thank you!

Change History (4)

comment:1 by Felix, 9 years ago

I've noticed that the latest version that compiles well here is 1.2.10. All versions after this one end with an error while building.

comment:2 by Olly Betts, 9 years ago

I suspect it's probably the ancient GCC - we don't regularly test with anything that old. As INSTALL says:

If you're using GCC, we currently recommend GCC 4.1 or newer (this is the oldest version we regularly test with).

The minimum required GCC version is 3.1

That said, if there's a way to get it to build with 3.4, I'd be happy to allow that.

Nothing immediately jumps out from the changes between 1.2.10 and 1.2.11.

Can you attach config.log?

Last edited 9 years ago by Olly Betts (previous) (diff)

comment:3 by Olly Betts, 9 years ago

Description: modified (diff)
Version: 1.2.11

comment:4 by Olly Betts, 9 years ago

Resolution: incomplete
Status: newclosed

No submitter response in ~3 months, so closing this ticket as "incomplete".

If you still want us to investigate, please attach config.log as requested, and we'll happily reopen the ticket.

Note: See TracTickets for help on using tickets.