well gcc 3.4.4 is working perfectly on AIX 5.2 PASE but this problem
at install time prevent me to have a RPM ;(

Reading specs from
/QOpenSys/usr/local/gcc-3.4.4/bin/../lib/gcc/powerpc-ibm-aix5.2.0.0/3.4.4/specs
Configured with: ../configure --with-as=/tmp/as
--prefix=/usr/local/gcc-3.4.4 --with-ld=/QOpenSys/usr/bin/ld
--disable-nls --enable-languages=c,c++ --enable-threads
--enable-version-specific-runtime-libs
Thread model: aix
gcc version 3.4.4


My 3.4.4 gcc give as result for gcc --print-multi-lib :
.;
pthread;@pthread
ppc64;@maix64
pthread/ppc64;@[EMAIL PROTECTED]

On an iSeries LPAR with Linux SLES 9 (gcc 3.3.3) I got :

.;@[EMAIL PROTECTED]
64;@[EMAIL PROTECTED]@mstrict-align

On an Intel box with Suse SLES 9 (gcc 3.3.3) I got :

.;

Question, what could we do now ?

18 Jul 2005 23:33:55 +0200, Simon J Mudd <[EMAIL PROTECTED]>:
> Doug Summers <[EMAIL PROTECTED]> writes:
> 
> > Simon J Mudd wrote:
> > > Doug Summers <[EMAIL PROTECTED]> writes:
> > >
> > >>Henri - I got the exact same results with GCC 3.3.6 (from CURRENT). It
> > >>seems that the compile works fine, but the spec file is wrong. Just
> > >>before it crashes these commands are executed:
> > >>
> > >>+ mv /openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/pthread/libiberty.a
> > >>/openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/pthread/libstdc++.a
> > >>/openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/pthread/libsupc++.a
> > >>/openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/gcc33-lib/powerpc-ibm-aix5.1.0.0/3.3.6/pthread/
> > >>+ rm -rf /openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/pthread
> > >> >>>> this line is the culprit                                       <<<<
> > >>
> > >>And here's where it fails:
> > >>
> > >>+ mv
> > >>'/openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/pthread/power/lib*.a'
> > >>/openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/gcc33-lib/powerpc-ibm-aix5.1.0.0/3.3.6/pthread/power/
> > >>mv: cannot rename
> > >>/openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/pthread/power/lib*.a to
> > >>/openpkg/RPM/TMP/gcc33-3.3.6-root/openpkg/lib/gcc33-lib/powerpc-ibm-aix5.1.0.0/3.3.6/pthread/power//lib*.a:
> > >>No such file or directory
> > >> >>>> of course there's no files - <<<<
> > >> >>>> the above rm -rf command killed them <<<<
> > >>
> > >>I wish I knew more about .spec files but I'm not sure how to fix this.
> > > This comes from the spec file entry (%install) section
> > > (see http://cvs.openpkg.org/getfile/openpkg-src/gcc33/gcc33.spec)
> > > %install
> > >     rm -rf $RPM_BUILD_ROOT
> > >     #   fetch GNU platform triple
> > >     triple=`./config.guess`
> > >     #   perform the standard installation procedure
> > >     ( cd obj
> > >       %{l_make} %{l_mflags} install \
> > >           INSTALL="%{l_shtool} install -c" \
> > >           DESTDIR=$RPM_BUILD_ROOT
> > >     ) || exit $?
> > >     #   cleanup installation tree
> > >     mv $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.a \
> > >        
> > > $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}-lib/${triple}/%{V_full}/
> > >     for multilib in `$RPM_BUILD_ROOT%{l_prefix}/bin/gcc 
> > > --print-multi-lib`; do
> > >         subdir=`echo "$multilib" | sed -e 's/;.*$//'`
> > >         [ ".$subdir" = .. ] && continue
> > >         mv $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir/lib*.a \
> > >            
> > > $RPM_BUILD_ROOT%{l_prefix}/lib/gcc%{V_comp}-lib/${triple}/%{V_full}/$subdir/
> > >         rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/$subdir
> > >     done
> > >    ...
> > > The mv above is failing.
> > > The %install section is used to "copy" the correctly built software
> > > into the "right location" for the final package.  The directory tree
> > > has a temporary prefix $RPM_BUILD_ROOT, but everything is otherwise
> > > ok.  It looks like the gcc "libraries" are being "relocated" because
> > > they can NOT be put in /lib,/usr/lib on the target platform, and are
> > > so put under %{l_prefix}.
> > > The question really comes down to is "where are the lib*.a files" as
> > > if the mv fails they are NOT in the expected location of
> > > $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.a.
> > > I'll see if I can get the compile to run on a box I have access to
> > > and
> > > see where the libraries really are.
> > > Regards,
> > > Simon
> > > ______________________________________________________________________
> > > The OpenPKG Project                                    www.openpkg.org
> > > User Communication List                      openpkg-users@openpkg.org
> > The only reason the mv is failing is because an earlier cleanup killed
> > the parent directory. The pthread directory is being removed before
> > the pthread/power files are moved.
> 
> In that case the evaluation of
>         `$RPM_BUILD_ROOT%{l_prefix}/bin/gcc --print-multi-lib`
> 
> seems to be providing the directory list in the wrong order and some
> libraries are getting removed before they are copied.
> 
> That's what I think. Ralf must have written this and should know
> better.  I'm pretty familiar with RPMs but have never looked at the
> gcc build process which is obviously non-trivial.
> 
> I'm going to try building gcc 3.4 without binutils and if that fails
> (I think you said that it did not work) just try and build a normal
> gcc from the tar ball.  The compiler running on my 5.1 box is
> 
> $ gcc -v
> Reading specs from 
> /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.3.2/specs
> Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld 
> --disable-nls --enable-languages=c,c++ --prefix=/opt/freeware 
> --enable-threads --enable-version-specific-runtime-libs 
> --host=powerpc-ibm-aix5.1.0.0
> Thread model: aix
> gcc version 3.3.2
> 
> I'd like to build a newer gcc. It's a shame that IBM don't provide the
> spec files for the rpms they provide on their website as maybe we
> could see what "tricks" they had to apply (if any) to get "their" gcc
> to build successfully.
> 
> Regards,
> 
> Simon
> ______________________________________________________________________
> The OpenPKG Project                                    www.openpkg.org
> User Communication List                      openpkg-users@openpkg.org
>
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
User Communication List                      openpkg-users@openpkg.org

Reply via email to