zopencommunity / rsyncport

A file synchronization utility
Apache License 2.0
0 stars 1 forks source link

Current binary build doesn't work #7

Open ccw-1 opened 1 year ago

ccw-1 commented 1 year ago
#./rsync
11.05.17 STC03686  IEW4000I FETCH FOR MODULE rsync    FROM DDNAME --HFS--- FAILED BECAUSE INSUFFICIENT STORAGE WAS AVAILABLE.
11.05.17 STC03686  CSV034I PGMF FETCH FAILED FOR THE REQUESTED MODULE.  696
   696                     RETURN CODE 14, REASON CODE 26110021
   696                     PATHNAME = ./rsync
11.05.17 STC03686  CSV028I ABENDE06-0040  JOBNAME=CCW3      STEPNAME=*OMVSEX
11.05.17 STC03686  IEA995I SYMPTOM DUMP OUTPUT  698
   698             SYSTEM COMPLETION CODE=E06  REASON CODE=00000040
   698              TIME=11.05.17  SEQ=00412  CPU=0000  ASID=005E
   698              PSW AT TIME OF ERROR  070C1000   8125D7CA  ILC 2  INTC 0D
   698                NO ACTIVE MODULE FOUND
   698                NAME=UNKNOWN
   698                DATA AT PSW  0125D7C4 - 8400181E  0A0D18FB  180C181D
   698                GR 0: 00002000   1: 84E06000
   698                   2: 00000000   3: 00000000
   698                   4: 00000000   5: 00000000
   698                   6: 000000FF   7: 00000000
   698                   8: 7F4F0990   9: 0125DCF0
   698                   A: 00000000   B: 00000000
   698                   C: 00000000   D: 7F4F0990
   698                   E: 84E06000   F: 00000040
   698              END OF SYMPTOM DUMP
11.05.17 STC03686  BPXP018I THREAD 0F25C00000000001, IN PROCESS 1513, ENDED  699
   699             WITHOUT BEING UNDUBBED WITH COMPLETION CODE 84E06000
   699             , AND REASON CODE 00000040.
SIGKILL
MikeFultonDev commented 1 year ago

@ccw-1 this works for me. Are you sourcing .env first?

FULTONM@ZOSCAN2B bash ~/zopen/dev >cd ../prod/rsync/
FULTONM@ZOSCAN2B bash ~/zopen/prod/rsync >. ./.env
FULTONM@ZOSCAN2B bash ~/zopen/prod/rsync >cd bin
FULTONM@ZOSCAN2B bash ~/zopen/prod/rsync/bin >./rsync
rsync  version 3.2.7-7-g53749940  protocol version 31
Copyright (C) 1996-2022 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
Capabilities:
    64-bit files, 32-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, symlinks, no symtimes, hardlinks, hardlink-specials,
    no hardlink-symlinks, no IPv6, atimes, batchfiles, inplace, append,
    no ACLs, no xattrs, optional secluded-args, iconv, no prealloc, stop-at,
    no crtimes
Optimizations:
    no SIMD-roll, no asm-roll, openssl-crypto, no asm-MD5
Checksum list:
    xxh128 xxh3 xxh64 (xxhash) md5 md4 sha1 none
Compress list:
    zstd lz4 zlibx zlib none
Daemon auth list:
    sha512 sha256 sha1 md5 md4

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

rsync is a file transfer program capable of efficient remote update
via a fast differencing algorithm.

Usage: rsync [OPTION]... SRC [SRC]... DEST
  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
  or   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
  or   rsync [OPTION]... [USER@]HOST:SRC [DEST]
  or   rsync [OPTION]... [USER@]HOST::SRC [DEST]
  or   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
The ':' usages connect via remote shell, while '::' & 'rsync://' usages connect
to an rsync daemon, and require SRC or DEST to start with a module name.

