SPEC file hardcodes lib directory -- breaks on linux x86_64 builds.
-------------------------------------------------------------------

         Key: XERCESC-1505
         URL: http://issues.apache.org/jira/browse/XERCESC-1505
     Project: Xerces-C++
        Type: Bug
  Components: Build  
    Versions: 2.7.0    
 Environment: Suse Enterprise Linux 9 -- x86_64  (SLES9_x64)
    Reporter: Michael Brown


On 64-bit builds, all 64-bit libs should go into either /lib64 or /usr/lib64. 
In the SPEC file, if you use the predefined variable, %{_libdir}, it will 
automatically be changed to be correct, depending on the architecture.

On SLES9_x64, there is a validation script that is run by SUSE after the 
%install section that ensures that 64-bit libs are in the correct location. The 
current xerces tarball fails this test. 

SPEC FILE PATCH:
================================
[EMAIL PROTECTED]:~/build/SPECS> diff -u xerces-c.spec  xerces-c-lib64fix.spec
--- xerces-c.spec       2005-09-22 17:01:13.000000000 -0500
+++ xerces-c-lib64fix.spec      2005-09-29 22:37:04.000000000 -0500
@@ -67,7 +67,7 @@
 export XERCESCROOT=$RPM_BUILD_DIR/%{name}-src_%{tarversion}
 cd $XERCESCROOT/src/xercesc
 make PREFIX=$RPM_BUILD_ROOT%{prefix} install
-ln -sf %{prefix}/lib/libxerces-c.so.27 
$RPM_BUILD_ROOT%{prefix}/lib/libxerces-c.so
+ln -sf %{prefix}/%{_lib}/libxerces-c.so.27 
$RPM_BUILD_ROOT%{prefix}/%{_lib}/libxerces-c.so
 mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
 #we don't want obj directory
 install `find $XERCESCROOT/bin -type f -maxdepth 1` 
$RPM_BUILD_ROOT%{prefix}/bin
@@ -84,8 +84,8 @@
 %files
 %defattr(755,root,root)
 %{prefix}/bin/*
-%{prefix}/lib/libxerces-c.so*
-%{prefix}/lib/libxerces-depdom.so*
+%{prefix}/%{_lib}/libxerces-c.so*
+%{prefix}/%{_lib}/libxerces-depdom.so*

 %files devel
 %defattr(-,root,root)
================================


Error:  
======CUT==============
+ install /home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/SAXPrint 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/SAX2Print 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/SAXCount 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/SAX2Count 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/DOMPrint 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/DOMCount 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/Redirect 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/MemParse 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/PParse 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/StdInParse 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/EnumVal 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/SEnumVal 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/CreateDOMDocument 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/PSVIWriter 
/home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/bin/SCMPrint 
/var/tmp/xerces-c-root/usr/bin
+ mkdir -p /var/tmp/xerces-c-root/usr/share/xerces-c
+ cp -a /home/michael_e_brown/build/BUILD/xerces-c-src_2_7_0/samples 
/var/tmp/xerces-c-root/usr/share/xerces-c
+ /usr/lib/rpm/brp-lib64-linux
[EMAIL PROTECTED]: if you find problems with this script, drop me a note
/var/tmp/xerces-c-root/usr/lib/libxerces-c.so.27:     file format elf64-x86-64
/var/tmp/xerces-c-root/usr/lib/libxerces-c.so.27: should be in */lib64
error: Bad exit status from /var/tmp/rpm-tmp.21760 (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.21760 (%install)
[EMAIL PROTECTED]:~/build>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to