On Sat, 14 Mar 2009 12:10:02 +0100
Paul Floyd <paulf at free.fr> wrote:

> Hi
> 
> After a long pause in lurk mode, I'm having another go at building
> KDE.
> 
> Solaris 10, Studio 12, all patched.
> 
> Stright off I see:
> 
> ! msgfmt is not GNU msgfmt; make sure GNU msgfmt
> !   is in your path and can be called as "msgfmt"
> ! System will probably not compile properly.
> !   hit ^C now to abort compilation.
> 
> Can I ignore this?

Hi Paul,

I do not really know if there is a correct way of doing
stuff on Solaris 10 or not.  This is what I do though:
I hacked together the following SUNWgnu-gettext.spec file,
and built it in a spec files extra build environment.
Then I use the built /usr/gnu/bin/msgfmt.

Whether that helps with KDE or not I do not know.
It does help with building JDS gnome 2.24 on Solaris 10.

#
# spec file for package SUNWgnu-gettext
#
# includes module(s): GNU gettext
#
%include Solaris.inc
%define _prefix /usr

Name:                SUNWgnu-gettext
Summary:             GNU gettext
Version:             0.16.1
Source:              ftp://ftp.gnu.org/pub/gnu/gettext/gettext-%{version}.tar.gz
Patch1:              gettext-01-configure.diff
SUNW_BaseDir:        %{_basedir}
BuildRoot:           %{_tmppath}/%{name}-%{version}-build
%include default-depend.inc

%package devel
Summary:                 %{summary} - developer files
SUNW_BaseDir:            %{_basedir}
%include default-depend.inc
Requires: %name

%if %build_l10n
%package l10n
Summary:                 %{summary} - l10n files
SUNW_BaseDir:            %{_basedir}
%include default-depend.inc
Requires:                %{name}
%endif

%prep
%setup -q -c -n %name-%version
%patch1 -p0
%ifarch amd64 sparcv9
cp -pr gettext-%{version} gettext-%{version}-64
%endif

%build
CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
if test "x$CPUS" = "x" -o $CPUS = 0; then
     CPUS=1
fi

export CFLAGS32="%optflags"
export CFLAGS64="%optflags64"
export CXXFLAGS32="%cxx_optflags"
export CXXFLAGS64="%cxx_optflags64"

%ifarch amd64 sparcv9

export CC=${CC64:-$CC}
export CXX=${CXX64:-$CXX}
export CFLAGS="$CFLAGS64"
export CXXFLAGS="$CXXFLAGS64"

cd gettext-%{version}-64

./configure --prefix=%{_prefix}                 \
            --bindir=%{_bindir}/%{_arch64}      \
            --libdir=%{_libdir}/%{_arch64}      \
            --mandir=%{_mandir}                 \
            --infodir=%{_infodir}               \
            --disable-java --disable-csharp --disable-libasprintf \
            --without-emacs \
            --disable-openmp --disable-static --disable-shared  \
            
--program-transform-name='s/^gettext$/g&/;s/^msgfmt$/g&/;s/^xgettext$/g&/' \
            --disable-csharp \
            --without-libiconv-prefix --without-libintl-prefix

make -j$CPUS
cd ..
%endif

cd gettext-%{version}

export CC=${CC32:-$CC}
export CXX=${CXX32:-$CXX}
export CFLAGS="$CFLAGS32"
export CXXFLAGS="$CXXFLAGS32"

./configure --prefix=%{_prefix}         \
            --bindir=%{_bindir}         \
            --libdir=%{_libdir}         \
            --mandir=%{_mandir}         \
            --infodir=%{_infodir}       \
            --disable-java --disable-csharp --disable-libasprintf \
            --without-emacs \
            --disable-openmp --disable-static --disable-shared  \
            
--program-transform-name='s/^gettext$/g&/;s/^msgfmt$/g&/;s/^xgettext$/g&/' \
            --disable-csharp \
            --without-libiconv-prefix --without-libintl-prefix

make -j$CPUS