Options
--verbose, -v            increase verbosity
--info=FLAGS             fine-grained informational verbosity
--debug=FLAGS            fine-grained debug verbosity
--stderr=e|a|c           change stderr output mode (default: errors)
--quiet, -q              suppress non-error messages
--no-motd                suppress daemon-mode MOTD
--checksum, -c           skip based on checksum, not mod-time & size
--archive, -a            archive mode is -rlptgoD (no -A,-X,-U,-N,-H)
--no-OPTION              turn off an implied OPTION (e.g. --no-D)
--recursive, -r          recurse into directories
--relative, -R           use relative path names
--no-implied-dirs        don't send implied dirs with --relative
--backup, -b             make backups (see --suffix & --backup-dir)
--backup-dir=DIR         make backups into hierarchy based in DIR
--suffix=SUFFIX          backup suffix (default ~ w/o --backup-dir)
--update, -u             skip files that are newer on the receiver
--inplace                update destination files in-place
--append                 append data onto shorter files
--append-verify          --append w/old data in file checksum
--dirs, -d               transfer directories without recursing
--old-dirs, --old-d      works like --dirs when talking to old rsync
--mkpath                 create destination's missing path components
--links, -l              copy symlinks as symlinks
--copy-links, -L         transform symlink into referent file/dir
--copy-unsafe-links      only "unsafe" symlinks are transformed
--safe-links             ignore symlinks that point outside the tree
--munge-links            munge symlinks to make them safe & unusable
--copy-dirlinks, -k      transform symlink to dir into referent dir
--keep-dirlinks, -K      treat symlinked dir on receiver as dir
--hard-links, -H         preserve hard links
--perms, -p              preserve permissions
--executability, -E      preserve executability
--chmod=CHMOD            affect file and/or directory permissions
--acls, -A               preserve ACLs (implies --perms)
--xattrs, -X             preserve extended attributes
--owner, -o              preserve owner (super-user only)
--group, -g              preserve group
--devices                preserve device files (super-user only)
--copy-devices           copy device contents as a regular file
--write-devices          write to devices as files (implies --inplace)
--specials               preserve special files
-D                       same as --devices --specials
--times, -t              preserve modification times
--atimes, -U             preserve access (use) times
--open-noatime           avoid changing the atime on opened files
--crtimes, -N            preserve create times (newness)
--omit-dir-times, -O     omit directories from --times
--omit-link-times, -J    omit symlinks from --times
--super                  receiver attempts super-user activities
--fake-super             store/recover privileged attrs using xattrs
--sparse, -S             turn sequences of nulls into sparse blocks
--preallocate            allocate dest files before writing them
--dry-run, -n            perform a trial run with no changes made
--whole-file, -W         copy files whole (w/o delta-xfer algorithm)
--checksum-choice=STR    choose the checksum algorithm (aka --cc)
--one-file-system, -x    don't cross filesystem boundaries
--block-size=SIZE, -B    force a fixed checksum block-size
--rsh=COMMAND, -e        specify the remote shell to use
--rsync-path=PROGRAM     specify the rsync to run on remote machine
--existing               skip creating new files on receiver
--ignore-existing        skip updating files that exist on receiver
--remove-source-files    sender removes synchronized files (non-dir)
--del                    an alias for --delete-during
--delete                 delete extraneous files from dest dirs
--delete-before          receiver deletes before xfer, not during
--delete-during          receiver deletes during the transfer
--delete-delay           find deletions during, delete after
--delete-after           receiver deletes after transfer, not during
--delete-excluded        also delete excluded files from dest dirs
--ignore-missing-args    ignore missing source args without error
--delete-missing-args    delete missing source args from destination
--ignore-errors          delete even if there are I/O errors
--force                  force deletion of dirs even if not empty
--max-delete=NUM         don't delete more than NUM files
--max-size=SIZE          don't transfer any file larger than SIZE
--min-size=SIZE          don't transfer any file smaller than SIZE
--max-alloc=SIZE         change a limit relating to memory alloc
--partial                keep partially transferred files
--partial-dir=DIR        put a partially transferred file into DIR
--delay-updates          put all updated files into place at end
--prune-empty-dirs, -m   prune empty directory chains from file-list
--numeric-ids            don't map uid/gid values by user/group name
--usermap=STRING         custom username mapping
--groupmap=STRING        custom groupname mapping
--chown=USER:GROUP       simple username/groupname mapping
--timeout=SECONDS        set I/O timeout in seconds
--contimeout=SECONDS     set daemon connection timeout in seconds
--ignore-times, -I       don't skip files that match size and time
--size-only              skip files that match in size
--modify-window=NUM, -@  set the accuracy for mod-time comparisons
--temp-dir=DIR, -T       create temporary files in directory DIR
--fuzzy, -y              find similar file for basis if no dest file
--compare-dest=DIR       also compare destination files relative to DIR
--copy-dest=DIR          ... and include copies of unchanged files
--link-dest=DIR          hardlink to files in DIR when unchanged
--compress, -z           compress file data during the transfer
--compress-choice=STR    choose the compression algorithm (aka --zc)
--compress-level=NUM     explicitly set compression level (aka --zl)
--skip-compress=LIST     skip compressing files with suffix in LIST
--cvs-exclude, -C        auto-ignore files in the same way CVS does
--filter=RULE, -f        add a file-filtering RULE
-F                       same as --filter='dir-merge /.rsync-filter'
                         repeated: --filter='- .rsync-filter'
