Opened 13 years ago
Closed 13 years ago
#559 closed defect (wontfix)
Can't build xapian-core on CentOS 6
Reported by: | Jonathan Gonzalez V. | Owned by: | Olly Betts |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Build system | Version: | 1.0.23 |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Operating System: | Linux |
Description
I'm currently trying to build my own rpm package for CentOS 6 and I figure out that it can't be build because of the follow line in the xapian-core.spec in the %build section
autoreconf --force
I checkout the code of 1.2.x and figure out that this line it's commented, so I think it should be commented at 1.0.x too.
I commented the line and the build process for the rpm package worked fine with this line:
rpmbuild -tb xapian-core-1.0.23.tar.gz
Regards
Change History (7)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Milestone: | 1.0.24 |
---|
Running autoreconf is needed for some RPM-based platforms with Xapian 1.0. These use /usr/lib64 for libraries, and by default libtool thinks this isn't on the default dynamic linker search path, so it sets an rpath on libxapian.so. These platforms have a patched version of libtool which adds /usr/lib64 to the list.
http://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath
So removing this line from 1.0 is wrong, though it might work for you if you're on a 32-bit architecture, and it will probably appear to work on 64-bit platforms as the problems the unnecessary rpath causes are fairly obscure.
In Xapian 1.2, we override libtool's logic with a version which looks up the actual path the dynamic linker uses, so there's no longer a reason to re-run autoreconf.
The change in 1.2 is too major to backport for 1.0, and anyway 1.0 is now only receiving critical fixes.
Perhaps you should show us the actual error you get?
comment:3 by , 13 years ago
Hi!
Sorry for the delay but I had lot of work here. Well I forgot to write but yes, I'm currently compiling in a 64-bit machine, and yes, the lib64 path it's been a pain now that I'm trying to migrate from CentOS5.6 x86_64 to CentOS6 x86_64.
Well, I'll paste the error because I think isn't a path problem, take a look:
+ make
make all-recursive
make[1]: Entering directory `/root/rpmbuild/BUILD/xapian-core-1.0.23'
Making all in .
make[2]: Entering directory `/root/rpmbuild/BUILD/xapian-core-1.0.23'
depbase=echo api/editdistance.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'
;\
/bin/sh ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./common -I./include -Wall -W -Wredundant-decls -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wformat-security -fno-gnu-keywords -Woverloaded-virtual -Wundef -Wshadow -Wstrict-null-sentinel -Wshadow -Wstrict-overflow=1 -Winit-self -Wlogical-op -Wmissing-declarations -fvisibility=hidden -O2 -g -MT api/editdistance.lo -MD -MP -MF $depbase.Tpo -c -o api/editdistance.lo api/editdistance.cc &&\ mv -f $depbase.Tpo $depbase.Plo
./libtool: line 841: X--tag=CXX: command not found ./libtool: line 874: libtool: ignoring unknown tag : command not found ./libtool: line 841: X--mode=compile: command not found ./libtool: line 1008: * Warning: inferring the mode of operation is deprecated.: command not found ./libtool: line 1009: * Future versions of Libtool will require --mode=MODE be specified.: command not found ./libtool: line 1152: Xg++: command not found ./libtool: line 1152: X-DHAVE_CONFIG_H: command not found ./libtool: line 1152: X-I.: command not found ./libtool: line 1152: X-I./common: No such file or directory ./libtool: line 1152: X-I./include: No such file or directory ./libtool: line 1152: X-Wall: command not found ./libtool: line 1152: X-W: command not found ./libtool: line 1152: X-Wredundant-decls: command not found ./libtool: line 1152: X-Wpointer-arith: command not found ./libtool: line 1152: X-Wcast-qual: command not found ./libtool: line 1152: X-Wcast-align: command not found ./libtool: line 1152: X-Wno-long-long: command not found ./libtool: line 1152: X-Wformat-security: command not found ./libtool: line 1152: X-fno-gnu-keywords: command not found ./libtool: line 1152: X-Woverloaded-virtual: command not found ./libtool: line 1152: X-Wundef: command not found ./libtool: line 1152: X-Wshadow: command not found ./libtool: line 1152: X-Wstrict-null-sentinel: command not found ./libtool: line 1152: X-Wshadow: command not found ./libtool: line 1152: X-Wstrict-overflow=1: command not found ./libtool: line 1152: X-Winit-self: command not found ./libtool: line 1152: X-Wlogical-op: command not found ./libtool: line 1152: X-Wmissing-declarations: command not found ./libtool: line 1152: X-fvisibility=hidden: command not found ./libtool: line 1152: X-O2: command not found ./libtool: line 1152: X-g: command not found ./libtool: line 1152: X-MT: command not found ./libtool: line 1152: Xapi/editdistance.lo: No such file or directory ./libtool: line 1152: X-MD: command not found ./libtool: line 1152: X-MP: command not found ./libtool: line 1152: X-MF: command not found ./libtool: line 1152: Xapi/.deps/editdistance.Tpo: No such file or directory ./libtool: line 1152: X-c: command not found ./libtool: line 1205: Xapi/editdistance.lo: No such file or directory ./libtool: line 1210: libtool: compile: cannot determine name of library object from `': command not found make[2]: * [api/editdistance.lo] Error 1 make[2]: Leaving directory `/root/rpmbuild/BUILD/xapian-core-1.0.23' make[1]: * [all-recursive] Error 1 make[1]: Leaving directory `/root/rpmbuild/BUILD/xapian-core-1.0.23' make: * [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.ZkCskM (%build)
If you need more data just ask, if you want I can try to compile it on a CentOS 6 32-bit machine, I may be able to get one here at my work.
Regards!
comment:4 by , 13 years ago
If you're supplying logs or similar, it's better to either attach the file, or put {{{ before the paste and }}} after it, so trac will treat it as preformatted.
This looks like you have ended up doing a partial update of libtool, so you have the macros from one version but the script template from another. As a result, the echo variable isn't set and $echo expands to empty.
What was the output from the autoreconf step? Do you have autoconf, automake, and libtool installed?
comment:5 by , 13 years ago
Olly
sorry for the delay in my answer but I'm a bit sick and resting in bed, I work slow.
The ouput of the 'autoreconf --force' command it's nothing and yes I have autoconf, automake and libtool installed
autoconf: autoconf-2.63-5.1.el6.noarch automake: automake-1.11.1-1.2.el6.noarch libtool: libtool-2.2.6-15.5.el6.x86_64
There's a way to froce the update of libtool in the package?, maybe I can do it manually for test purposes.
Regards
comment:6 by , 13 years ago
I thought autoreconf --force
would force the update of libtool, but you could try: autoreconf --force --verbose --install
comment:7 by , 13 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
We don't intend to make further Xapian 1.0.x releases now, and this issue doesn't apply to 1.2.x or later, so I don't think it's useful to keep this ticket open, and I'm closing it as "wontfix".
I just tried to compile xapian-bindings and the same problem ocurred and I applied the same solution.