Re: rpm on OSX Lion

2012-03-23 Thread Jeffrey Johnson

On Mar 23, 2012, at 8:12 PM, Jeffrey Johnson wrote:

> 
> On Mar 23, 2012, at 7:41 PM, Henri Gomez wrote:
> 
>> Hi to all,
>> 
>> I'm a long time rpm user and packager and I'd like to experiment it on
>> OSX (10.7.3) and Xcode 4.3.2.
>> 
> 
> Good.
> 
> 
> 
>> 
>> Did someone succeed to build rpm 5.x on OSX Lion ?
>> Advices more than welcomed.
>> 
> 
> I build the latest rpm-5_4 from CVS on Lion Server using a buildbot here:
>   http://harwich.jbj.org:8010/waterfall
> 
> Both Lion Server (and Leopard) are there in the waterfalls.
> 
> (aside)
> Both are broken atm just because I haven't bothered fixing "bleeding edge" 
> functionality
> on Mac OS X quite yet.
> 

Snipping out embedded perl on Lion mostly resurrected the Lion build
of rpm-5_4. The rpm-5_3 branch builds are dramatically different …


… your build failures are:

   1) not having Berkeley DB installed correctly: RPM releases target
a single version of Berkeley DB, currently db-5.3.15. On Mac OS X
there's one extra hack I do:
cd /opt/local/lib
ln -s db53/* .
because of too little RPM interest on Mac OS X to justify a proper fix
chasing down what is ultimately just a path problem divergence.
If you examine config.h, you will find that Berkeley DB wasn't detected.

2) RPM and POPT are quite intimately connected (I maintain both)
and RPM now (again) is distributed with a version of POPT that
"works" with RPM. Install popt-1.16 like this
cd popt
./configure --prefix=/opt/local
make
make install
and RPM will find. There were also a couple of Mac peculiarities
repaired in POPT in the last 2 months.

3) BeeCrypt is MANDATORY: many of the common digest algorithms
are from BeeCrypt. BeeCrypt is also distributed with RPM because
its mostly an orphan project these days: which is sad because BeeCrypt
is pretty code and is still faster than other choices like 
openssl/nss/gcrypt.

At least mostly: something else needs to be fixed with RPM+PERL on
Lion. *yawn* todo++.

But you should be able to read the logs and figure how to build from
CVS (which is likely easier to fix than builds from tar balls: the rpm-5_4
branch is being released more often than monthly while development is active.

And active development will likely continue through (at least) July.

Resurrecting the Leopard rpm-5_4 build is equally easy if there is interest.

I use the G5 build as a "sanity check" on endianness issues on ppc64 …
there's some issues setting WORDS_BIG_ENDIAN that need to be fixed
for the NIST SHA3 hashes which I will get to as the winner is announced.

hth

73 de Jeff

__
RPM Package Managerhttp://rpm5.org
User Communication List rpm-users@rpm5.org


Re: rpm on OSX Lion

2012-03-23 Thread Jeffrey Johnson

On Mar 23, 2012, at 7:41 PM, Henri Gomez wrote:

> Hi to all,
> 
> I'm a long time rpm user and packager and I'd like to experiment it on
> OSX (10.7.3) and Xcode 4.3.2.
> 

Good.



> 
> Did someone succeed to build rpm 5.x on OSX Lion ?
> Advices more than welcomed.
> 

I build the latest rpm-5_4 from CVS on Lion Server using a buildbot here:
http://harwich.jbj.org:8010/waterfall

Both Lion Server (and Leopard) are there in the waterfalls.

(aside)
Both are broken atm just because I haven't bothered fixing "bleeding edge" 
functionality
on Mac OS X quite yet.

Note that "bleeding edge" is currently attempting to use an embedded
perl interpreter to load a perl-URPM CPAN module that isn't installed.
i.e. no one but me needs/uses this RPM functionality yet.

But there are older successful logs which show the build options in
use and the results of buildbot testing on both Lion and Leopard
(and if you want Snow Leopard or Mountain Lion, I can likely
attempt that too).

The majority of the packages in use are bog standard installs from
MacPorts port(1). There's a few packages (like db-5.3.15) that aren't in 
MacPorts
yet that I build manually.

The really hard part of building RPM is figuring out the build options.
Its not as simple as just doing
./configure --prefix=/opt/local
make
make install

But feel free to make suggestions on what you want to see. I'd love
to see RPM in use on Mac OS X.

hth

73 de Jeff
__
RPM Package Managerhttp://rpm5.org
User Communication List rpm-users@rpm5.org


RPM 5 on OSX Lion

2012-03-23 Thread Henri Gomez
Hi to all,

I'm a long time rpm user and packager and I'd like to experiment it on
OSX (10.7.3) and Xcode 4.3.2.

I first tried to build latest tar ball, 5.3.5 :

- configure works
- make fail

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build
-I../lib -I../lib -I../rpmdb -I../rpmio -I../misc
-I../beecrypt/include -I../beecrypt/include -I../beecrypt
-I../beecrypt -I../pcre -I../pcre -I../db -I../db -I../db/src
-I../db/src -I../scripts -I../scripts -DRPM_OS_DARWIN=110300
-I/opt/local/include -I/opt/local/include -DRPM_OS_DARWIN=110300
-I/opt/local/include -I/opt/local/include -fopenmp -g -O2
-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fstack-protector
-fexceptions -fnested-functions -D_GNU_SOURCE -D_REENTRANT -MT
librpmdb_la-dbconfig.lo -MD -MP -MF .deps/librpmdb_la-dbconfig.Tpo -c
dbconfig.c  -fno-common -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'
./rpmdb.h: In function 'dbiCopen':
./rpmdb.h:589: error: 'struct _dbiIndex' has no member named 'dbi_vec'
./rpmdb.h: In function 'dbiCclose':
./rpmdb.h:604: error: 'struct _dbiIndex' has no member named 'dbi_vec'
./rpmdb.h: In function 'dbiCdup':
./rpmdb.h:620: error: 'struct _dbiIndex' has no member named 'dbi_vec'
...

It seems others got problems with 5.3.5.

Second attempt with 5.3.11 (extracted from src rpm) :

- configure fail :

checking bzlib.h presence... yes
checking for bzlib.h... yes
checking for BZ2_bzread in -lbz2... yes
checking whether to build with GNU BZip2 library... yes (external: implicitly)
checking lzma.h usability... no
checking lzma.h presence... no
checking for lzma.h... no
checking for lzma_auto_decoder in -llzma... no
checking whether to build with XZ libLZMA library... no
checking beecrypt/api.h usability... no
checking beecrypt/api.h presence... no
checking for beecrypt/api.h... no
checking for mpfprintln in -lbeecrypt... no
checking whether to build with BeeCrypt library... no
configure: error: mandatory BeeCrypt library not found

Third try, 5.4.4 :

- configure : works
- make : fail :


libtool: link: gcc -std=gnu99 -dynamiclib  -o .libs/libpopt.0.dylib
.libs/popt.o .libs/poptparse.o .libs/poptconfig.o .libs/popthelp.o
.libs/poptint.o-O2 -Wl,-M -Wl,./libpopt.vers   -install_name
/usr/local/lib/libpopt.0.dylib -compatibility_version 1
-current_version 1.0 -Wl,-single_module
ld: warning: ignoring file ./libpopt.vers, file was built for
unsupported file format which is not the architecture being linked
(x86_64)
Undefined symbols for architecture x86_64:
 "_iconv_open", referenced from:
 _POPT_fprintf in poptint.o
 "_iconv", referenced from:
 _POPT_fprintf in poptint.o
 "_iconv_close", referenced from:
 _POPT_fprintf in poptint.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[4]: *** [libpopt.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Did someone succeed to build rpm 5.x on OSX Lion ?
Advices more than welcomed.

Thanks all
__
RPM Package Managerhttp://rpm5.org
User Communication List rpm-users@rpm5.org


rpm on OSX

2012-03-23 Thread Henri Gomez
Hi to all,

I'm a long time rpm user and packager and I'd like to experiment it on
OSX (10.7.3) and Xcode 4.3.2.

I first tried to build latest tar ball, 5.3.5 :

- configure works
- make fail

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build
-I../lib -I../lib -I../rpmdb -I../rpmio -I../misc
-I../beecrypt/include -I../beecrypt/include -I../beecrypt
-I../beecrypt -I../pcre -I../pcre -I../db -I../db -I../db/src
-I../db/src -I../scripts -I../scripts -DRPM_OS_DARWIN=110300
-I/opt/local/include -I/opt/local/include -DRPM_OS_DARWIN=110300
-I/opt/local/include -I/opt/local/include -fopenmp -g -O2
-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fstack-protector
-fexceptions -fnested-functions -D_GNU_SOURCE -D_REENTRANT -MT
librpmdb_la-dbconfig.lo -MD -MP -MF .deps/librpmdb_la-dbconfig.Tpo -c
dbconfig.c  -fno-common -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'
./rpmdb.h: In function 'dbiCopen':
./rpmdb.h:589: error: 'struct _dbiIndex' has no member named 'dbi_vec'
./rpmdb.h: In function 'dbiCclose':
./rpmdb.h:604: error: 'struct _dbiIndex' has no member named 'dbi_vec'
./rpmdb.h: In function 'dbiCdup':
./rpmdb.h:620: error: 'struct _dbiIndex' has no member named 'dbi_vec'
...

It seems others got problems with 5.3.5.

Second attempt with 5.3.11 (extracted from src rpm) :

- configure fail :

checking bzlib.h presence... yes
checking for bzlib.h... yes
checking for BZ2_bzread in -lbz2... yes
checking whether to build with GNU BZip2 library... yes (external: implicitly)
checking lzma.h usability... no
checking lzma.h presence... no
checking for lzma.h... no
checking for lzma_auto_decoder in -llzma... no
checking whether to build with XZ libLZMA library... no
checking beecrypt/api.h usability... no
checking beecrypt/api.h presence... no
checking for beecrypt/api.h... no
checking for mpfprintln in -lbeecrypt... no
checking whether to build with BeeCrypt library... no
configure: error: mandatory BeeCrypt library not found

Third try, 5.4.4 :

- configure : works
- make : fail :


libtool: link: gcc -std=gnu99 -dynamiclib  -o .libs/libpopt.0.dylib
.libs/popt.o .libs/poptparse.o .libs/poptconfig.o .libs/popthelp.o
.libs/poptint.o-O2 -Wl,-M -Wl,./libpopt.vers   -install_name
/usr/local/lib/libpopt.0.dylib -compatibility_version 1
-current_version 1.0 -Wl,-single_module
ld: warning: ignoring file ./libpopt.vers, file was built for
unsupported file format which is not the architecture being linked
(x86_64)
Undefined symbols for architecture x86_64:
  "_iconv_open", referenced from:
  _POPT_fprintf in poptint.o
  "_iconv", referenced from:
  _POPT_fprintf in poptint.o
  "_iconv_close", referenced from:
  _POPT_fprintf in poptint.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[4]: *** [libpopt.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Did someone succeed to build rpm 5.x on OSX Lion ?
Advices more than welcomed.

Thanks all
__
RPM Package Managerhttp://rpm5.org
User Communication List rpm-users@rpm5.org


rpm on OSX Lion

2012-03-23 Thread Henri Gomez
Hi to all,

I'm a long time rpm user and packager and I'd like to experiment it on
OSX (10.7.3) and Xcode 4.3.2.

I first tried to build latest tar ball, 5.3.5 :

- configure works
- make fail

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build
-I../lib -I../lib -I../rpmdb -I../rpmio -I../misc
-I../beecrypt/include -I../beecrypt/include -I../beecrypt
-I../beecrypt -I../pcre -I../pcre -I../db -I../db -I../db/src
-I../db/src -I../scripts -I../scripts -DRPM_OS_DARWIN=110300
-I/opt/local/include -I/opt/local/include -DRPM_OS_DARWIN=110300
-I/opt/local/include -I/opt/local/include -fopenmp -g -O2
-fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -fstack-protector
-fexceptions -fnested-functions -D_GNU_SOURCE -D_REENTRANT -MT
librpmdb_la-dbconfig.lo -MD -MP -MF .deps/librpmdb_la-dbconfig.Tpo -c
dbconfig.c  -fno-common -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'
./rpmdb.h: In function 'dbiCopen':
./rpmdb.h:589: error: 'struct _dbiIndex' has no member named 'dbi_vec'
./rpmdb.h: In function 'dbiCclose':
./rpmdb.h:604: error: 'struct _dbiIndex' has no member named 'dbi_vec'
./rpmdb.h: In function 'dbiCdup':
./rpmdb.h:620: error: 'struct _dbiIndex' has no member named 'dbi_vec'
...

It seems others got problems with 5.3.5.

Second attempt with 5.3.11 (extracted from src rpm) :

- configure fail :

checking bzlib.h presence... yes
checking for bzlib.h... yes
checking for BZ2_bzread in -lbz2... yes
checking whether to build with GNU BZip2 library... yes (external: implicitly)
checking lzma.h usability... no
checking lzma.h presence... no
checking for lzma.h... no
checking for lzma_auto_decoder in -llzma... no
checking whether to build with XZ libLZMA library... no
checking beecrypt/api.h usability... no
checking beecrypt/api.h presence... no
checking for beecrypt/api.h... no
checking for mpfprintln in -lbeecrypt... no
checking whether to build with BeeCrypt library... no
configure: error: mandatory BeeCrypt library not found

Third try, 5.4.4 :

- configure : works
- make : fail :


libtool: link: gcc -std=gnu99 -dynamiclib  -o .libs/libpopt.0.dylib
.libs/popt.o .libs/poptparse.o .libs/poptconfig.o .libs/popthelp.o
.libs/poptint.o-O2 -Wl,-M -Wl,./libpopt.vers   -install_name
/usr/local/lib/libpopt.0.dylib -compatibility_version 1
-current_version 1.0 -Wl,-single_module
ld: warning: ignoring file ./libpopt.vers, file was built for
unsupported file format which is not the architecture being linked
(x86_64)
Undefined symbols for architecture x86_64:
 "_iconv_open", referenced from:
 _POPT_fprintf in poptint.o
 "_iconv", referenced from:
 _POPT_fprintf in poptint.o
 "_iconv_close", referenced from:
 _POPT_fprintf in poptint.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[4]: *** [libpopt.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Did someone succeed to build rpm 5.x on OSX Lion ?
Advices more than welcomed.

Thanks all
__
RPM Package Managerhttp://rpm5.org
User Communication List rpm-users@rpm5.org