[torqueusers] Torque rpm build headaches

Michael Jennings mej at lbl.gov
Mon Sep 12 16:03:04 MDT 2011


On Monday, 12 September 2011, at 20:19:01 (+0000),
Trutwin, Joshua wrote:

> Hi - I just setup torque for a single compute node (currently).  I'm
> having some trouble with the make rpm command passing all my
> configure params to the rpmbuild.

Its goal is not to pass *all* your configure parameters to the
rpmbuild process because doing so does not make sense.  At present, it
only passes those arguments for which the spec file has conditional
build support or macro variables in it.  This includes things like
DRMAA, SCP, syslog, PAM, and (as you saw) the server name and path.
RPP is not currently supported, but I hope to add support for more
conditionals as time progresses.

That said, since I don't use a lot of the conditionals torque
supports, I can't test many of them.  Thus, community contributions in
the way of patches are most appreciated.  :-)

> The --with-default-server was passed but not the --disable-rpp or
> --prefix=/opt/torque-2.5.8.  And --disable-gui is passed in even
> though it's enabled when running the ./configure on it's own.

Unfortunately "gui" is not one of those yet supported by "make rpm"
and is disabled by default in the spec, which explains the behavior
you saw.  You're right; this does need to be fixed.

> I can get around these by running:  
> 
> make RPMOPTS="--with gui --without rpp" rpm
> 
> I can't seem to change the prefix this way though, so what I do here is open torque.spec and add this line:
> 
> %define _prefix /opt/torque-2.5.8
> 
> Which gets wiped out if I reconfigure.

Did you try:

make RPMOPTS="--with gui --without rpp --define '_prefix /opt/torque-2.5.8'" rpm

> Unfortunately with this though now it's picking a nonexistent
> sendmail so I added -with-sendmail=/usr/sbin/sendmail to configure
> the sendmail path but it still uses /opt/torque-2.5.8/sbin/sendmail
> so I have to add a symlink here after installing the rpms...

This, too, can be specified in RPMOPTS as "--define 'sendmail_path /usr/sbin/sendmail'"

> Can this be simplified at all so it works like it says it should
> from the INSTALL doc please:
> 
>   TORQUE has built-in support for making RPMs. After running
>   ./configure with all desired options, 'make rpm' should create a
>   set of binary RPMs that match your configuration.
> 
> I take "match your configuration" to mean that it'll keep all my
> original ./configure options.

Certain things are not currently supported because I am unable to test
or haven't had time to support them all.  Some are legitimate bugs.
And some things aren't supported because they aren't standard practice
and/or are generally unwise.  Replicating the GNU configure prefix
(default /usr/local) to the RPM prefix (default determined by build
host RPM configuration, usually /usr) by default is one of those
things that falls into the latter category and should only be done
explicitly and with sufficient care and forethought.  :-)

It should NEVER keep "all original ./configure options" because this
would create unmaintainable messes (as has been seen previously).  But
hopefully over time the RPMOPTS mechanism can become more featureful
to allow greater site-specific customizations of built packages
without the previous problems with information leakage.

HTH,
Michael

-- 
Michael Jennings <mej at lbl.gov>
Linux Systems and Cluster Engineer
High-Performance Computing Services
Bldg 50B-3209E      W: 510-495-2687
MS 050C-3396        F: 510-486-8615


More information about the torqueusers mailing list