Ralf S. Engelschall wrote:
On Wed, Jan 18, 2006, Doug Summers wrote:
Doesn't matter what compiler I use - it always dies here:
+ /syscfg/opkg/bin/make --no-print-directory
/syscfg/opkg/bin/cc -c -O2 -I. ./dftables.c
/bin/sh ./libtool --mode=link /syscfg/opkg/bin/cc -O2 -I. -I. -o
dftables dftables.o
mkdir .libs
/syscfg/opkg/bin/cc "-O2" "-I." "-I." -o dftables dftables.o
./dftables pcre_chartables.c
libtool: compile: libobj name `pcre_chartables.lo' may not contain shell
special characters.
make: *** [pcre_chartables.o] Error 1
error: Bad exit status from /syscfg/opkg/RPM/TMP/rpm-tmp.2653 (%build)
I tried building the libtool package and forcing the Makefile to use it
instead of its own and it built.
That's certainly because PCRE contains an older GNU libtool version than
the "libtool" package itself. The older libtool seems to be not able to
recognize your platform correctly.
However, the first program I built
after it (postfix) would coredump trying to run any of its programs -
all complaining about loading libpcre.so.0.
That's because the GNU libtool from the "libtool" package build with
--enable-shared to make sure it is able to build shared libraries -- as
it is intended for developers _using_ OpenPKG, not for other packages
_building_ with it. You now used this GNU libtool to build PCRE and it
then by default built shared libraries (your libpcre.so.0). As a dirty
workaround you can add an "rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/*.la"
and "rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/*.so*" to your hacked
pcre.spec file's %install section. This way you do not install the
shared library version.
Ralf S. Engelschall
[EMAIL PROTECTED]
www.engelschall.com
Looks good now, thanks. Here are the %build & %install sections I hacked:
%build
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
./configure \
--prefix=%{l_prefix} \
--disable-cpp \
--disable-shared
# Testing using newer GNU libtool
%{l_shtool} subst \
-e 's;LIBTOOL = $(SHELL) $(top_builddir)/libtool;LIBTOOL =
$(BINDIR)/libtool;' \
Makefile
# End test
%{l_make} %{l_mflags}
%install
rm -rf $RPM_BUILD_ROOT
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
# Removing shared libraries that newer libtool created
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/*.la
rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/*.so*
# end testing
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
DOug
______________________________________________________________________
The OpenPKG Project www.openpkg.org
User Communication List openpkg-users@openpkg.org