RPM Community Forums

Mailing List Message of <rpm-users>

A few notes about compiling under Solaris 10

From: Joshua Burns <joshuaburns@yahoo.com>
Date: Fri 04 Dec 2009 - 23:33:40 CET
Message-ID: <660248.72752.qm@web52904.mail.re2.yahoo.com>

This is primarily for the benefit of anyone who is attempting/planning on using 5.x RPM on Solaris 10. I can probably supply diffs if people are interested - this is mostly high-level. 

I have been warned by the yum folks that 5.x is a fork and "may not be compatible" with the RHEL fork, but scriptlets are br0ken in that fork (a serious problem for us), and I have been unable to find a version where they work. Fortunately, Yum seems to work fine right now with 5.1.9. 

Here are my notes, in no particular order. 

1) Set LIBS='-lssl -lcrypto', else linker does not correctly identify openssl and libcrypto symbols needed by libneon and libneon configuration fails during ./configure (configure completes without libneon, but warns that the config is unsupported). 

2) manually added limits.h to <buildroot>/system.h, else a number of system defines fail during build. There is an #ifdef in there - not sure why the ifdef doesn't work. 

3) rpmio/glob.c, changed "NAME_MAX" reference manually to 14. For some reason this was unable to be defined during the build. 

4) tools/rpmmtree.c required lots of redacting - the !defined(HAVE_[GET|SET]MODE) does not work for some reason (solaris does not have get|setmode), and the build fails. I can provide a diff, but I'm confident that there is probably a more elegant solution than my hacking (lots of commenting). 

5) specific to our environment, needed to customize the build to the instruct the linker regarding library locations because of a runtime linking collision with the version of lbipopt that ships with Solaris. 

Again, great job, just throwing this out there in case it is useful for anyone. 


Received on Fri Dec 4 23:33:57 2009
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.