Doug Summers <[EMAIL PROTECTED]> writes:

> Simon J Mudd wrote:
> 
> >>>    ( 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
> 
> Here's the .spec file for GCC 3.3.2:

[thanks]

I'll see if I can determine what the AIX gcc build is doing compared
to the openpkg gcc build. It's probably something simple which is
causing the problem.

Simon
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
User Communication List                      openpkg-users@openpkg.org

Reply via email to