Kern Sibbald schrieb:
> On Thursday 30 July 2009 23:41:28 Timo Neuvonen wrote:
>> "Kern Sibbald" <k...@sibbald.com> kirjoitti viestissä
>> news:200907302233.19300.k...@sibbald.com...
>>
>>> On Thursday 30 July 2009 22:24:25 Scott Barninger wrote:
>>>> On Wednesday 29 July 2009 08:21:50 am Timo Neuvonen wrote:
>>>>> I tried to build 3.0.2 binary rpms with the following script, on
>>>>> CentOS 5.3 x86_64
>>>>>
>>>>> #!/bin/bash
>>>>> rpmbuild --rebuild \
>>>>> --define "build_centos5 1" \
>>>>> --define "build_x86_64 1" \
>>>>> --define "build_mysql5 1" \
>>>>> --define "build_python 1" \
>>>>> --define "nobuild_gconsole 1" \
>>>>> --define "contrib_packager Timo Neuvonen <t...@tee-en.net>" \
>>>>> bacula-3.0.2-1.src.rpm
>>>>>
>>>>> This ends up with the following:
>>>>>
>>>>>
>>>>> RPM build errors:
>>>>>     InstallSourcePackage: Header V3 DSA signature: NOKEY, key ID
>>>>> b90d278f
>>>>>     user sbarn does not exist - using root
>>>>>     user sbarn does not exist - using root
>>>>>     user sbarn does not exist - using root
>>>>>     user sbarn does not exist - using root
>>>>>     user sbarn does not exist - using root
>>>>>     user sbarn does not exist - using root
>>>>>     user sbarn does not exist - using root
>>>>>     File not found: /var/tmp/bacula-root/etc/bacula/bacula-dir.conf
>>>>>     File not found: /var/tmp/bacula-root/etc/bacula/bacula-fd.conf
>>>>>     File not found: /var/tmp/bacula-root/usr/lib64/bacula/query.sql
>>>>>     File not found: /var/tmp/bacula-root/usr/sbin/bacula-dir
>>>>>     File not found: /var/tmp/bacula-root/usr/sbin/bacula-fd
>>>>>     File not found: /var/tmp/bacula-root/etc/bacula/bacula-fd.conf
>>>>>     File not found: /var/tmp/bacula-root/usr/sbin/bacula-fd
>>>>> [t...@garfield rpm-build]$
>>>>>
>>>>>
>>>>>
>>>>> The OS is up-to-date, and has been able to build previous versions
>>>>> (including 3.0.1) of Bacula. On my another CentOS 5.3 system which is
>>>>> x86, the build goes nicely, and the resulting binaries also seem to
>>>>> work.
>>>>> So, maybe this is something x86_64 related?
>>>>>
>>>>>
>>>>> Regards,
>>>>> Timo
>>>> Sounds like an error compiling. Can you provide other detail?
>> I got during compiling exactly the same errors that Andreas Piesk already
>> quoted in his message:
>>
>> job.o: In function `storage_cmd':
>> /usr/src/redhat/BUILD/bacula-3.0.2/src/filed/job.c:1402: undefined
>> reference to `BSOCK::set_source_address(dlist*)'
>> collect2: ld returned 1 exit status
>>
>>> I don't seem to have any problem building on RHEL 5.3 x86_64, so I
>>> imagine they may have modified the source or somehow gotten a bad source
>>> (which doesn't make much sense).
>> I'd made no (intentional) alterations to the source. I also downloaded the
>> source package again, it does not differ from the originally loaded srpm.
>> The same error too, until... dropping the (deprecated?)
>> --define "build_x86_64 1" \
>> from the build script finally made it. And yes, it seems at least to place
>> the binaries under directory
>> /usr/src/redhat/RPMS/x86_64/
>> so they obviously are built as 64 bit even without the define.
>>
>> So, at least in my CentOS 5.3 system using
>> --define "build_x86_64 1"
>> makes the build to fail.
> 
> Strange. I see nothing in the spec file that would make this fail.  Oh well, 
> at least the problem has a workaround.
> 

if i rebuild with 3.0.2 installed, the build succeeds, no matter how
build_x86_64 is set.

i think the problem is caused by the order of the library directories.

Linking bacula-fd ...
/usr/src/redhat/BUILD/bacula-3.0.2/libtool --silent --tag=CXX
--mode=link /usr/bin/g++  -L/usr/lib64 -L../lib -L../findlib -o ...

with build_x86_64 set -L/usr/lib64 comes _before_ -L../lib -L../findlib,
so it tries to link in libraries from -L/usr/lib64 first, which fails
with installed libraries from previous releases because they lack
BSOCK::set_source_address(dlist*).

i guess setting version-info to release version 3:0:2 instead of 1:0:0
solves the problem.

i think build_x86_64 was necessary for building bat on x86_64 but by
using pkgconfig to get paths it is no longer. from the spec file:

%if %{bat}
export QTDIR=$(pkg-config --variable=prefix QtCore)
export QTINC=$(pkg-config --variable=includedir QtCore)
export QTLIB=$(pkg-config --variable=libdir QtCore)
export PATH=${QTDIR}/bin/:${PATH}
%endif
...
# Red Hat's 64 bit installation of QT4 appears to be broken so:
%define qt_path 0
%if %{rhel5} || %{centos5} || %{sl5}
%define qt_path 1
%endif
%if %{bat} && %{qt_path} && %{x86_64}
export PATH=/usr/lib64/qt4/bin/:$PATH
export QTDIR=/usr/lib64/qt4/
export QTINC=/usr/lib64/qt4/include/
export QTLIB=/usr/lib64/qt4/
%endif

IMHO the latter can be removed because the first takes care of QT paths.

regards,
-ap

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to