From: <n-...@us...> - 2011-04-22 21:53:11
|
Revision: 5337 http://gfarm.svn.sourceforge.net/gfarm/?rev=5337&view=rev Author: n-soda Date: 2011-04-22 21:53:02 +0000 (Fri, 22 Apr 2011) Log Message: ----------- partially fix #233 (gfarm cannot be compiled on solaris 9 (SunOS 5.9) / sparc), there are still some problems like follows, though: * it seems gfmd doesn't work * regress/lib/libgfarm/gfarm/gfarm_error_to_errno/all_mapped.sh fails * regress/lib/libgfarm/gfarm/gfs_replicate_file_from_to_request/file_busy/file_busy.sh fails * regress/lib/libgfarm/gfarm/gfs_xmlattr/gfs_xmlattr_symlink.sh fails Modified Paths: -------------- gfarm_v2/trunk/configure.ac gfarm_v2/trunk/gftool/config-gfarm/config-gfarm-update.ldap gfarm_v2/trunk/gftool/config-gfarm/config-gfarm.postgresql gfarm_v2/trunk/gftool/config-gfarm/config-gfsd.in gfarm_v2/trunk/gftool/gfjournal/gfjournal.c gfarm_v2/trunk/gftool/gfquota/gfedquota/gfedquota.c gfarm_v2/trunk/gftool/gfxattr/gfxattr.c gfarm_v2/trunk/lib/libgfarm/gfarm/gfp_xdr.c gfarm_v2/trunk/lib/libgfarm/gfarm/gfs_xattr.c gfarm_v2/trunk/lib/libgfarm/gfutil/daemon.c gfarm_v2/trunk/makes/private-file.mk gfarm_v2/trunk/makes/private-subdir.mk gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfm_inode_or_name_op_test/gfm_inode_or_name_op_test.c gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfs_replicate_file_from_to_request/in_progress/Makefile gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfs_xattr/test_gfxattr.c gfarm_v2/trunk/server/gfmd/xattr.c gfarm_v2/trunk/server/gfsd/gfsd.c Modified: gfarm_v2/trunk/configure.ac =================================================================== --- gfarm_v2/trunk/configure.ac 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/configure.ac 2011-04-22 21:53:02 UTC (rev 5337) @@ -121,8 +121,9 @@ *-*-hpux*) AC_TRY_PTHREAD(-D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE,-lpthread,);; *-*-solaris*) + # -D_POSIX_PTHREAD_SEMANTICS is for SUSv2 compliant getpwuid_r() etc. if test x"$GCC" = x"yes"; then - AC_TRY_PTHREAD(-pthread,-pthread,) + AC_TRY_PTHREAD(-pthread -D_POSIX_PTHREAD_SEMANTICS,-pthread,) else AC_TRY_PTHREAD(-mt -D_POSIX_PTHREAD_SEMANTICS,-mt -lpthread,) fi;; @@ -1104,7 +1105,7 @@ ###### Checks for library functions. ###### -AC_CHECK_FUNCS(getdents fdatasync fdopendir poll pread pwrite snprintf getpassphrase mkdtemp setlogin strtoll strtoq setrlimit daemon getloadavg statvfs statfs random getifaddrs) +AC_CHECK_FUNCS(getdents fdatasync fdopendir poll pread pwrite snprintf getpassphrase mkdtemp setlogin strtoll strtoq setrlimit daemon getloadavg statvfs statfs random getifaddrs getopt_long) ### Check epoll_create really implemented Modified: gfarm_v2/trunk/gftool/config-gfarm/config-gfarm-update.ldap =================================================================== --- gfarm_v2/trunk/gftool/config-gfarm/config-gfarm-update.ldap 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/gftool/config-gfarm/config-gfarm-update.ldap 2011-04-22 21:53:02 UTC (rev 5337) @@ -25,7 +25,9 @@ update_ldap() { - if ! cmp -s ${config_dir}/gfarm.schema ${LDAP_SCHEMA}; then + if cmp -s ${config_dir}/gfarm.schema ${LDAP_SCHEMA}; then + : + else echo "${PROGNAME}: copying new schema" if ${START_SERVICE}; then Modified: gfarm_v2/trunk/gftool/config-gfarm/config-gfarm.postgresql =================================================================== --- gfarm_v2/trunk/gftool/config-gfarm/config-gfarm.postgresql 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/gftool/config-gfarm/config-gfarm.postgresql 2011-04-22 21:53:02 UTC (rev 5337) @@ -415,7 +415,7 @@ # wait for postmaster to start up iter=0 - while ! $PGSQL_BINDIR/psql -l >/dev/null 2>&1 + while if $PGSQL_BINDIR/psql -l; then false; else true; fi >/dev/null 2>&1 do iter=\`expr \$iter + 1\` if [ \$iter -gt 6 ]; then Modified: gfarm_v2/trunk/gftool/config-gfarm/config-gfsd.in =================================================================== --- gfarm_v2/trunk/gftool/config-gfarm/config-gfsd.in 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/gftool/config-gfarm/config-gfsd.in 2011-04-22 21:53:02 UTC (rev 5337) @@ -299,7 +299,7 @@ [ X"`ls -ld $SPOOL_DIRECTORY | awk '{print $1}'`" = X"drwx------" ] || chmod 0700 $SPOOL_DIRECTORY || ABORT "chmod 0700 $SPOOL_DIRECTORY, failed" -if [ `id -u` -eq 0 ]; then +if id | grep '^uid=0(' >/dev/null; then chown $spool_owner $SPOOL_DIRECTORY || ABORT "chown $spool_owner $SPOOL_DIRECTORY, failed. User '$spool_owner' is needed" fi Modified: gfarm_v2/trunk/gftool/gfjournal/gfjournal.c =================================================================== --- gfarm_v2/trunk/gftool/gfjournal/gfjournal.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/gftool/gfjournal/gfjournal.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -9,7 +9,7 @@ #include <fcntl.h> #include <assert.h> #include <errno.h> -#include <stdint.h> +#include <inttypes.h> /* more portable than <stdint.h> on UNIX variants */ #include <time.h> #include <sys/types.h> #include <sys/param.h> Modified: gfarm_v2/trunk/gftool/gfquota/gfedquota/gfedquota.c =================================================================== --- gfarm_v2/trunk/gftool/gfquota/gfedquota/gfedquota.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/gftool/gfquota/gfedquota/gfedquota.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -8,12 +8,12 @@ #include <unistd.h> #include <string.h> -#define HAVE_GETOPT_LONG +#include <gfarm/gfarm.h> + #ifdef HAVE_GETOPT_LONG #include <getopt.h> #endif -#include <gfarm/gfarm.h> #include "config.h" #include "gfm_client.h" #include "lookup.h" Modified: gfarm_v2/trunk/gftool/gfxattr/gfxattr.c =================================================================== --- gfarm_v2/trunk/gftool/gfxattr/gfxattr.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/gftool/gfxattr/gfxattr.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -35,6 +35,10 @@ int fd, need_close = 0; int overflow; +#ifdef __GNUC__ /* workaround gcc warning: might be used uninitialized */ + tbuf = NULL; +#endif + if (filename != NULL) { fd = open(filename, O_RDONLY); need_close = 1; Modified: gfarm_v2/trunk/lib/libgfarm/gfarm/gfp_xdr.c =================================================================== --- gfarm_v2/trunk/lib/libgfarm/gfarm/gfp_xdr.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/lib/libgfarm/gfarm/gfp_xdr.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -2,10 +2,11 @@ #include <stdio.h> #include <errno.h> #include <stdarg.h> -#include <stdint.h> +#include <inttypes.h> /* more portable than <stdint.h> on UNIX variants */ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <limits.h> #include <netinet/in.h> /* ntoh[ls]()/hton[ls]() on glibc */ #include <gfarm/gfarm_config.h> #include <gfarm/gflog.h> Modified: gfarm_v2/trunk/lib/libgfarm/gfarm/gfs_xattr.c =================================================================== --- gfarm_v2/trunk/lib/libgfarm/gfarm/gfs_xattr.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/lib/libgfarm/gfarm/gfs_xattr.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -709,6 +709,9 @@ int pathlen, overflow; size_t allocsz; +#ifdef __GNUC__ /* workaround gcc warning: might be used uninitialized */ + p = NULL; +#endif *fpathp = NULL; *namep = NULL; Modified: gfarm_v2/trunk/lib/libgfarm/gfutil/daemon.c =================================================================== --- gfarm_v2/trunk/lib/libgfarm/gfutil/daemon.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/lib/libgfarm/gfutil/daemon.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -1,4 +1,5 @@ #include <gfarm/gfarm_config.h> +#include <errno.h> #include <fcntl.h> #include <stdlib.h> #include <unistd.h> Modified: gfarm_v2/trunk/makes/private-file.mk =================================================================== --- gfarm_v2/trunk/makes/private-file.mk 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/makes/private-file.mk 2011-04-22 21:53:02 UTC (rev 5337) @@ -13,24 +13,22 @@ fi private-src-link: private-dir-link - @if test "x$(PRIVATE_FILES)" != "x"; then \ - for i in $(PRIVATE_FILES); do \ - if test ! -r ./$${i}; then \ - if test -r $(private_dir)/$${i}; then \ - ln -s $(private_dir)/$${i} . ; \ - fi ; \ + for i in -- $(PRIVATE_FILES); do \ + case $$i in --) continue;; esac; \ + if test ! -r ./$${i}; then \ + if test -r $(private_dir)/$${i}; then \ + ln -s $(private_dir)/$${i} . ; \ fi ; \ - done ; \ - fi + fi ; \ + done private-src-unlink: - @if test "x$(PRIVATE_FILES)" != "x"; then \ - for i in $(PRIVATE_FILES); do \ - if test -L ./$${i}; then \ - $(RM) ./$${i} ; \ - fi ; \ - done ; \ - fi + for i in -- $(PRIVATE_FILES); do \ + case $$i in --) continue;; esac; \ + if test -L ./$${i}; then \ + $(RM) ./$${i} ; \ + fi ; \ + done private-initialize: private-src-link private-finalize: private-dir-unlink Modified: gfarm_v2/trunk/makes/private-subdir.mk =================================================================== --- gfarm_v2/trunk/makes/private-subdir.mk 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/makes/private-subdir.mk 2011-04-22 21:53:02 UTC (rev 5337) @@ -3,24 +3,22 @@ tsDir=`(cd $(top_srcdir); /bin/pwd)` ; \ crDir=`/bin/pwd` ; \ tDir=`echo $${crDir} | sed "s:$${tsDir}::"` ; \ - if test "x${PRIVATE_TARGETS}" != "x"; then \ - for i in ${PRIVATE_TARGETS}; do \ - if test ! -d ./$${i}; then \ - mkdir ./$${i}; \ - fi; \ - lndir ${top_private_dir}$${tDir}/$${i} "`/bin/pwd`"/$${i}; \ - done ; \ - fi; \ + for i in -- ${PRIVATE_TARGETS}; do \ + case $$i in --) continue;; esac; \ + if test ! -d ./$${i}; then \ + mkdir ./$${i}; \ + fi; \ + lndir ${top_private_dir}$${tDir}/$${i} "`/bin/pwd`"/$${i}; \ + done ; \ fi private-dir-tree-remove: @if test "x${top_private_dir}" != "x"; then \ - if test "x${PRIVATE_TARGETS}" != "x"; then \ - for i in ${PRIVATE_TARGETS}; do \ - if test -d ./$${i}; then \ - $(RM) -rf ./$${i}; \ - fi ; \ - done ; \ - fi ; \ + for i in -- ${PRIVATE_TARGETS}; do \ + case $$i in --) continue;; esac; \ + if test -d ./$${i}; then \ + $(RM) -rf ./$${i}; \ + fi ; \ + done ; \ fi Modified: gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfm_inode_or_name_op_test/gfm_inode_or_name_op_test.c =================================================================== --- gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfm_inode_or_name_op_test/gfm_inode_or_name_op_test.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfm_inode_or_name_op_test/gfm_inode_or_name_op_test.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -8,6 +8,10 @@ #include <memory.h> #include <limits.h> +#ifndef NAME_MAX /* Solaris 5.9 doesn't define this */ +#define NAME_MAX 1024 +#endif + #define GFARM_INTERNAL_USE #include <gfarm/gfarm.h> #include "config.h" Modified: gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfs_replicate_file_from_to_request/in_progress/Makefile =================================================================== --- gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfs_replicate_file_from_to_request/in_progress/Makefile 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfs_replicate_file_from_to_request/in_progress/Makefile 2011-04-22 21:53:02 UTC (rev 5337) @@ -7,7 +7,7 @@ PROGRAM = in_progress SRCS = $(PROGRAM).c OBJS = $(PROGRAM).o -CFLAGS = $(COMMON_CFLAGS) -I$(GFARMLIB_SRCDIR) +CFLAGS = $(COMMON_CFLAGS) -I$(GFARMLIB_SRCDIR) $(openssl_includes) LDLIBS = $(COMMON_LDLIBS) $(GFARMLIB) $(LIBS) DEPLIBS = $(DEPGFARMLIB) Modified: gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfs_xattr/test_gfxattr.c =================================================================== --- gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfs_xattr/test_gfxattr.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/regress/lib/libgfarm/gfarm/gfs_xattr/test_gfxattr.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -34,6 +34,9 @@ int fd, need_close = 0; int overflow; +#ifdef __GNUC__ /* workaround gcc warning: might be used uninitialized */ + tbuf = NULL; +#endif if (filename != NULL) { fd = open(filename, O_RDONLY); need_close = 1; Modified: gfarm_v2/trunk/server/gfmd/xattr.c =================================================================== --- gfarm_v2/trunk/server/gfmd/xattr.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/server/gfmd/xattr.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -958,6 +958,10 @@ int overflow = 0; char *subpath; +#ifdef __GNUC__ /* workaround gcc warning: might be used uninitialized */ + subpath = NULL; +#endif + pathlen = (parent_path[0] == '\0') ? 0 : (strlen(parent_path) + 1); allocsz = gfarm_size_add(&overflow, pathlen, namelen); allocsz = gfarm_size_add(&overflow, allocsz, 1); Modified: gfarm_v2/trunk/server/gfsd/gfsd.c =================================================================== --- gfarm_v2/trunk/server/gfsd/gfsd.c 2011-04-22 19:46:17 UTC (rev 5336) +++ gfarm_v2/trunk/server/gfsd/gfsd.c 2011-04-22 21:53:02 UTC (rev 5337) @@ -198,7 +198,7 @@ /* send terminate signal to a back channel process */ if (kill(back_channel_gfsd_pid, SIGTERM) == -1 && !sighandler) gflog_warning_errno(GFARM_MSG_1002377, - "kill(%d)", back_channel_gfsd_pid); + "kill(%ld)", (long)back_channel_gfsd_pid); } if (credential_exported != NULL) @@ -308,7 +308,7 @@ fd_send_message(int fd, void *buf, size_t size, int fdc, int *fdv) { char *buffer = buf; - int i, rv; + int rv; struct iovec iov[1]; struct msghdr msg; #ifdef HAVE_MSG_CONTROL /* 4.3BSD Reno or later */ @@ -333,7 +333,6 @@ msg.msg_iovlen = 1; msg.msg_name = NULL; msg.msg_namelen = 0; - msg.msg_flags = 0; #ifndef HAVE_MSG_CONTROL if (fdc > 0) { msg.msg_accrights = (caddr_t)fdv; @@ -343,7 +342,10 @@ msg.msg_accrightslen = 0; } #else /* 4.3BSD Reno or later */ + msg.msg_flags = 0; if (fdc > 0) { + int i; + msg.msg_control = (caddr_t)&cmsg.hdr; msg.msg_controllen = CMSG_SPACE(sizeof(*fdv) * fdc); cmsg.hdr.cmsg_len = CMSG_LEN(sizeof(*fdv) * fdc); @@ -4301,7 +4303,8 @@ sock_dir); } else if (st.st_uid != gfsd_uid) { accepting_fatal(GFARM_MSG_1000576, - "%s: not owned by uid %d", sock_dir, gfsd_uid); + "%s: not owned by uid %ld", + sock_dir, (long)gfsd_uid); } else if ((st.st_mode & PERMISSION_MASK) != LOCAL_SOCKDIR_MODE && chmod(sock_dir, LOCAL_SOCKDIR_MODE) != 0) { accepting_fatal_errno(GFARM_MSG_1000577, @@ -4333,8 +4336,8 @@ sock_name, strerror(save_errno)); } if (chown(sock_name, gfsd_uid, -1) == -1) - gflog_warning_errno(GFARM_MSG_1002202, "chown(%s, %d)", - sock_name, gfsd_uid); + gflog_warning_errno(GFARM_MSG_1002202, "chown(%s, %ld)", + sock_name, (long)gfsd_uid); /* ensure access from all user, Linux at least since 2.4 needs this. */ if (chmod(sock_name, LOCAL_SOCKET_MODE) == -1) gflog_debug_errno(GFARM_MSG_1002390, "chmod(%s, 0%o)", @@ -4703,7 +4706,8 @@ if (geteuid() == 0) gflog_error(GFARM_MSG_1002403, - "seteuid(%d): %s", gfsd_uid, strerror(save_errno)); + "seteuid(%ld): %s", + (long)gfsd_uid, strerror(save_errno)); } /* XXX - kluge for gfrcmd (to mkdir HOME....) for now */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |