Print

Print


Compilation fails on 32 bit architectures:
```
/builddir/build/BUILD/xrootd-4.9.0/src/XrdMacaroons/XrdMacaroonsHandler.cc: In member function 'int Macaroons::Handler::GenerateMacaroonResponse(XrdHttpExtReq&, const string&, const std::vector<std::__cxx11::basic_string<char> >&, ssize_t, bool)':
/builddir/build/BUILD/xrootd-4.9.0/src/XrdMacaroons/XrdMacaroonsHandler.cc:501:16: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]
         printf("Returned macaroon_serialize code: %lu\n", size_hint);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~
```

Compilation fails on architectures where "char" is unsigned by default (ppc64, ppc64le, arm, aarch64, s390x):
```
/builddir/build/BUILD/xrootd-4.9.0/src/XrdOfs/XrdOfsTPC.cc: In static member function 'static void XrdOfsTPC::Init(XrdOfsTPC::iParm&)':
/builddir/build/BUILD/xrootd-4.9.0/src/XrdOfs/XrdOfsTPC.cc:453:21: error: comparison is always false due to limited range of data type [-Werror=type-limits]
  453 |    if (Parms.Grab   <  0) errMon = Parms.Grab;
      |        ~~~~~~~~~~~~~^~~~
/builddir/build/BUILD/xrootd-4.9.0/src/XrdOfs/XrdOfsTPC.cc:454:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
  454 |    if (Parms.xEcho  >= 0) doEcho = Parms.xEcho != 0;
      |        ~~~~~~~~~~~~~^~~~
/builddir/build/BUILD/xrootd-4.9.0/src/XrdOfs/XrdOfsTPC.cc:455:21: error: comparison is always true due to limited range of data type [-Werror=type-limits]
  455 |    if (Parms.autoRM >= 0) autoRM = Parms.autoRM != 0;
      |        ~~~~~~~~~~~~~^~~~
/builddir/build/BUILD/xrootd-4.9.0/src/XrdOfs/XrdOfsTPC.cc:455:4: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
  455 |    if (Parms.autoRM >= 0) autoRM = Parms.autoRM != 0;
      |    ^~
/builddir/build/BUILD/xrootd-4.9.0/src/XrdOfs/XrdOfsTPC.cc:456:27: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  456 |                           noids  = Parms.oidsOK == 0;
      |                           ^~~~~
```
Linking fails pn ppc64, ppc64le and aarch64:
```
/usr/bin/ld: XrdCl/libXrdCl.so.2.0.0: undefined reference to `aio_read64'
/usr/bin/ld: XrdCl/libXrdCl.so.2.0.0: undefined reference to `aio_fsync64'
/usr/bin/ld: XrdCl/libXrdCl.so.2.0.0: undefined reference to `aio_write64'
/usr/bin/ld: XrdCl/libXrdCl.so.2.0.0: undefined reference to `aio_return64'
collect2: error: ld returned 1 exit status
```

You can view, comment on, or merge this pull request online at:

  https://github.com/xrootd/xrootd/pull/911

-- Commit Summary --

  * Fix compilation errors

-- File Changes --

    M src/XrdCl/CMakeLists.txt (1)
    M src/XrdMacaroons/XrdMacaroonsHandler.cc (2)
    M src/XrdOfs/XrdOfsTPC.hh (8)

-- Patch Links --

https://github.com/xrootd/xrootd/pull/911.patch
https://github.com/xrootd/xrootd/pull/911.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/pull/911

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1