Hello, I was hacking around with building RPM 5.3.5 on OpenIndiana and have got a working build after some experimentation. The intention is to use RPM5 as the core system packaging mechanism for the derivative distro called BeleniX.
My initial steps are the following: 1) Build an initial 64-bit "base" rpm targeted to /usr/local using the older but working Gcc 3.4.x compiler on the OpenIndiana distro. The Gcc 4.3.2 available in OpenIndiana's repo is broken. It does not deliver libssp_nonshared. 2) Use this base rpm to build Gcc 4.5 and dependencies as RPM pkgs and use this Gcc to rebuild RPM and its deps targeted to /usr. 3) Prepare default macros for some common actions like installing drivers, services etc. I have completed #1. There are issues however.A few small patches are required. The targets check-pubkeys and check-sign fail and make check does not work if I am building as a non-root user. I am including the configure and build scripts below for reference: ** XZ Utils configuration CC="/usr/bin/gcc" CXX="/usr/bin/g++" CFLAGS="-m64" LDFLAGS="-m64" ./configure --prefix=/usr/local --bindir=/usr/local/bin/amd64 --libdir=/usr/local/lib/amd64 --enable-shared --enable-static ** DB5 version 5.1.19 configurationCC="/usr/bin/gcc" CXX="/usr/bin/g++" CFLAGS="-m64" LDFLAGS="-m64" ../dist/configure -C --prefix=/usr/local --bindir=/usr/local/bin/amd64 --libdir=/usr/local/lib/amd64 --includedir=/usr/local/include/db51 --enable-shared --enable-static --enable-tcl --with-tcl=/usr/lib --enable-cxx --disable-java --enable-test --enable-sql --enable-sql_codegen --program-transform-name=s,^db,db51, *** Build script for RPM 5.3.5 PATH=/usr/local/bin/amd64:/usr/bin:/usr/sbin:/sbin:/usr/gnu/bin export PATH CFLAGS="-m64 -DHAVE_VA_COPY -DVA_COPY=va_copy -I/v/rpm/sw/var/petidomo/popt -I/usr/local/include -I/usr/include/mps -fPIC -DPIC" CXXFLAGS="-m64 -DHAVE_VA_COPY -DVA_COPY=va_copy -I/v/rpm/sw/var/petidomo/popt -I/usr/local/include -I/usr/include/mps -fPIC -DPIC" LDFLAGS="-m64 -L/usr/local/lib/amd64 -R/usr/local/lib/amd64 -L/usr/lib/mps/amd64 -R/usr/lib/mps/amd64 -L/v/rpm/sw/var/petidomo/popt/.libs" CC="/usr/bin/gcc" CXX="/usr/bin/g++" export CC CXX CFLAGS CXXFLAGS LDFLAGS if [ ! -f popt/.libs/libpopt.a ] then gunzip -c popt-1.15.tar.gz | tar xf - mv popt-1.15 popt cd popt ./configure --with-pic --enable-shared=no --enable-static=yes gmake cd .. fi pfexec rm -rf rpm-5.3.5 gunzip -c rpm-5.3.5.tar.gz | tar xf - cd rpm-5.3.5 ./configure --prefix=/usr/local --bindir='/usr/local/bin/amd64' --infodir='/usr/local/share/info' --libdir='/usr/local/lib/amd64' --localstatedir=/var --mandir='/usr/local/share/man' --sysconfdir=/etc --with-file --with-path-magic=/usr/local/share/misc/magic --with-tcl --with-lua=internal --with-syck=internal --without-readline --without-augeas --with-bzip2 --with-xz --with-zlib --with-python=2.6 --with-python-inc-dir=/usr/include/python2.6 --with-python-lib-dir=/usr/lib/python2.6 --without-pythonembed --without-perl --without-perlembed --with-db --with-dbsql --without-db-tools-integrated --without-sqlite --with-beecrypt=internal --with-openssl --with-nss --with-gcrypt --without-keyutils --without-selinux --without-sepol --without-semanage --without-libtasn1 --without-pakchois --without-gnutls --with-neon --without-libproxy --with-expat --with-pcre --enable-utf8 --with out-uuid --without-xar --with-xz --with-popt=yes --with-pthreads --without-cudf --without-ficl --without-aterm --without-nix --without-bash --without-rc --without-js --without-gpsee --without-ruby --without-squirrel --with-build-extlibdep --with-build-maxextlibdep --without-valgrind --disable-openmp --with-pic --enable-build-pic --enable-build-warnings --enable-build-debug # Do later --enable-build-versionscript # Get rid of visibility for now [ ! -f lua/luaconf.h.orig ] && cp lua/luaconf.h lua/luaconf.h.orig cat lua/luaconf.h.orig | sed 's/__attribute__((visibility("hidden")))//' > lua/luaconf.h # # Fix dirfd handling in fts # [ ! -f rpmio/fts.c.orig ] && cp rpmio/fts.c rpmio/fts.c.orig cat rpmio/fts.c.orig | sed ' s/# define dirfd(dirp) -1/#include <dirent.h>/' > rpmio/fts.c [ ! -f tests/Makefile.orig ] && cp tests/Makefile tests/Makefile.orig cat tests/Makefile.orig | sed ' s/check-local: check-init check-pubkeys/check-local: check-init / s/check-build check-sign/check-build /' > tests/Makefile pwd [ ! -f lua/shadow/useradd.c.orig ] && cp lua/shadow/useradd.c lua/shadow/useradd.c.orig cat lua/shadow/useradd.c.orig | sed ' s%/home%/export/home%' > lua/shadow/useradd.c gmake -C lua clean || : gmake -C python clean || : gmake -j 2 PATH=/usr/gnu/bin:/usr/local/bin/amd64:/usr/bin:/usr/sbin:/sbin; export PATH gmake check Regards, Moinak. ______________________________________________________________________ RPM Package Manager http://rpm5.org Developer Communication List rpm-devel@rpm5.org