[torquedev] torquedev Digest, Vol 71, Issue 7

Alan Wild alan at madllama.net
Mon Oct 31 07:38:41 MDT 2011


Disappoointed to see that TORQUE 2.5.9 is still behaving like 2.5.8...
aparantley my (totally trivial) patch hasn't been looked at yet.

Here's an updated one against torque-2.5.9-snap.201110240923

--- configure.ac.old    2011-10-31 07:43:38.868344000 -0500
+++ configure.ac        2011-10-31 07:44:03.099929000 -0500
@@ -1069,6 +1069,7 @@
   #include <sys/ucred.h>
   #endif
   #ifdef HAVE_SYS_SOCKET_H
+  #define _GNU_SOURCE 1
   #include <sys/socket.h>
   #endif
   #ifdef HAVE_SYS_UN_H

Since this is patching configure.ac.... someone would also need to re-run
autoconf  before building a release.

Not clear if this is the "right" fix or not.  The problem I'm trying to
solve is the configure script tests for CMSG_SPACE which, in turn, affects
whether UNIX Domain Socket support is turned on by default.  On older
versions of Glibc this test works just fine... howevert, because of changes
in glibc, the current tests fails with a compile error... which
disables Unix Domain Socket support by default. (whereas previously it was
enabled by default).

The "-D_GNU_SOURCE" fix that went into 2.5.8 allows Torque to build cleanly
when you explicitly request Unix Domain Socket support, but the patch
failed to take into account the test that is performed by configure.  The
itself isn't using the flag so the test always fails.  I'll include an
excerpt from an unpactched config.log below.  You'll clearly see where the
test is failing on a build error... and it's because the ucred struct is
#ifdef'd out before a _GNU_SOURCE flag.

Passing -D_GNU_SOURCE also must be used by the configure tests.  My patch
does this for the one place where I know this is relevant.


-Alan

configure:24404: checking for CMSG_SPACE
configure:24434: gcc -c -g -O2 -D_LARGEFILE64_SOURCE  conftest.c >&5
conftest.c: In function 'main':
conftest.c:89: error: invalid application of 'sizeof' to incomplete type
'struct ucred'
configure:24440: $? = 1
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME "torque"
| #define PACKAGE_TARNAME "torque"
| #define PACKAGE_VERSION "2.5.9-snap.201110240923"
| #define PACKAGE_STRING "torque 2.5.9"
| #define PACKAGE_BUGREPORT "torqueusers at supercluster.org"
| #define PACKAGE "torque"
| #define VERSION "2.5.9-snap.201110240923"
| #define PBS_MACH "linux"
| #define MACH_RESC_DEFS "resc_def_linux.c"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #ifdef __cplusplus
| extern "C" void exit (int) throw ();
| #endif
| #define YYTEXT_POINTER 1
| #define HAVE_STAT64 1
| #define HAVE_OPEN64 1
| #define HAVE_LSEEK64 1
| #define HAVE_STRUCT_STAT64 1
| #define LARGEFILE_WORKS 1
| #define HAVE_DIRENT_H 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_FLOAT_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_MALLOC_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_STDDEF_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_MOUNT_H 1
| #define HAVE_SYS_VFS_H 1
| #define HAVE_SYS_STATFS_H 1
| #define HAVE_SYS_STATVFS_H 1
| #define HAVE_SYS_UN_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_READLINE_READLINE_H 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_ERR_H 1
| #define HAVE_SYS_POLL_H 1
| #define SRFS 0
| #define IBM_SP2 0
| #define MOM_CHECKPOINT 0
| #define SCHD_TYPE "cc"
| #define RPP 1
| #define TDISABLEFILESYNC 1
| #define PLOCK_DAEMONS 0
| #define SYSLOG 1
| #define SHELL_INVOKE 1
| #define NO_SPOOL_OUTPUT 0
| #define SHELL_USE_ARGV 0
| #define MOMCHECKLOCALSPOOL 1
| #define TMP_DIR "/tmp"
| #define MOM_FORCENODEFILE 0
| /* end confdefs.h.  */
|
|   #ifdef HAVE_SYS_UCRED_H
|   #include <sys/ucred.h>
|   #endif
|   #ifdef HAVE_SYS_SOCKET_H
|   #include <sys/socket.h>
|   #endif
|   #ifdef HAVE_SYS_UN_H
|   #include <sys/un.h>
|   #endif
|   #include <stdlib.h>
|
| int
| main ()
| {
| exit(CMSG_SPACE(sizeof(struct ucred)));
|   ;
|   return 0;
| }
configure:24462: result: no
configure:24465: checking if enabling Unix Domain socket supprt
configure:24490: result: no


On Mon, Oct 31, 2011 at 4:24 AM, <torquedev-request at supercluster.org> wrote:

> Date: Mon, 24 Oct 2011 09:29:31 -0600 (MDT)
> From: Ken Nielson <knielson at adaptivecomputing.com>
> Subject: [torquedev] 2.5.9 snapshot available
> To: Torque Users Mailing List <torqueusers at supercluster.org>,   Torque
>        Developers mailing list <torquedev at supercluster.org>
> Message-ID: <02103367-0447-4c9b-9bc9-27558a7fab36 at mail>
> Content-Type: text/plain; charset=utf-8
>
> Hi all,
>
> There is a TORQUE snapshot available to try. This snapshot fixes a problem
> with PAM modules where getpwnam_ext could not be resolved.
>
> It also fixes a problem with job array dependencies where afteranyarray
> and afterokarry would not allow jobs to run when the dependency was
> satisfied on the array.
>
> The file can be downloaded from
> http://www.clusterresources.com/downloads/torque/snapshots/torque-2.5.9-snap.201110240923.tar.gz
>
> Please download this and try it. Let us know if it does not fix the
> problems described above or if it gives you any other problems.
>
> Regards
>
> Ken Nielson
> Adaptive Computing
>
-- 
alan at madllama.net http://humbleville.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.supercluster.org/pipermail/torquedev/attachments/20111031/ad30a3f2/attachment.html 


More information about the torquedev mailing list