I know RPM is most thought of as a Linux app, but it's used on Solaris as well. :-) On Solaris 2.6 (officially: SunOS5.6), there are several problems which prevent successful compilation: - In lib/rpmdb.h and lib/md5.h, u_int32_t and u_int8_t are unknown types. - Programs can't link against "-lrpm" if rpm-devel isn't previously installed. (This is a duplicate, it's allegedly fixed in CVS. Missing -L../lib/.libs and the likes.) - And you seem to have put some quirks in your db{1,2,3} packages which are far from what BerkeleyDB delivers by default, because e.g. installing BerkeleyDB according to your instructions produces no db1/db.h, there are conflicting types in lib/db1.c, ... Perhaps your "instructions for building db-2.6.4" (file INSTALL) are out of date?
Porting rpm-4.0 to solaris has not been seriously attempted yet, will be before rpm-4.0 is released. Some of the problems you mention have already been fixed, get changes from anonymos cvs cvs -d :pserver:anonymous.org:/cvs/devel login (no password, just carriage return) cvs -d :pserver:anonymous.org:/cvs/devel get rpm cd rpm However, you will need both db-1.85 (or db-2.x in db-1.85 compatibility mode) and db-3.1.14 in order to build rpm-4.0, and you can expect that some of the paths to include files and libraries are very linuxish at the moment. Support for native db-2.x will probably never be implemented in rpm-4.0 as there is little need. Use the db-1.85 compatibility interface instead. Yes the instructions for building with db-2.6 don't apply to rpm-4.0.
I believe this problem has been solved. Please reopen if I'm wrong.
It's still broken in RPM 4.0.2. Berkeley DB installs its db.h header file in <prefix>/include not in <prefix>/include/db3 but RPM tries to include <db3/db.h>. I get a compile-time error: cc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../build -I../rpmio -I../popt -I../misc -I/usr/local/include -fast -c dbconfig.c -KPIC -DPIC -o dbconfig.o "dbconfig.c", line 7: cannot find include file: <db3/db.h> cc: acomp failed for dbconfig.c gmake[2]: *** [dbconfig.lo] Error 1 gmake[2]: Leaving directory `/home/papadopo/rpm-4.0.2/lib' RPM doesn't try to autodetect that as far as I can tell. Dimitri