Re: rpm errors upon running
On Jun 23, 2011, at 1:04 PM, Miller, Vincent (Rick) wrote: > I had not loaded berkely-db because I thought I had read somewhere that there > was a bundled berkley-db with RPM5. I have since loaded Berkley-DB 5.1.x > from FreeBSD ports and was able to get the compile to move along further. > Good. > It failed later when attempting to link against libgomp which is not > installed on the system. I am planning to reconfigure disabling OpenMP, > unless it provides a feature we might be able to utilize. Can you clarify > the features OpenMP provides to RPM5? > RPM is headed towards multi-threaded installs. One way to achieve parallelism would be to use OpenMP. When looking at feasibility, I parallelized the loop over multiple digests (not the digest algorithms per se which are nearly impossible to parallelize) used by RPM and benchmarked rpm digest (which can run >100 digests in parallel directly off of input/output buffers) and measured a 7x speed-up on a 4-way. Since a 7x speedup from a single #pragma is a quite remarkable gain, I parallelized --verify to see how much gain might be achieved in a non-artificial "real world" case. The results there were less impressive (~1.5x faster from a primitive implementation, since improved to ~2x back in Jabuary in rpm-5.4.0). The refactoring cost to use OpenMP #pragma in RPM code would be considerable, and so likely OpenMP will NOT be used when RPM becomes multi-threaded. So the "feature" provided by using OpenMP in 5.3.1 is that --verify would run ~1.6x faster on SMP. I personally wouldn't bother too much with OpenMP on FreeBSD based on my experiences compiling and using RPM on Mac OS X, where attempting to use GOMP and GCC is a rather rugged wilderness trek, paddling upstream and swatting lots and lots of mosquitoes while trying to avoid more dangerous fauna. YMMV of course ;-) hth 73 de Jeff
Re: rpm errors upon running
Miller, Vincent (Rick) wrote: > I had not loaded berkely-db because I thought I had read somewhere that there > was a bundled berkley-db with RPM5. I have since loaded Berkley-DB 5.1.x > from FreeBSD ports and was able to get the compile to move along further. There used to be a bundled version, but now you use the regular BerkeleyDB. You'll need to add the matching flags, like CPPFLAGS+="-I${LOCALBASE}/include/db51" and LDFLAGS+="-L${LOCALBASE}/lib/db51" > It failed later when attempting to link against libgomp which is not > installed on the system. I am planning to reconfigure disabling OpenMP, > unless it provides a feature we might be able to utilize. Can you clarify > the features OpenMP provides to RPM5? You can use --disable-openmp, if you don't want OpenMP. The main issue with multi-processing is that you'll need to enable it everywhere, if you use it for something like BeeCrypt (where it increases performance) --anders __ RPM Package Managerhttp://rpm5.org User Communication List rpm-users@rpm5.org
Re: rpm errors upon running
I had not loaded berkely-db because I thought I had read somewhere that there was a bundled berkley-db with RPM5. I have since loaded Berkley-DB 5.1.x from FreeBSD ports and was able to get the compile to move along further. It failed later when attempting to link against libgomp which is not installed on the system. I am planning to reconfigure disabling OpenMP, unless it provides a feature we might be able to utilize. Can you clarify the features OpenMP provides to RPM5? == Vincent (Rick) Miller Systems Engineer vmil...@verisign.com t: 703-948-4395 21345 Ridgetop Cir Dulles, VA 20166 VerisignInc.com From: Jeff Johnson mailto:n3...@mac.com>> Reply-To: mailto:rpm-users@rpm5.org>> Date: Mon, 20 Jun 2011 14:30:26 -0400 To: mailto:rpm-users@rpm5.org>> Subject: Re: rpm errors upon running (sorry for the empty msg) On Jun 20, 2011, at 2:23 PM, Miller, Vincent (Rick) wrote: Great…thanks. Got a RPM 5.3.11 tarball. I configure as followed and it exited normally: ./configure —with-expat —with-path-magic=/usr/share/misc/magic CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" LIBS="-lgss" I then ran gmake and it errored during the compile in rpmdb with: gmake[4]: Entering directory `/usr/home/vmiller/rpm-5.3.11/rpmdb' /usr/local/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build -I../lib -I../lib -I../rpmdb -I../rpmio -I../misc -I../db -I../db -I../db/src -I../db/src -I../scripts -I../scripts -I/usr/local/include -DRPM_OS_FREEBSD=080200 -I/usr/local/include -I/usr/local/include -I/usr/local/include -DRPM_OS_FREEBSD=080200 -I/usr/local/include -I/usr/local/include -fopenmp -g -O2 -fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fstack-protector -fexceptions -fexceptions -Wno-missing-field-initializers -D_GNU_SOURCE -D_REENTRANT -MT librpmdb_la-dbconfig.lo -MD -MP -MF .deps/librpmdb_la-dbconfig.Tpo -c -o librpmdb_la-dbconfig.lo `test -f 'dbconfig.c' || echo './'`dbconfig.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build -I../lib -I../lib -I../rpmdb -I../rpmio -I../misc -I../db -I../db -I../db/src -I../db/src -I../scripts -I../scripts -I/usr/local/include -DRPM_OS_FREEBSD=080200 -I/usr/local/include -I/usr/local/include -I/usr/local/include -DRPM_OS_FREEBSD=080200 -I/usr/local/include -I/usr/local/include -fopenmp -g -O2 -fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fstack-protector -fexceptions -fexceptions -Wno-missing-field-initializers -D_GNU_SOURCE -D_REENTRANT -MT librpmdb_la-dbconfig.lo -MD -MP -MF .deps/librpmdb_la-dbconfig.Tpo -c dbconfig.c -fPIC -DPIC -o .libs/librpmdb_la-dbconfig.o In file included from dbconfig.c:14: ./rpmdb.h:433: error: expected specifier-qualifier-list before 'DB_SEQUENCE' ./rpmdb.h:490: error: expected specifier-qualifier-list before 'DB_LOGC' You are not finding db.h for some reason. What version of Berkeley DB? Where is it? More specifically, RPM expects #include to find the correct db.h to include. 73 de Jeff
Re: rpm errors upon running
(sorry for the empty msg) On Jun 20, 2011, at 2:23 PM, Miller, Vincent (Rick) wrote: > Great…thanks. Got a RPM 5.3.11 tarball. > > I configure as followed and it exited normally: > > ./configure —with-expat —with-path-magic=/usr/share/misc/magic > CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" LIBS="-lgss" > > I then ran gmake and it errored during the compile in rpmdb with: > > gmake[4]: Entering directory `/usr/home/vmiller/rpm-5.3.11/rpmdb' > /usr/local/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H > -I. -I.. -I. -I.. -I../build -I../lib -I../lib -I../rpmdb -I../rpmio > -I../misc -I../db -I../db -I../db/src -I../db/src -I../scripts -I../scripts > -I/usr/local/include -DRPM_OS_FREEBSD=080200 -I/usr/local/include > -I/usr/local/include -I/usr/local/include -DRPM_OS_FREEBSD=080200 > -I/usr/local/include -I/usr/local/include -fopenmp -g -O2 > -fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fstack-protector > -fexceptions -fexceptions -Wno-missing-field-initializers -D_GNU_SOURCE > -D_REENTRANT -MT librpmdb_la-dbconfig.lo -MD -MP -MF > .deps/librpmdb_la-dbconfig.Tpo -c -o librpmdb_la-dbconfig.lo `test -f > 'dbconfig.c' || echo './'`dbconfig.c > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build -I../lib > -I../lib -I../rpmdb -I../rpmio -I../misc -I../db -I../db -I../db/src > -I../db/src -I../scripts -I../scripts -I/usr/local/include > -DRPM_OS_FREEBSD=080200 -I/usr/local/include -I/usr/local/include > -I/usr/local/include -DRPM_OS_FREEBSD=080200 -I/usr/local/include > -I/usr/local/include -fopenmp -g -O2 -fno-delete-null-pointer-checks > -D_FORTIFY_SOURCE=2 -fstack-protector -fexceptions -fexceptions > -Wno-missing-field-initializers -D_GNU_SOURCE -D_REENTRANT -MT > librpmdb_la-dbconfig.lo -MD -MP -MF .deps/librpmdb_la-dbconfig.Tpo -c > dbconfig.c -fPIC -DPIC -o .libs/librpmdb_la-dbconfig.o > In file included from dbconfig.c:14: > ./rpmdb.h:433: error: expected specifier-qualifier-list before 'DB_SEQUENCE' > ./rpmdb.h:490: error: expected specifier-qualifier-list before 'DB_LOGC' You are not finding db.h for some reason. What version of Berkeley DB? Where is it? More specifically, RPM expects #include to find the correct db.h to include. 73 de Jeff smime.p7s Description: S/MIME cryptographic signature
Re: rpm errors upon running
ror: 'DB_ENV' has no member named 'lock_id_free' > ./rpmdb.h: In function 'rpmlkGet': > ./rpmdb.h:898: error: 'struct rpmdb_s' has no member named '_dbi' > ./rpmdb.h:899: error: 'DB_ENV' has no member named 'lock_get' > ./rpmdb.h:899: error: 'db_lockmode_t' undeclared (first use in this function) > ./rpmdb.h:899: error: (Each undeclared identifier is reported only once > ./rpmdb.h:899: error: for each function it appears in.) > ./rpmdb.h:899: error: expected ')' before '_lockmode' > ./rpmdb.h: In function 'rpmlkPut': > ./rpmdb.h:910: error: 'struct rpmdb_s' has no member named '_dbi' > ./rpmdb.h:911: error: 'DB_ENV' has no member named 'lock_put' > ./rpmdb.h:911: error: 'DB_LOCK' undeclared (first use in this function) > ./rpmdb.h:911: error: expected expression before ')' token > ./rpmdb.h: In function 'rpmlgcOpen': > ./rpmdb.h:922: error: 'DB_LOGC' undeclared (first use in this function) > ./rpmdb.h:922: error: '_logc' undeclared (first use in this function) > ./rpmdb.h:924: error: 'struct rpmdb_s' has no member named '_dbi' > ./rpmdb.h:925: error: 'DB_ENV' has no member named 'log_cursor' > ./rpmdb.h:926: error: 'struct rpmdb_s' has no member named 'db_logc' > ./rpmdb.h: At top level: > ./rpmdb.h:933: error: expected declaration specifiers or '...' before 'DB_LSN' > ./rpmdb.h: In function 'rpmlgcGet': > ./rpmdb.h:935: error: 'DB_LOGC' undeclared (first use in this function) > ./rpmdb.h:935: error: '_logc' undeclared (first use in this function) > ./rpmdb.h:935: error: 'struct rpmdb_s' has no member named 'db_logc' > ./rpmdb.h:936: error: '_lsn' undeclared (first use in this function) > ./rpmdb.h: In function 'rpmlgcClose': > ./rpmdb.h:945: error: 'DB_LOGC' undeclared (first use in this function) > ./rpmdb.h:945: error: '_logc' undeclared (first use in this function) > ./rpmdb.h:945: error: 'struct rpmdb_s' has no member named 'db_logc' > ./rpmdb.h:948: error: 'struct rpmdb_s' has no member named 'db_logc' > ./rpmdb.h: At top level: > ./rpmdb.h:955: error: expected ';', ',' or ')' before '*' token > ./rpmdb.h:965: error: expected ';', ',' or ')' before '*' token > ./rpmdb.h: In function 'rpmlgcPrintf': > ./rpmdb.h:979: error: 'DB_ENV' has no member named 'log_printf' > ./rpmdb.h: At top level: > ./rpmdb.h:986: error: expected declaration specifiers or '...' before 'DB_LSN' > ./rpmdb.h: In function 'rpmlgcPut': > ./rpmdb.h:989: error: 'DB_ENV' has no member named 'log_put' > ./rpmdb.h:989: error: '_lsn' undeclared (first use in this function) > ./rpmdb.h: In function 'rpmmpfSyncAll': > ./rpmdb.h:999: error: 'DB_LSN' undeclared (first use in this function) > ./rpmdb.h:999: error: '_lsn' undeclared (first use in this function) > ./rpmdb.h:1000: error: 'struct rpmdb_s' has no member named '_dbi' > ./rpmdb.h:1001: error: 'DB_ENV' has no member named 'memp_sync' > ./rpmdb.h: In function 'rpmmpfTrickle': > ./rpmdb.h:1013: error: 'struct rpmdb_s' has no member named '_dbi' > ./rpmdb.h:1014: error: 'DB_ENV' has no member named 'memp_trickle' > ./rpmdb.h: In function 'rpmmpfClose': > ./rpmdb.h:1023: error: 'DB_MPOOLFILE' undeclared (first use in this function) > ./rpmdb.h:1023: error: 'mpf' undeclared (first use in this function) > ./rpmdb.h:1023: error: 'struct rpmdb_s' has no member named 'db_mpf' > ./rpmdb.h:1026: error: 'struct rpmdb_s' has no member named 'db_mpf' > ./rpmdb.h: In function 'rpmmpfGet': > ./rpmdb.h:1035: error: 'DB_MPOOLFILE' undeclared (first use in this function) > ./rpmdb.h:1035: error: 'mpf' undeclared (first use in this function) > ./rpmdb.h:1035: error: 'struct rpmdb_s' has no member named 'db_mpf' > ./rpmdb.h: In function 'rpmmpfOpen': > ./rpmdb.h:1047: error: 'DB_MPOOLFILE' undeclared (first use in this function) > ./rpmdb.h:1047: error: 'mpf' undeclared (first use in this function) > ./rpmdb.h:1048: error: 'struct rpmdb_s' has no member named '_dbi' > ./rpmdb.h:1051: error: 'struct rpmdb_s' has no member named '_dbi' > ./rpmdb.h:10
Re: rpm errors upon running
orted only once ./rpmdb.h:899: error: for each function it appears in.) ./rpmdb.h:899: error: expected ')' before '_lockmode' ./rpmdb.h: In function 'rpmlkPut': ./rpmdb.h:910: error: 'struct rpmdb_s' has no member named '_dbi' ./rpmdb.h:911: error: 'DB_ENV' has no member named 'lock_put' ./rpmdb.h:911: error: 'DB_LOCK' undeclared (first use in this function) ./rpmdb.h:911: error: expected expression before ')' token ./rpmdb.h: In function 'rpmlgcOpen': ./rpmdb.h:922: error: 'DB_LOGC' undeclared (first use in this function) ./rpmdb.h:922: error: '_logc' undeclared (first use in this function) ./rpmdb.h:924: error: 'struct rpmdb_s' has no member named '_dbi' ./rpmdb.h:925: error: 'DB_ENV' has no member named 'log_cursor' ./rpmdb.h:926: error: 'struct rpmdb_s' has no member named 'db_logc' ./rpmdb.h: At top level: ./rpmdb.h:933: error: expected declaration specifiers or '...' before 'DB_LSN' ./rpmdb.h: In function 'rpmlgcGet': ./rpmdb.h:935: error: 'DB_LOGC' undeclared (first use in this function) ./rpmdb.h:935: error: '_logc' undeclared (first use in this function) ./rpmdb.h:935: error: 'struct rpmdb_s' has no member named 'db_logc' ./rpmdb.h:936: error: '_lsn' undeclared (first use in this function) ./rpmdb.h: In function 'rpmlgcClose': ./rpmdb.h:945: error: 'DB_LOGC' undeclared (first use in this function) ./rpmdb.h:945: error: '_logc' undeclared (first use in this function) ./rpmdb.h:945: error: 'struct rpmdb_s' has no member named 'db_logc' ./rpmdb.h:948: error: 'struct rpmdb_s' has no member named 'db_logc' ./rpmdb.h: At top level: ./rpmdb.h:955: error: expected ';', ',' or ')' before '*' token ./rpmdb.h:965: error: expected ';', ',' or ')' before '*' token ./rpmdb.h: In function 'rpmlgcPrintf': ./rpmdb.h:979: error: 'DB_ENV' has no member named 'log_printf' ./rpmdb.h: At top level: ./rpmdb.h:986: error: expected declaration specifiers or '...' before 'DB_LSN' ./rpmdb.h: In function 'rpmlgcPut': ./rpmdb.h:989: error: 'DB_ENV' has no member named 'log_put' ./rpmdb.h:989: error: '_lsn' undeclared (first use in this function) ./rpmdb.h: In function 'rpmmpfSyncAll': ./rpmdb.h:999: error: 'DB_LSN' undeclared (first use in this function) ./rpmdb.h:999: error: '_lsn' undeclared (first use in this function) ./rpmdb.h:1000: error: 'struct rpmdb_s' has no member named '_dbi' ./rpmdb.h:1001: error: 'DB_ENV' has no member named 'memp_sync' ./rpmdb.h: In function 'rpmmpfTrickle': ./rpmdb.h:1013: error: 'struct rpmdb_s' has no member named '_dbi' ./rpmdb.h:1014: error: 'DB_ENV' has no member named 'memp_trickle' ./rpmdb.h: In function 'rpmmpfClose': ./rpmdb.h:1023: error: 'DB_MPOOLFILE' undeclared (first use in this function) ./rpmdb.h:1023: error: 'mpf' undeclared (first use in this function) ./rpmdb.h:1023: error: 'struct rpmdb_s' has no member named 'db_mpf' ./rpmdb.h:1026: error: 'struct rpmdb_s' has no member named 'db_mpf' ./rpmdb.h: In function 'rpmmpfGet': ./rpmdb.h:1035: error: 'DB_MPOOLFILE' undeclared (first use in this function) ./rpmdb.h:1035: error: 'mpf' undeclared (first use in this function) ./rpmdb.h:1035: error: 'struct rpmdb_s' has no member named 'db_mpf' ./rpmdb.h: In function 'rpmmpfOpen': ./rpmdb.h:1047: error: 'DB_MPOOLFILE' undeclared (first use in this function) ./rpmdb.h:1047: error: 'mpf' undeclared (first use in this function) ./rpmdb.h:1048: error: 'struct rpmdb_s' has no member named '_dbi' ./rpmdb.h:1051: error: 'struct rpmdb_s' has no member named '_dbi' ./rpmdb.h:1052: error: 'DB_ENV' has no member named 'memp_fcreate' ./rpmdb.h:1058: error: 'struct rpmdb_s' has no member named 'db_mpf' ./rpmdb.h: In function 'rpmmpfPut': ./rpmdb.h:1069: error: 'DB_MPOOLFILE' undeclared (first use in this function) ./rpmdb.h:1069: error: 'mpf' undeclared (first use in this function) ./rpmdb.h:1069: error: 'struct rpmdb_s' has no member named 'db_mpf' ./rpmdb.h:1070: error: 'DB_PRIORITY_DEFAULT' undeclared (first use in this function) ./rpmdb.h:1071: error: 'DB_CACHE_PRIORITY' undeclared (first use in this function) ./rpmdb.h:1071: error: expected ')' before '_priority' ./rpmdb.h: In function 'rpmmpfSync': ./rpmdb.h:1080: error: 'DB_MPOOLFILE' undeclared (first use in this function) ./rpmdb.h:1080: error: 'mpf' undeclared (first use in this function) ./rpmdb.h:1080: error: 'struct rpmdb_s' has no member named 'db_mpf' gmake[4]: *** [librpmdb_la-dbconfig.lo] Error 1 gmake[4]: Leaving directory `/usr/home/vmiller/rpm-5.3.11/rpmdb' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/usr/home/vmiller/rpm-5.3.11/rpmdb' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/usr/home/vmiller/rpm-5.3.11/rpmdb' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr/home/vmiller/rpm-5.3.11' gmake: *** [all] Error 2 == Vincent (Rick) Miller Systems Engineer vmil...@verisign.com t: 703-948-4395 21345 Ridgetop Cir Dulles, VA 20166 VerisignInc.com From: Jeff Johnson mailto:n3...@mac.com>> Reply-To: mailto:rpm-users@rpm5.org>> Date: Mon, 20 Jun 2011 13:56:34 -0400 To: mailto:rpm-users@rpm5.org>> Subject: Re: rpm errors upon running On Jun 20, 2011, at 1:48 PM, Miller, Vincent (Rick) wrote: Ok. Based on your input with regards to the error I am seeing with the rpmbuild issues. I'll need to rebuild RPM5. So, I was going to download it, but there are no source tarballs (just source rpms) for newer versions and I cannot download newer sources from CVS due to a firewall. How do you recommend I download a newer version? Find scripts/rpm2cpio.sh (its also on the web site). Download the *.src.rpm and run rpm2cpio.sh rpm-*.src.rpm | cpio -dim You will end up w 2 tar balls and one spec file jun the current directory. 73 de Jeff
Re: rpm errors upon running
On Jun 20, 2011, at 1:48 PM, Miller, Vincent (Rick) wrote: > Ok. Based on your input with regards to the error I am seeing with the > rpmbuild issues. I'll need to rebuild RPM5. So, I was going to download it, > but there are no source tarballs (just source rpms) for newer versions and I > cannot download newer sources from CVS due to a firewall. > > How do you recommend I download a newer version? Find scripts/rpm2cpio.sh (its also on the web site). Download the *.src.rpm and run rpm2cpio.sh rpm-*.src.rpm | cpio -dim You will end up w 2 tar balls and one spec file jun the current directory. 73 de Jeff smime.p7s Description: S/MIME cryptographic signature
Re: rpm errors upon running
Ok. Based on your input with regards to the error I am seeing with the rpmbuild issues. I'll need to rebuild RPM5. So, I was going to download it, but there are no source tarballs (just source rpms) for newer versions and I cannot download newer sources from CVS due to a firewall. How do you recommend I download a newer version? From: Jeff Johnson mailto:n3npq@gmail.com>> Reply-To: mailto:rpm-users@rpm5.org>> Date: Mon, 20 Jun 2011 11:50:41 -0400 To: mailto:rpm-users@rpm5.org>> Subject: Re: rpm errors upon running On Jun 20, 2011, at 10:57 AM, Miller, Vincent (Rick) wrote: Hi Jeff…thanks for the reply. See my replies inline. Also, I have an rpmbuild error at the tail of this message. From: Jeff Johnson mailto:n3...@mac.com>> Reply-To: mailto:rpm-users@rpm5.org>> Date: Fri, 17 Jun 2011 19:10:33 -0400 To: mailto:rpm-users@rpm5.org>> Subject: Re: rpm errors upon running On Jun 17, 2011, at 1:43 PM, Miller, Vincent (Rick) wrote: Hi, I have installed RPM5 on FreeBSD 8.2-RELEASE and am now unable to do anything useful with it due to errors. I tried searching the mail archives for similar issues, but only found a reference to DB_CONFIG in reference to initializing a the rpm db. Since this is a brand new install and there were no db files on the host, I figured it might apply. It mentions mmapsize, which is definitely set, but offered no recommendations into calculating what to set it to. I don't know how you installed, but make install from a build SHOULD copy a /var/lib/rpm/DB_CONFIG into place. The DB_CONFIG file is MANDATORY with @rpm5.org. The DB_CONFIG file was put into place and the truss output shows DB_CONFIG being read. The contents (from the rpm-5_3 "production" branch) that pertain to locking tunables are # Locking set_lk_max_locks16384 set_lk_max_lockers 16384 set_lk_max_objects 16384 mutex_set_max 163840 The heuristic (that I use) is that the mutex_set_max should be ~10x larger than the other values, which is about the right scaling. The size of the others depends on how many packages are managed, which is an extrinsic quantity that isn't guessable a priori. 16K -> 64K are about the right range, and conservative. There's likely something else wrong if you appear to need >64K. How did you build rpm? From CVS? rpm-5.4.1 or rpm-5.3.11? I downloaded a source tarball for 5.3.4 and installed with the commands below after installing various ports that appeared to be required. The ports I installed were popt, beecrypt, pcre, gss, and expat. Some of these ports had their own dependencies they installed. You likely want to use the latest "production" rpm-5.3.11 release instead of rpm-5.3.4. The @rpm5.org project does tick,tock monthly releases. ./configure —with-expat CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" LIBS="-lgss" gmake gmake install How many packages do you have? I currently do not have any RPM packages. There are a couple hundred ports installed, but this should have no bearing on RPM. OK. In order to use RPM on FreeBSD as an "add-on" you will almost certainly need to supply some dependencies. There are two ways to do this: 1) capture the usual provides (like /bin/sh) in a virtual package and install that first. 2) stub-in dependencies as needed. E.g. you will almost certainly have to provide "/bin/sh" somehow, which can be done like this mkdir -p /etc/rpm/sysinfo echo "/bin/sh" >> /etc/rpm/sysinfo/Providename You are likely to find that the two rules 1) Every file requires its parent directory 2) Every symlink requires its endpoint. to be a bit bothersome as well. Stub those out in /etc/rpm/sysinfo (or what ever path you have chosen) using echo "/usr/bin" >> /etc/rpm/sysinfo/Dirnames echo "/path/to/endpoint" >> /etc/rpm/sysinfo/Filelinktos I'll include as much info as I can here, but it'll mean the length of this mail may be substantial. The error I receive when I attempt to rpm –qa is: # Locking set_lk_max_locks 8000 set_lk_max_lockers 8000 set_lk_max_objects 8000 mutex_set_max 8000 Try setting "mutex_set_max" to 8 not 8000. I changed mutex_set_max to 8 and ran rpm –qa and it did not produce the original error. Additionally, it appears to have created the __db files in /var/local/lib/rpm/. This is a good start. My next test is to attempt to build an RPM. I am going with a very simple test, initially, which is to create a new /etc/motd. When I run rpmbuild on the spec file, I get the following error. Do you have any thoughts on this? [root@freebsd /usr/local/src/rpm/SPECS]# rpmbuild -bb vrsnconfig-FreeBSD-amd64-1.0.spec Executing(%prep): /bin/sh -e /var/local/tmp/rpm-tmp.447 + umask 022 + cd /usr/local/src/rpm/BUILD
Re: rpm errors upon running
On Jun 20, 2011, at 10:57 AM, Miller, Vincent (Rick) wrote: > Hi Jeff…thanks for the reply. See my replies inline. Also, I have an > rpmbuild error at the tail of this message. > > > From: Jeff Johnson > Reply-To: > Date: Fri, 17 Jun 2011 19:10:33 -0400 > To: > Subject: Re: rpm errors upon running > > > On Jun 17, 2011, at 1:43 PM, Miller, Vincent (Rick) wrote: > >> Hi, >> >> I have installed RPM5 on FreeBSD 8.2-RELEASE and am now unable to do >> anything useful with it due to errors. I tried searching the mail archives >> for similar issues, but only found a reference to DB_CONFIG in reference to >> initializing a the rpm db. Since this is a brand new install and there were >> no db files on the host, I figured it might apply. It mentions mmapsize, >> which is definitely set, but offered no recommendations into calculating >> what to set it to. >> > > I don't know how you installed, but > make install > from a build SHOULD copy a /var/lib/rpm/DB_CONFIG into place. > > The DB_CONFIG file is MANDATORY with @rpm5.org. > > The DB_CONFIG file was put into place and the truss output shows DB_CONFIG > being read. > > > The contents (from the rpm-5_3 "production" branch) that pertain to locking > tunables are > > # Locking > set_lk_max_locks16384 > set_lk_max_lockers 16384 > set_lk_max_objects 16384 > mutex_set_max 163840 > > The heuristic (that I use) is that the mutex_set_max should be ~10x larger > than the other values, which is about the right scaling. > > The size of the others depends on how many packages are managed, > which is an extrinsic quantity that isn't guessable a priori. 16K -> 64K are > about the right range, and conservative. There's likely something else > wrong if you appear to need >64K. > > How did you build rpm? From CVS? rpm-5.4.1 or rpm-5.3.11? > > I downloaded a source tarball for 5.3.4 and installed with the commands below > after installing various ports that appeared to be required. The ports I > installed were popt, beecrypt, pcre, gss, and expat. Some of these ports had > their own dependencies they installed. > You likely want to use the latest "production" rpm-5.3.11 release instead of rpm-5.3.4. The @rpm5.org project does tick,tock monthly releases. > ./configure —with-expat CPPFLAGS="-I/usr/local/include" > LDFLAGS="-L/usr/local/lib" LIBS="-lgss" > gmake > gmake install > > > How many packages do you have? > > > I currently do not have any RPM packages. There are a couple hundred ports > installed, but this should have no bearing on RPM. > OK. In order to use RPM on FreeBSD as an "add-on" you will almost certainly need to supply some dependencies. There are two ways to do this: 1) capture the usual provides (like /bin/sh) in a virtual package and install that first. 2) stub-in dependencies as needed. E.g. you will almost certainly have to provide "/bin/sh" somehow, which can be done like this mkdir -p /etc/rpm/sysinfo echo "/bin/sh" >> /etc/rpm/sysinfo/Providename You are likely to find that the two rules 1) Every file requires its parent directory 2) Every symlink requires its endpoint. to be a bit bothersome as well. Stub those out in /etc/rpm/sysinfo (or what ever path you have chosen) using echo "/usr/bin" >> /etc/rpm/sysinfo/Dirnames echo "/path/to/endpoint" >> /etc/rpm/sysinfo/Filelinktos > > >> I'll include as much info as I can here, but it'll mean the length of this >> mail may be substantial. >> >> The error I receive when I attempt to rpm –qa is: >> > > > >> >> # Locking >> set_lk_max_locks 8000 >> set_lk_max_lockers 8000 >> set_lk_max_objects 8000 >> mutex_set_max 8000 >> > > Try setting "mutex_set_max" to 8 not 8000. > > I changed mutex_set_max to 8 and ran rpm –qa and it did not produce the > original error. Additionally, it appears to have created the __db files in > /var/local/lib/rpm/. This is a good start. > > My next test is to attempt to build an RPM. I am going with a very simple > test, initially, which is to create a new /etc/motd. When I run rpmbuild on > the spec file, I get the following error. Do you have any thoughts on this? > > [root@freebsd /usr/local/src/rpm/SPECS]# rpmbuild -bb > vrsnconfig-FreeBSD-amd64-1.0.spec > Executing(%prep): /bin/sh -e /var/local/tmp/rpm-tmp.447 > + umask 022 > + cd /usr/local/src/rpm/
Re: rpm errors upon running
Hi Jeff…thanks for the reply. See my replies inline. Also, I have an rpmbuild error at the tail of this message. From: Jeff Johnson mailto:n3...@mac.com>> Reply-To: mailto:rpm-users@rpm5.org>> Date: Fri, 17 Jun 2011 19:10:33 -0400 To: mailto:rpm-users@rpm5.org>> Subject: Re: rpm errors upon running On Jun 17, 2011, at 1:43 PM, Miller, Vincent (Rick) wrote: Hi, I have installed RPM5 on FreeBSD 8.2-RELEASE and am now unable to do anything useful with it due to errors. I tried searching the mail archives for similar issues, but only found a reference to DB_CONFIG in reference to initializing a the rpm db. Since this is a brand new install and there were no db files on the host, I figured it might apply. It mentions mmapsize, which is definitely set, but offered no recommendations into calculating what to set it to. I don't know how you installed, but make install from a build SHOULD copy a /var/lib/rpm/DB_CONFIG into place. The DB_CONFIG file is MANDATORY with @rpm5.org. The DB_CONFIG file was put into place and the truss output shows DB_CONFIG being read. The contents (from the rpm-5_3 "production" branch) that pertain to locking tunables are # Locking set_lk_max_locks16384 set_lk_max_lockers 16384 set_lk_max_objects 16384 mutex_set_max 163840 The heuristic (that I use) is that the mutex_set_max should be ~10x larger than the other values, which is about the right scaling. The size of the others depends on how many packages are managed, which is an extrinsic quantity that isn't guessable a priori. 16K -> 64K are about the right range, and conservative. There's likely something else wrong if you appear to need >64K. How did you build rpm? From CVS? rpm-5.4.1 or rpm-5.3.11? I downloaded a source tarball for 5.3.4 and installed with the commands below after installing various ports that appeared to be required. The ports I installed were popt, beecrypt, pcre, gss, and expat. Some of these ports had their own dependencies they installed. ./configure —with-expat CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" LIBS="-lgss" gmake gmake install How many packages do you have? I currently do not have any RPM packages. There are a couple hundred ports installed, but this should have no bearing on RPM. I'll include as much info as I can here, but it'll mean the length of this mail may be substantial. The error I receive when I attempt to rpm –qa is: # Locking set_lk_max_locks 8000 set_lk_max_lockers 8000 set_lk_max_objects 8000 mutex_set_max 8000 Try setting "mutex_set_max" to 8 not 8000. I changed mutex_set_max to 8 and ran rpm –qa and it did not produce the original error. Additionally, it appears to have created the __db files in /var/local/lib/rpm/. This is a good start. My next test is to attempt to build an RPM. I am going with a very simple test, initially, which is to create a new /etc/motd. When I run rpmbuild on the spec file, I get the following error. Do you have any thoughts on this? [root@freebsd /usr/local/src/rpm/SPECS]# rpmbuild -bb vrsnconfig-FreeBSD-amd64-1.0.spec Executing(%prep): /bin/sh -e /var/local/tmp/rpm-tmp.447 + umask 022 + cd /usr/local/src/rpm/BUILD + rm -rf /var/local/tmp/vrsnconfig-FreeBSD-amd64-root + cd /usr/local/src/rpm/BUILD + rm -rf vrsnconfig-FreeBSD-amd64-1.0 + /bin/mkdir -p vrsnconfig-FreeBSD-amd64-1.0 + cd vrsnconfig-FreeBSD-amd64-1.0 + + /usr/bin/gzip/usr/bin/tar -dc -xvvf /usr/local/src/rpm/SOURCES/vrsnconfig-FreeBSD-amd64-1.0.tar.gz - x etc/motd + STATUS=0 + [ 0 -ne 0 ] + exit 0 Executing(%build): /bin/sh -e /var/local/tmp/rpm-tmp.447 + umask 022 + cd /usr/local/src/rpm/BUILD + cd vrsnconfig-FreeBSD-amd64-1.0 + exit 0 Executing(%install): /bin/sh -e /var/local/tmp/rpm-tmp.447 + umask 022 + cd /usr/local/src/rpm/BUILD + /bin/rm -rf /var/local/tmp/vrsnconfig-FreeBSD-amd64-root + /bin/mkdir -p /var/local/tmp/vrsnconfig-FreeBSD-amd64-root + cd vrsnconfig-FreeBSD-amd64-1.0 + mkdir /var/local/tmp/vrsnconfig-FreeBSD-amd64-root/etc + /usr/bin/install -m644 etc/motd /var/local/tmp/vrsnconfig-FreeBSD-amd64-root/etc + exit 0 Processing files: vrsnconfig-FreeBSD-amd64-1.0-1.amd64 error: magic_load(ms, NONE/share/file/magic) failed: could not find any magic files! Assertion failed: (mg != NULL), function rpmfcClassify, file rpmfc.c, line 1154. Abort trap: 6 (core dumped)
Re: rpm errors upon running
On Jun 17, 2011, at 1:43 PM, Miller, Vincent (Rick) wrote: > Hi, > > I have installed RPM5 on FreeBSD 8.2-RELEASE and am now unable to do anything > useful with it due to errors. I tried searching the mail archives for > similar issues, but only found a reference to DB_CONFIG in reference to > initializing a the rpm db. Since this is a brand new install and there were > no db files on the host, I figured it might apply. It mentions mmapsize, > which is definitely set, but offered no recommendations into calculating what > to set it to. > I don't know how you installed, but make install from a build SHOULD copy a /var/lib/rpm/DB_CONFIG into place. The DB_CONFIG file is MANDATORY with @rpm5.org. The contents (from the rpm-5_3 "production" branch) that pertain to locking tunables are # Locking set_lk_max_locks16384 set_lk_max_lockers 16384 set_lk_max_objects 16384 mutex_set_max 163840 The heuristic (that I use) is that the mutex_set_max should be ~10x larger than the other values, which is about the right scaling. The size of the others depends on how many packages are managed, which is an extrinsic quantity that isn't guessable a priori. 16K -> 64K are about the right range, and conservative. There's likely something else wrong if you appear to need >64K. How did you build rpm? From CVS? rpm-5.4.1 or rpm-5.3.11? How many packages do you have? > I'll include as much info as I can here, but it'll mean the length of this > mail may be substantial. > > The error I receive when I attempt to rpm –qa is: > > > # Locking > set_lk_max_locks 8000 > set_lk_max_lockers 8000 > set_lk_max_objects 8000 > mutex_set_max 8000 > Try setting "mutex_set_max" to 8 not 8000. > 73 de Jeff smime.p7s Description: S/MIME cryptographic signature