%install
rm -rf $RPM_BUILD_ROOT
%ifarch amd64 sparcv9
cd gettext-%{version}-64
make install DESTDIR=$RPM_BUILD_ROOT
cd ..
cd $RPM_BUILD_ROOT%{_prefix}
mkdir -p gnu/bin/%{_arch64}
cd -
cd $RPM_BUILD_ROOT%{_prefix}/gnu/bin/%{_arch64}
ln -s ../../../bin/%{_arch64}/ggettext gettext
ln -s ../../../bin/%{_arch64}/gmsgfmt msgfmt
ln -s ../../../bin/%{_arch64}/gxgettext xgettext
cd -
cd $RPM_BUILD_ROOT%{_prefix}
rm -f $RPM_BUILD_ROOT/%{_libdir}/%{_arch64}/*.la
rm -f $RPM_BUILD_ROOT/%{_libdir}/%{_arch64}/*.a
rm $RPM_BUILD_ROOT%{_libdir}/%{_arch64}/charset.alias
cd -
rm -f $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/autopoint
rm -f $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/gettext.sh
rm -f $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/gettextize
rm -f $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/recode-sr-latin
%endif


cd gettext-%{version}
make install DESTDIR=$RPM_BUILD_ROOT

cd $RPM_BUILD_ROOT%{_prefix}
mkdir -p gnu/bin
cd -
cd $RPM_BUILD_ROOT%{_prefix}/gnu/bin
ln -s ../../bin/ggettext gettext
ln -s ../../bin/gmsgfmt msgfmt
ln -s ../../bin/gxgettext xgettext
cd -
cd $RPM_BUILD_ROOT%{_prefix}
mkdir -p gnu/share/man/man1
cd $RPM_BUILD_ROOT%{_prefix}/gnu/share/man/man1
ln -s ../../../../share/man/man1/ggettext.1 gettext.1
ln -s ../../../../share/man/man1/gmsgfmt.1 msgfmt.1
ln -s ../../../../share/man/man1/gxgettext.1 xgettext.1
cd -
cd $RPM_BUILD_ROOT%{_prefix}
cd -

rm -f $RPM_BUILD_ROOT%{_bindir}/autopoint
rm -f $RPM_BUILD_ROOT%{_bindir}/gettext.sh
rm -f $RPM_BUILD_ROOT%{_bindir}/gettextize
rm -f $RPM_BUILD_ROOT%{_bindir}/recode-sr-latin

rm -rf $RPM_BUILD_ROOT%{_infodir}
rm $RPM_BUILD_ROOT%{_libdir}/charset.alias

%if %build_l10n
%else
# REMOVE l10n FILES
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
%endif

rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.a
# SUNWgnome-common-devel supplies the gettext documentation.
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc
cd $RPM_BUILD_ROOT%{_datadir}

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr (-, root, bin)
%dir %attr (0755, root, bin) %{_bindir}
%{_bindir}/envsubst
%{_bindir}/ggettext
%{_bindir}/gmsgfmt
%{_bindir}/gxgettext
%{_bindir}/msgattrib
%{_bindir}/msgcat
%{_bindir}/msgcmp
%{_bindir}/msgcomm
%{_bindir}/msgconv
%{_bindir}/msgen
%{_bindir}/msgexec
%{_bindir}/msgfilter
%{_bindir}/msggrep
%{_bindir}/msginit
%{_bindir}/msgmerge
%{_bindir}/msgunfmt
%{_bindir}/msguniq
%{_bindir}/ngettext
%dir %attr (0755, root, bin) /usr/gnu
%dir %attr (0755, root, bin) /usr/gnu/bin
/usr/gnu/bin/gettext
/usr/gnu/bin/msgfmt
/usr/gnu/bin/xgettext
%dir %attr (0755, root, bin) %{_libdir}
%dir %attr (0755, root, bin) %{_libdir}/gettext
%{_libdir}/gettext/*
%dir %attr (0755, root, sys) %{_datadir}
%dir %attr (0755, root, bin) %{_datadir}/gettext
%{_datadir}/gettext/*
%dir %attr (0755, root, bin) %{_mandir}
%dir %attr (0755, root, bin) %{_mandir}/man1
%{_mandir}/man1/*.1
%dir %attr (0755, root, bin) %{_mandir}/man3
%{_mandir}/man3/*.3
%dir %attr (0755, root, sys) /usr/gnu/share
%dir %attr (0755, root, bin) /usr/gnu/share/man
%dir %attr (0755, root, bin) /usr/gnu/share/man/man1
/usr/gnu/share/man/man1/*.1
%ifarch amd64 sparcv9
%dir %attr (0755, root, bin) %{_bindir}/%{_arch64}
%{_bindir}/%{_arch64}/envsubst
%{_bindir}/%{_arch64}/ggettext
%{_bindir}/%{_arch64}/gmsgfmt
%{_bindir}/%{_arch64}/gxgettext
%{_bindir}/%{_arch64}/msgattrib
%{_bindir}/%{_arch64}/msgcat
%{_bindir}/%{_arch64}/msgcmp
%{_bindir}/%{_arch64}/msgcomm
%{_bindir}/%{_arch64}/msgconv
%{_bindir}/%{_arch64}/msgen
%{_bindir}/%{_arch64}/msgexec
%{_bindir}/%{_arch64}/msgfilter
%{_bindir}/%{_arch64}/msggrep
%{_bindir}/%{_arch64}/msginit
%{_bindir}/%{_arch64}/msgmerge
%{_bindir}/%{_arch64}/msgunfmt
%{_bindir}/%{_arch64}/msguniq
%{_bindir}/%{_arch64}/ngettext
%dir %attr (0755, root, bin) /usr/gnu/bin/%{_arch64}
/usr/gnu/bin/%{_arch64}/gettext
/usr/gnu/bin/%{_arch64}/msgfmt
/usr/gnu/bin/%{_arch64}/xgettext
%dir %attr (0755, root, bin) %{_libdir}/%{_arch64}
%dir %attr (0755, root, bin) %{_libdir}/%{_arch64}/gettext
%{_libdir}/%{_arch64}/gettext/*
%endif
%defattr (-, root, other)

%files devel
%defattr (-, root, bin)
%dir %attr (0755, root, bin) %{_includedir}
%{_includedir}/*
%dir %attr (0755, root, sys) %{_datadir}
%dir %attr (0755, root, other) %{_datadir}/aclocal
%{_datadir}/aclocal/*

%if %build_l10n
%files l10n
%defattr (-, root, bin)
%dir %attr (0755, root, sys) %{_datadir}
%attr (-, root, other) %{_datadir}/locale
%endif

%changelog
* Wed Oct 2 2008 - markwright at internode.on.net
- Build without gnu libiconv on Solaris 10.  Try to build
- it like it is supplied on SXCE b98.
* Fri Sep 28 2007 - laca at sun.com
- fix %install and %files
* Fri Apr 20 2007 - Doug Scott <dougs at truemail.co.th>
- Fixed %{_datadir}/doc group
* Fri Apr 20 2007 - Doug Scott <dougs at truemail.co.th>
- Removed gettext.info autosprintf.info - conflicts with SUNWgnome-common-devel
- Removed charset.alias - conficts with SFEcoreutils
* Sun Mar  7 2007 - Doug Scott <dougs at truemail.co.th>
- Initial spec

 
> and
> 
> NOTE: Couldn't lock the package database.
> [a few times]
> 
> Do I need to build as root (or with the right profile)?

I do not know, I get this error message every time I run pkgtool,
I just ignore it and it seems to build stuff.
 
> Lastly, in the Qt spec file I see
> 
> %include depend-packages.inc
> 
> # TODO: Update to 4.4.5 :)
> %define src_name        qt
> %define src_ver         4.4.1
> 
> Isn't 4.4.3 the latest 4.4 version, and 4.5.0 that latest of all? As
> for 4.5.0, I'd wait for 4.5.1 for some of the GCCisms to be fixed.
> 
> Cheers
> Paul

I'm interested in Qt 4.5.0, it would be be neat if it could be compiled
with Sun Studio 12.

Thanks, Mark

-- 

Reply via email to