[scponly] New scponly Snapshot Release

Frank Fegert fra.nospam.nk at gmx.de
Sat Nov 20 06:44:26 EST 2010


Hello,

thank you very much for the new snapshot!

On Fri, Nov 19, 2010 at 10:56:14PM -0800, Kaleb Pederson wrote:
> I've just released a snapshot that I could use some help testing.  If you are
> in a position that enables you to test, I'd appreciate any feedback you may
> have, good or bad.

I have some issues which are most likely only AIX-/xlC-specific:
  $ cc -qversion
  IBM XL C/C++ for AIX, V10.1
  Version: 10.01.0000.0005

  $ gmake
  cc -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -I. -I. -Wall -pedantic -DHAVE_CONFIG_H -DDEBUGFILE='"/opt/freeware/etc/scponly/debuglevel"' -o scponly.o -c scponly.c
  cc: 1501-210 (S) command option Wall contains an incorrect subargument
  gmake: *** [scponly.o] Error 40

The "-Wall" option is gcc specific, xlC on the other hand uses:
  -w     Suppresses informational, language-level and warning messages.
         Specifying this option is equivalent to specifying -qflag=e:e
         in C or -qflag=s:s in C++.

or better yet:
  -qflag=<listing_severity>:<terminal_severity>
         Defines the minimum severity level of diagnostic messages to
         be written to the listing file and to the user terminal.
         <listing_severity> is the minimum level for the listing file,
         and <terminal_severity> is the minimum level for the terminal.
         The message severity levels are:

         i = informational messages
         w = warning messages
         e = error, severe error and unrecoverable error messages (C only)
         s = severe error and unrecoverable error messages (C)
         s = severe error messages (C++)

         Default: -qflag=i:i

Since the default is already the informational message level and xlC
is much more "pedantic" by default, i'd suggest to drop the "-Wall
-pedantic" alltogether for non-gcc compilers.

The next problem after this is:
  $ gmake
  cc -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -I. -I. -DHAVE_CONFIG_H -DDEBUGFILE='"/opt/freeware/etc/scponly/debuglevel"' -o scponly.o -c scponly.c
  "scponly.h", line 46.1: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
  "scponly.h", line 47.1: 1506-276 (S) Syntax error: possible missing '{'?
  gmake: *** [scponly.o] Error 1

This can be fixed with:
  $ diff -u scponly.h.orig scponly.h
  --- scponly.h.orig  2010-11-20 07:31:33.000000000 +0100
  +++ scponly.h   2010-11-20 12:23:55.000000000 +0100
  @@ -43,8 +43,8 @@
    /*
     * function prototypes
     */
  - inline char *strbeg (char *, char *);
  - inline char *strend (char *, char *);
  + char *strbeg (char *, char *);
  + char *strend (char *, char *);
    int valid_chars(char *);
    int get_uservar(void);
    void show_usage(void);

but i'm not sure if this breakes something which needs the strings to
be defined inline.

Then some warnings, just FYI:
  $ gmake clean
  $ gmake
  cc -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -I. -I. -DHAVE_CONFIG_H -DDEBUGFILE='"/opt/freeware/etc/scponly/debuglevel"' -o scponly.o -c scponly.c
  cc -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -I. -I. -DHAVE_CONFIG_H -DDEBUGFILE='"/opt/freeware/etc/scponly/debuglevel"' -o helper.o -c helper.c
  cc -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -I. -I. -DHAVE_CONFIG_H -DDEBUGFILE='"/opt/freeware/etc/scponly/debuglevel"' -o netbsd_getopt_long.o -c netbsd_getopt_long.c
  "netbsd_getopt_long.c", line 247.48: 1506-280 (W) Function argument assignment between types "const char*" and "int" is not allowed.
  "netbsd_getopt_long.c", line 259.39: 1506-280 (W) Function argument assignment between types "int" and "const char*" is not allowed.
  "netbsd_getopt_long.c", line 259.51: 1506-280 (W) Function argument assignment between types "const char*" and "int" is not allowed.
  "netbsd_getopt_long.c", line 282.47: 1506-280 (W) Function argument assignment between types "int" and "const char*" is not allowed.
  "netbsd_getopt_long.c", line 282.59: 1506-280 (W) Function argument assignment between types "const char*" and "int" is not allowed.
  "netbsd_getopt_long.c", line 373.39: 1506-280 (W) Function argument assignment between types "int" and "const char*" is not allowed.
  "netbsd_getopt_long.c", line 373.46: 1506-280 (W) Function argument assignment between types "const char*" and "int" is not allowed.
  "netbsd_getopt_long.c", line 382.47: 1506-280 (W) Function argument assignment between types "int" and "const char*" is not allowed.
  "netbsd_getopt_long.c", line 382.54: 1506-280 (W) Function argument assignment between types "const char*" and "int" is not allowed.
  "netbsd_getopt_long.c", line 414.47: 1506-280 (W) Function argument assignment between types "int" and "const char*" is not allowed.
  "netbsd_getopt_long.c", line 428.39: 1506-280 (W) Function argument assignment between types "int" and "const char*" is not allowed.
  cc -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -I. -I. -DHAVE_CONFIG_H -DDEBUGFILE='"/opt/freeware/etc/scponly/debuglevel"' -o scponly scponly.o helper.o netbsd_getopt_long.o
  cc -qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -I/opt/freeware/include -I. -I. -DHAVE_CONFIG_H -DDEBUGFILE='"/opt/freeware/etc/scponly/debuglevel"' -o groups groups.c

The install process fails at changing ownership to root:root if one
builds as a non-root user, which is IMHO pretty common for (RPM|deb)
packaging:
  ...
  + gmake DESTDIR=/home/$USER/rpmbuild/rpms/scponly-4.8-instroot install
  echo "0" > debuglevel
  ./install-sh -c -d /home/$USER/rpmbuild/rpms/scponly-4.8-instroot/opt/freeware/bin
  ./install-sh -c -d /home/$USER/rpmbuild/rpms/scponly-4.8-instroot/opt/freeware/man/man8
  ./install-sh -c -d /home/$USER/rpmbuild/rpms/scponly-4.8-instroot/opt/freeware/etc/scponly
  ./install-sh -c -o 0 -g 0 scponly /home/$USER/rpmbuild/rpms/scponly-4.8-instroot/opt/freeware/bin/scponly
  chown: /home/$USER/rpmbuild/rpms/scponly-4.8-instroot/opt/freeware/bin/#inst.9764974#: Operation not permitted.
  gmake: *** [install] Error 1
  Bad exit status from /home/$USER/rpmbuild/rpms/rpm-tmp.3464 (%install)

Now i'm off to do some actual functionality testing ;-)

HTH & best regards,

    Frank



More information about the scponly mailing list