--exclude=PATTERN        exclude files matching PATTERN
--exclude-from=FILE      read exclude patterns from FILE
--include=PATTERN        don't exclude files matching PATTERN
--include-from=FILE      read include patterns from FILE
--files-from=FILE        read list of source-file names from FILE
--from0, -0              all *-from/filter files are delimited by 0s
--old-args               disable the modern arg-protection idiom
--secluded-args, -s      use the protocol to safely send the args
--trust-sender           trust the remote sender's file list
--copy-as=USER[:GROUP]   specify user & optional group for the copy
--address=ADDRESS        bind address for outgoing socket to daemon
--port=PORT              specify double-colon alternate port number
--sockopts=OPTIONS       specify custom TCP options
--blocking-io            use blocking I/O for the remote shell
--outbuf=N|L|B           set out buffering to None, Line, or Block
--stats                  give some file-transfer stats
--8-bit-output, -8       leave high-bit chars unescaped in output
--human-readable, -h     output numbers in a human-readable format
--progress               show progress during transfer
-P                       same as --partial --progress
--itemize-changes, -i    output a change-summary for all updates
--remote-option=OPT, -M  send OPTION to the remote side only
--out-format=FORMAT      output updates using the specified FORMAT
--log-file=FILE          log what we're doing to the specified FILE
--log-file-format=FMT    log updates using the specified FMT
--password-file=FILE     read daemon-access password from FILE
--early-input=FILE       use FILE for daemon's early exec input
--list-only              list the files instead of copying them
--bwlimit=RATE           limit socket I/O bandwidth
--stop-after=MINS        Stop rsync after MINS minutes have elapsed
--stop-at=y-m-dTh:m      Stop rsync at the specified point in time
--fsync                  fsync every written file
--write-batch=FILE       write a batched update to FILE
--only-write-batch=FILE  like --write-batch but w/o updating dest
--read-batch=FILE        read a batched update from FILE
--protocol=NUM           force an older protocol version to be used
--iconv=CONVERT_SPEC     request charset conversion of filenames
--checksum-seed=NUM      set block/file checksum seed (advanced)
--ipv4, -4               prefer IPv4
--ipv6, -6               prefer IPv6
--version, -V            print the version + other info and exit
--help, -h (*)           show this help (* -h is help only on its own)

Use "rsync --daemon --help" to see the daemon-mode command-line options.
Please see the rsync(1) and rsyncd.conf(5) manpages for full documentation.
See https://rsync.samba.org/ for updates, bug reports, and answers
rsync error: syntax or usage error (code 1) at main.c(1776) [client=3.2.7-7-g53749940]
ccw-1 commented 1 year ago

I did source .env

#. .env

#bin/rsync
13.30.12 STC06460  IEW4000I FETCH FOR MODULE rsync    FROM DDNAME --HFS--- FAILED BECAUSE INSUFFICIENT STORAGE WAS AVAILABLE.
13.30.12 STC06460  CSV034I PGMF FETCH FAILED FOR THE REQUESTED MODULE.  893
   893                     RETURN CODE 14, REASON CODE 26110021
   893                     PATHNAME = bin/rsync
13.30.12 STC06460  CSV028I ABENDE06-0040  JOBNAME=CCW4      STEPNAME=*OMVSEX
13.30.12 STC06460  IEA995I SYMPTOM DUMP OUTPUT  895
   895             SYSTEM COMPLETION CODE=E06  REASON CODE=00000040
   895              TIME=13.30.12  SEQ=17505  CPU=0000  ASID=010B
   895              PSW AT TIME OF ERROR  070C1000   8125D7CA  ILC 2  INTC 0D
   895                NO ACTIVE MODULE FOUND
   895                NAME=UNKNOWN
   895                DATA AT PSW  0125D7C4 - 8400181E  0A0D18FB  180C181D
   895                GR 0: 00002000   1: 84E06000
   895                   2: 00000000   3: 00000000
   895                   4: 00000000   5: 00000000
   895                   6: 000000FF   7: 00000000
   895                   8: 7F4CF990   9: 0125DCF0
   895                   A: 00000000   B: 00000000
   895                   C: 00000000   D: 7F4CF990
   895                   E: 84E06000   F: 00000040
   895              END OF SYMPTOM DUMP
13.30.12 STC06460  BPXP018I THREAD 0F57680000000001, IN PROCESS 83889262, ENDED  896
   896             WITHOUT BEING UNDUBBED WITH COMPLETION CODE 84E06000
   896             , AND REASON CODE 00000040.
Killed
ccw-1 commented 1 year ago

By the way, we cannot/should not require users to run .env, because usually one invokes rsync from remote like rsync -vzaP --rsync-path=/home/zoslocation/rsync -e "ssh -p 22 -q" localhostdir/ id@remotez:remotedir/

so rsync must be able to establish its own environment by itself.

MikeFultonDev commented 1 year ago

Agreed. I just only have download capabilities of rsync running so far.

MikeFultonDev commented 1 year ago

Maybe I need to get an account on your system to see what is different. How would I do that?

ccw-1 commented 1 year ago

It seems it works on 2.4 (zoscan2b) not on 2.5 systems (59 and 56)

MikeFultonDev commented 1 year ago

thanks for the update! I wonder if the CXXRT64 bind trick we do is causing a problem. I'll need to get a 2.5 system unless you are able to investigate? First thing would be to rebind without that patch to eliminate the RTFM errors from unimplemented C functions (i think that's in zoslib @IgorTodorovskiIBM )?

ccw-1 commented 1 year ago

There is a way to check unimplemented C functions. We have that in Go.

IgorTodorovskiIBM commented 1 year ago

We may just need to rebuild, curl had a similar issue late last year which was addressed in zoslib and I see that rsync was last built in November.

MikeFultonDev commented 1 year ago

probably a good first step. but the same binary needs to work for both 2.4 and 2.5