Debian Bug report logs - #854536
Dpkg::Shlibs::Objdump: Cope more gracefully with non-ELF files

version graph

Package: libdpkg-perl; Maintainer for libdpkg-perl is Dpkg Developers <debian-dpkg@lists.debian.org>; Source for libdpkg-perl is src:dpkg (PTS, buildd, popcon).

Reported by: Chris Lamb <lamby@debian.org>

Date: Tue, 7 Feb 2017 20:51:02 UTC

Severity: important

Tags: patch, sid, stretch

Fixed in version dpkg/1.18.23

Done: Guillem Jover <guillem@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, reproducible-bugs@lists.alioth.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#854512; Package src:ftpcopy. (Tue, 07 Feb 2017 20:51:04 GMT) (full text, mbox, link).


Acknowledgement sent to Chris Lamb <lamby@debian.org>:
New Bug report received and forwarded. Copy sent to reproducible-bugs@lists.alioth.debian.org, Gerrit Pape <pape@smarden.org>. (Tue, 07 Feb 2017 20:51:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Chris Lamb <lamby@debian.org>
To: submit@bugs.debian.org
Subject: ftpcopy: FTBFS: dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp
Date: Wed, 08 Feb 2017 09:46:52 +1300
[Message part 1 (text/plain, inline)]
Source: ftpcopy
Version: 0.6.7-3
Severity: serious
Justification: fails to build from source
User: reproducible-builds@lists.alioth.debian.org
Usertags: ftbfs
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

Dear Maintainer,

ftpcopy fails to build from source in unstable/amd64:

  […]

  In file included from socket_conn64.c:4:0:
  socket_conn64.c: In function 'socket_connect64':
  byte.h:15:47: warning: pointer targets in passing argument 3 of 'byte_diff' differ in signedness [-Wpointer-sign]
   #define byte_equal(s,n,t) (!byte_diff((s),(n),(t)))
                                                 ^
  ip6.h:23:29: note: in expansion of macro 'byte_equal'
   #define ip6_isv4mapped(ip) (byte_equal(ip,12,V4mappedprefix))
                               ^~~~~~~~~~
  socket_conn64.c:19:7: note: in expansion of macro 'ip6_isv4mapped'
     if (ip6_isv4mapped(ip))
         ^~~~~~~~~~~~~~
  byte.h:12:5: note: expected 'const char *' but argument is of type 'const unsigned char *'
   int byte_diff(const char *s,unsigned int n,const char *t);
       ^~~~~~~~~
  byte.h:15:47: warning: pointer targets in passing argument 3 of 'byte_diff' differ in signedness [-Wpointer-sign]
   #define byte_equal(s,n,t) (!byte_diff((s),(n),(t)))
                                                 ^
  socket_conn64.c:22:7: note: in expansion of macro 'byte_equal'
     if (byte_equal(ip,16,V6loopback))
         ^~~~~~~~~~
  byte.h:12:5: note: expected 'const char *' but argument is of type 'const unsigned char *'
   int byte_diff(const char *s,unsigned int n,const char *t);
       ^~~~~~~~~
  socket_conn64.c:23:30: warning: pointer targets in passing argument 2 of 'socket_connect4' differ in signedness [-Wpointer-sign]
       return socket_connect4(s,V4loopback,port);
                                ^~~~~~~~~~
  In file included from socket_conn64.c:5:0:
  socket.h:15:5: note: expected 'const char *' but argument is of type 'const unsigned char *'
   int socket_connect4 (int fd, const char *ip, uo_uint16_t port);
       ^~~~~~~~~~~~~~~
  ./auto-compilew.sh  -c socket_connt.c
  ./auto-compilew.sh  -c socket_family.c
  socket_family.c: In function 'socket_family':
  socket_family.c:14:51: warning: pointer targets in passing argument 3 of 'getsockname' differ in signedness [-Wpointer-sign]
     if (-1!=getsockname(fd,(struct sockaddr *) &sa6,&dummy)) {
                                                     ^
  In file included from socket_family.c:2:0:
  /usr/include/x86_64-linux-gnu/sys/socket.h:127:12: note: expected 'socklen_t * restrict {aka unsigned int * restrict}' but argument is of type 'int *'
   extern int getsockname (int __fd, __SOCKADDR_ARG __addr,
              ^~~~~~~~~~~
  socket_family.c:23:51: warning: pointer targets in passing argument 3 of 'getsockname' differ in signedness [-Wpointer-sign]
     if (-1==getsockname(fd,(struct sockaddr *) &sa4,&dummy))
                                                     ^
  In file included from socket_family.c:2:0:
  /usr/include/x86_64-linux-gnu/sys/socket.h:127:12: note: expected 'socklen_t * restrict {aka unsigned int * restrict}' but argument is of type 'int *'
   extern int getsockname (int __fd, __SOCKADDR_ARG __addr,
              ^~~~~~~~~~~
  ./auto-compilew.sh  -c socket_flag.c
  ./auto-compilew.sh  -c socket_gifid.c
  ./auto-compilew.sh  -c socket_gifna.c
  ./auto-compilew.sh  -c socket_htons.c
  socket_htons.c: In function 'socket_htons':
  socket_htons.c:10:19: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
    unsigned char *p=(char *)nport;
                     ^
  ./auto-compilew.sh  -c socket_ntohs.c
  socket_ntohs.c: In function 'socket_ntohs':
  socket_ntohs.c:10:19: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
    unsigned char *p=(char *)&nport;
                     ^
  ./auto-compilew.sh  -c socket_remote6.c
  ./auto-compilew.sh  -c socket_tcp.c
  ./auto-compilew.sh  -c socket_tcp6.c
  ./auto-compilew.sh  -c socket_tcp64.c
  ./auto-compilew.sh  -c socket_udp.c
  ./auto-compilew.sh  -c socket_udp6.c
  ./auto-compilew.sh  -c socket_udp64.c
  ./auto-compilew.sh  -c stralloc_cat.c
  ./auto-compilew.sh  -c stralloc_catb.c
  ./auto-compilew.sh  -c stralloc_cats.c
  ./auto-compilew.sh  -c stralloc_copy.c
  ./auto-compilew.sh  -c stralloc_eady.c
  ./auto-compilew.sh  -c stralloc_free.c
  ./auto-compilew.sh  -c stralloc_opyb.c
  ./auto-compilew.sh  -c stralloc_opys.c
  ./auto-compilew.sh  -c stralloc_pend.c
  ./auto-compilew.sh  -c stralloc_plus.c
  ./auto-makelib.sh libunix.a alloc.o alloc_re.o api_futimes.o api_utimes.o buffer.o buffer_0.o buffer_1.o buffer_2.o buffer_get.o buffer_put.o env_get.o error.o error_str.o gen_alloc_ady.o gen_alloc_end.o gen_alloc_lus.o get_cwd.o getln.o iopause.o ndelay_off.o ndelay_on.o open_append.o open_excl.o open_read.o openreadclose.o readclose.o readclose_app.o sig.o sig_catch.o socket_bind.o socket_bind6.o socket_bind64.o socket_conn.o socket_conn6.o socket_conn64.o socket_connt.o socket_family.o socket_flag.o socket_gifid.o socket_gifna.o socket_htons.o socket_ntohs.o socket_remote6.o socket_tcp.o socket_tcp6.o socket_tcp64.o socket_udp.o socket_udp6.o socket_udp64.o stralloc_cat.o stralloc_catb.o stralloc_cats.o stralloc_copy.o stralloc_eady.o stralloc_free.o stralloc_opyb.o stralloc_opys.o stralloc_pend.o stralloc_plus.o
  ar: `u' modifier ignored since `D' is the default (see `U')
  ./auto-compilew.sh  -c tai_add.c
  ./auto-compile.sh  -c tai_now.c
  ./auto-compilew.sh  -c tai_pack.c
  ./auto-compilew.sh  -c tai_sub.c
  ./auto-compilew.sh  -c tai_uint.c
  ./auto-compilew.sh  -c taia_add.c
  ./auto-compilew.sh  -c taia_approx.c
  ./auto-compilew.sh  -c taia_frac.c
  ./auto-compile.sh  -c taia_half.c
  ./auto-compilew.sh  -c taia_less.c
  ./auto-compilew.sh  -c taia_now.c
  ./auto-compilew.sh  -c taia_pack.c
  ./auto-compilew.sh  -c taia_sub.c
  ./auto-compilew.sh  -c taia_uint.c
  ./auto-makelib.sh libtai.a tai_add.o tai_now.o tai_pack.o tai_sub.o tai_uint.o taia_add.o taia_approx.o taia_frac.o taia_half.o taia_less.o taia_now.o taia_pack.o taia_sub.o taia_uint.o
  ar: `u' modifier ignored since `D' is the default (see `U')
  ./auto-compilew.sh  -c byte_chr.c
  byte_chr.c: In function 'byte_chr':
  byte_chr.c:16:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if (*p == ch) break; ++p; --n;
     ^~
  byte_chr.c:16:24: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
     if (*p == ch) break; ++p; --n;
                          ^~
  byte_chr.c:19:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if (*p == ch) break; ++p; --n;
     ^~
  byte_chr.c:19:24: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
     if (*p == ch) break; ++p; --n;
                          ^~
  byte_chr.c:22:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if (*p == ch) break; ++p; --n;
     ^~
  byte_chr.c:22:24: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
     if (*p == ch) break; ++p; --n;
                          ^~
  byte_chr.c:25:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if (*p == ch) break; ++p; --n;
     ^~
  byte_chr.c:25:24: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
     if (*p == ch) break; ++p; --n;
                          ^~
  ./auto-compilew.sh  -c byte_copy.c
  ./auto-compilew.sh  -c byte_cr.c
  ./auto-compilew.sh  -c byte_diff.c
  ./auto-compilew.sh  -c byte_zero.c
  ./auto-compilew.sh  -c case_diffb.c
  case_diffb.c: In function 'case_diffb':
  case_diffb.c:10:25: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
    const unsigned char *s=ss;
                           ^~
  case_diffb.c:11:25: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
    const unsigned char *t=st;
                           ^~
  ./auto-compilew.sh  -c case_lowerb.c
  ./auto-compilew.sh  -c case_lowers.c
  case_lowers.c: In function 'case_lowers':
  case_lowers.c:10:22: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
       unsigned char *s=ss;
                        ^~
  ./auto-compilew.sh  -c case_lwrtab.c
  ./auto-compilew.sh  -c case_startb.c
  case_startb.c: In function 'case_startb':
  case_startb.c:10:26: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
    const unsigned char *lo=ulo;
                            ^~~
  case_startb.c:11:26: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
    const unsigned char *sh=ush;
                            ^~~
  ./auto-compilew.sh  -c case_starts.c
  ./auto-compilew.sh  -c fmt_uint0.c
  ./auto-compilew.sh  -c fmt_uint64.c
  ./auto-compilew.sh  -c fmt_ulong.c
  ./auto-compilew.sh  -c fmt_xlong.c
  ./auto-compilew.sh  -c ip4_constants.c
  ./auto-compilew.sh  -c ip4_fmt.c
  ./auto-compile.sh  -c ip4_scan.c
  ./auto-compilew.sh  -c ip6_constants.c
  ./auto-compilew.sh  -c ip6_fmt.c
  In file included from ip6_fmt.c:2:0:
  ip6_fmt.c: In function 'ip6_fmt':
  byte.h:15:47: warning: pointer targets in passing argument 3 of 'byte_diff' differ in signedness [-Wpointer-sign]
   #define byte_equal(s,n,t) (!byte_diff((s),(n),(t)))
                                                 ^
  ip6.h:23:29: note: in expansion of macro 'byte_equal'
   #define ip6_isv4mapped(ip) (byte_equal(ip,12,V4mappedprefix))
                               ^~~~~~~~~~
  ip6_fmt.c:17:18: note: in expansion of macro 'ip6_isv4mapped'
       if (j==12 && ip6_isv4mapped(ip)) {
                    ^~~~~~~~~~~~~~
  byte.h:12:5: note: expected 'const char *' but argument is of type 'const unsigned char *'
   int byte_diff(const char *s,unsigned int n,const char *t);
       ^~~~~~~~~
  ip6_fmt.c:28:4: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
      if (s) *s++=':'; ++len;
      ^~
  ip6_fmt.c:28:21: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
      if (s) *s++=':'; ++len;
                       ^~
  ip6_fmt.c:34:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    if (s) *s++=':'; ++len;
    ^~
  ip6_fmt.c:34:19: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
    if (s) *s++=':'; ++len;
                     ^~
  ./auto-compilew.sh  -c ip6_scan.c
  ip6_scan.c: In function 'ip6_scan':
  ip6_scan.c:25:19: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]
       const char *c=V4mappedprefix;
                     ^~~~~~~~~~~~~~
  In file included from ip6_scan.c:4:0:
  byte.h:15:47: warning: pointer targets in passing argument 3 of 'byte_diff' differ in signedness [-Wpointer-sign]
   #define byte_equal(s,n,t) (!byte_diff((s),(n),(t)))
                                                 ^
  ip6_scan.c:26:9: note: in expansion of macro 'byte_equal'
       if (byte_equal(ip+12,4,V6any)) c=V6any;
           ^~~~~~~~~~
  byte.h:12:5: note: expected 'const char *' but argument is of type 'const unsigned char *'
   int byte_diff(const char *s,unsigned int n,const char *t);
       ^~~~~~~~~
  ip6_scan.c:26:37: warning: pointer targets in assignment differ in signedness [-Wpointer-sign]
       if (byte_equal(ip+12,4,V6any)) c=V6any;
                                       ^
  ./auto-compilew.sh  -c scan_long.c
  ./auto-compilew.sh  -c scan_sign.c
  ./auto-compilew.sh  -c scan_ulong.c
  ./auto-compilew.sh  -c scan_xlong.c
  ./auto-compilew.sh  -c str_chr.c
  ./auto-compilew.sh  -c str_diff.c
  ./auto-compilew.sh  -c str_len.c
  ./auto-compilew.sh  -c str_rchr.c
  ./auto-compilew.sh  -c str_start.c
  ./auto-compilew.sh  -c uint16_pack.c
  ./auto-compilew.sh  -c uint16_unpack.c
  ./auto-compilew.sh  -c uint32_pack.c
  ./auto-compilew.sh  -c uint32_unpack.c
  ./auto-makelib.sh libbyte.a byte_chr.o byte_copy.o byte_cr.o byte_diff.o byte_zero.o case_diffb.o case_lowerb.o case_lowers.o case_lwrtab.o case_startb.o case_starts.o fmt_uint0.o fmt_uint64.o fmt_ulong.o fmt_xlong.o ip4_constants.o ip4_fmt.o ip4_scan.o ip6_constants.o ip6_fmt.o ip6_scan.o scan_long.o scan_sign.o scan_ulong.o scan_xlong.o str_chr.o str_diff.o str_len.o str_rchr.o str_start.o uint16_pack.o uint16_unpack.o uint32_pack.o uint32_unpack.o
  ar: `u' modifier ignored since `D' is the default (see `U')
  sh fsync.sh >fsync.t && mv fsync.t auto-fsync.lib
  sh replace.sh utimes utimes "" -lsocket >auto-utimes.lib.t && mv auto-utimes.lib.t auto-utimes.lib
  ./auto-link.sh ftpcopy  ftpcopy.o ftpparse.o ftplib.o ftp_read_lis.o urlparse.o canon.o common.o mdtm.o mysleep.o warn_broken.o eof_or_error.o utcdate2tai.o sockrecbuf.o ssort.o inq_winsize.o libuotime.a libuomisc.a libdns.a libstrhash.a libunix.a libtai.a libbyte.a `head -n 1 auto-socket.lib` `head -n 1 auto-fsync.lib` `head -n 1 auto-utimes.lib` `head -n 1 auto-gettimeofday.lib` 
  ./auto-compilew.sh  -c ftpls.c
  ftpls.c: In function 'get_listing':
  ftpls.c:181:48: warning: pointer targets in passing argument 2 of 'cmdwrite2' differ in signedness [-Wpointer-sign]
    cmdwrite2(r_dir->s[0]=='/' ? "CWD " : "CWD /",r_dir->s);
                                                  ^~~~~
  In file included from ftpls.c:26:0:
  ftpcopy.h:149:6: note: expected 'const unsigned char *' but argument is of type 'char *'
   void cmdwrite2(const char *s1, const unsigned char *s2);
        ^~~~~~~~~
  ftpls.c:199:22: warning: pointer targets in passing argument 2 of 'cmdwrite2' differ in signedness [-Wpointer-sign]
     cmdwrite2("LIST ", o_list_options);
                        ^~~~~~~~~~~~~~
  In file included from ftpls.c:26:0:
  ftpcopy.h:149:6: note: expected 'const unsigned char *' but argument is of type 'const char *'
   void cmdwrite2(const char *s1, const unsigned char *s2);
        ^~~~~~~~~
  ftpls.c:175:6: warning: variable 'got_it' set but not used [-Wunused-but-set-variable]
    int got_it;
        ^~~~~~
  ftpls.c: In function 'main':
  ftpls.c:524:7: warning: variable 'retcode' set but not used [-Wunused-but-set-variable]
     int retcode;
         ^~~~~~~
  ./auto-compilew.sh  -c sort_it.c
  ./auto-link.sh ftpls  ftpls.o ftpparse.o ftplib.o ftp_read_lis.o urlparse.o sort_it.o common.o mysleep.o warn_broken.o eof_or_error.o utcdate2tai.o ssort.o libuotime.a libdns.a libuomisc.a libstrhash.a libdns.a libunix.a libtai.a libbyte.a `head -n 1 auto-socket.lib` `head -n 1 auto-gettimeofday.lib` 
  (echo .ds PA ftpcopy ;\
   echo .ds VE 0.6.7 ;\
   echo .ds CL web ;\
  ) >auto-version.tmac.t
  cmp auto-version.tmac auto-version.tmac.t \
   || cp auto-version.tmac.t auto-version.tmac
  cmp: auto-version.tmac: No such file or directory
  touch version.tmac.stamp && rm auto-version.tmac.t
  cat groff.tmac auto-version.tmac ftpcp.1.in \
   | sed 's/^.section/.SH/' >ftpcp.1.t \
   && mv ftpcp.1.t ftpcp.1
  perl uogo2man ftpcopy ./ftpcopy 1 man "--include-exclude-help" \
  "IN/EXCLUDE" >ftpcopy.1.t &&mv ftpcopy.1.t ftpcopy.1
  perl uogo2man ftpcopy ./ftpls 1 man  >ftpls.1.t &&mv ftpls.1.t ftpls.1
  perl uogo2man ftpcopy ./ftpcopy - html "--include-exclude-help" \
  "IN/EXCLUDE" >ftpcopy.html.t &&mv ftpcopy.html.t ftpcopy.html
  perl uogo2man ftpcopy ./ftpls - html  >ftpls.html.t &&mv ftpls.html.t \
  ftpls.html
  make[1]: Leaving directory '«BUILDDIR»/web/ftpcopy-0.6.7/compile'
  Copying documentation into ./doc...
  touch build-arch-stamp
   fakeroot debian/rules binary
  rm -rf '«BUILDDIR»/debian/ftpcopy'
  install -d -m0755 '«BUILDDIR»/debian/ftpcopy'/usr/bin
  for i in ftpcopy ftpcp ftpls; do \
    install -m0755 web/ftpcopy/command/$i '«BUILDDIR»/debian/ftpcopy'/usr/bin/ || exit 1; \
  done
  for i in ftpcopy ftpls; do \
    strip -R .comment -R .note '«BUILDDIR»/debian/ftpcopy'/usr/bin/$i || exit 1; \
  done
  # man pages
  install -d -m0755 '«BUILDDIR»/debian/ftpcopy'/usr/share/man/man1
  install -m0644 web/ftpcopy/doc/*.1 '«BUILDDIR»/debian/ftpcopy'/usr/share/man/man1/
  gzip -9 '«BUILDDIR»/debian/ftpcopy'/usr/share/man/man1/*.1
  # changelog
  test -r changelog || ln -s web/ftpcopy/src/ChangeLog changelog
  : implicit
  : debian/ftpcopy/usr/share/doc/ftpcopy/
  + install -m0644 debian/copyright debian/ftpcopy/usr/share/doc/ftpcopy/
  + install -m0644 debian/changelog debian/ftpcopy/usr/share/doc/ftpcopy/changelog.Debian
  + install -m0644 changelog debian/ftpcopy/usr/share/doc/ftpcopy/
  + install -m0644 web/ftpcopy/src/NEWS debian/ftpcopy/usr/share/doc/ftpcopy/
  + install -m0644 web/ftpcopy/src/README debian/ftpcopy/usr/share/doc/ftpcopy/
  + install -m0644 web/ftpcopy/src/THANKS debian/ftpcopy/usr/share/doc/ftpcopy/
  + install -m0644 debian/README.Debian.diet debian/ftpcopy/usr/share/doc/ftpcopy/
  : debian/ftpcopy/usr/share/doc/ftpcopy/examples/
  : debian/ftpcopy/usr/share/doc/ftpcopy/ ok
  : debian/ftpcopy/DEBIAN/
  : debian/ftpcopy/DEBIAN/md5sums
  : debian/ftpcopy/DEBIAN/ ok
  test '0' -ne 0 || dpkg-shlibdeps '«BUILDDIR»/debian/ftpcopy'/usr/bin/*
  dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp: 
  debian/rules:72: recipe for target 'binary-arch' failed
  make: *** [binary-arch] Error 255
  dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

  […]

The full build log is attached.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-
[ftpcopy.0.6.7-3.unstable.amd64.log.txt.gz (application/octet-stream, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#854512; Package src:ftpcopy. (Tue, 07 Feb 2017 22:09:05 GMT) (full text, mbox, link).


Acknowledgement sent to Reiner Herrmann <reiner@reiner-h.de>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Tue, 07 Feb 2017 22:09:05 GMT) (full text, mbox, link).


Message #10 received at 854512@bugs.debian.org (full text, mbox, reply):

From: Reiner Herrmann <reiner@reiner-h.de>
To: 854512@bugs.debian.org
Subject: Re: ftpcopy: FTBFS: dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp
Date: Tue, 7 Feb 2017 23:08:23 +0100
[Message part 1 (text/plain, inline)]
Control: tag -1 + patch

Hi,

>   dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp: 

ftpcp is a shell script, not a binary.
Calling dpkg-shlibdeps no longer works since dpkg 1.18.19.
In previous version, objdump called by dpkg-shlibdeps would print an
error, but the call would still exit with 0.

The attached patch calls dpkg-shlibdeps only on the binaries.

Regards,
  Reiner
[ftpcopy.patch (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, inline)]

Added tag(s) patch. Request was from Reiner Herrmann <reiner@reiner-h.de> to 854512-submit@bugs.debian.org. (Tue, 07 Feb 2017 22:09:05 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#854512; Package src:ftpcopy. (Wed, 08 Feb 2017 00:36:02 GMT) (full text, mbox, link).


Acknowledgement sent to Sandro Tosi <morph@debian.org>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Wed, 08 Feb 2017 00:36:02 GMT) (full text, mbox, link).


Message #17 received at 854512@bugs.debian.org (full text, mbox, reply):

From: Sandro Tosi <morph@debian.org>
To: 854512@bugs.debian.org, Reiner Herrmann <reiner@reiner-h.de>
Subject: Re: ftpcopy: FTBFS: dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp
Date: Tue, 7 Feb 2017 19:31:36 -0500
Hello Reiner,

On Tue, 7 Feb 2017 23:08:23 +0100 Reiner Herrmann <reiner@reiner-h.de> wrote:
> Control: tag -1 + patch
>
> Hi,
>
> >   dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp:
>
> ftpcp is a shell script, not a binary.
> Calling dpkg-shlibdeps no longer works since dpkg 1.18.19.
> In previous version, objdump called by dpkg-shlibdeps would print an
> error, but the call would still exit with 0.
>
> The attached patch calls dpkg-shlibdeps only on the binaries.

Would you be interested in preparing a NMU package with your patch
applied (feel free to reply to me in private if you need guidance in
doing so)?

thanks,
Sandro



Added tag(s) stretch and sid. Request was from Andreas Beckmann <anbe@debian.org> to control@bugs.debian.org. (Wed, 08 Feb 2017 04:18:11 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Gerrit Pape <pape@smarden.org>:
Bug#854512; Package src:ftpcopy. (Wed, 08 Feb 2017 05:57:03 GMT) (full text, mbox, link).


Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Gerrit Pape <pape@smarden.org>. (Wed, 08 Feb 2017 05:57:03 GMT) (full text, mbox, link).


Message #24 received at 854512@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: Reiner Herrmann <reiner@reiner-h.de>, 854512@bugs.debian.org
Subject: Re: Bug#854512: ftpcopy: FTBFS: dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp
Date: Wed, 8 Feb 2017 06:51:28 +0100
Control: clone -1 -2
Control: reassign -2 libdpkg-perl
Control: retitle -2 Dpkg::Shlibs::Objdump: Cope more gracefully with non-ELF files
Control: severity -2 important

Hi!

On Tue, 2017-02-07 at 23:08:23 +0100, Reiner Herrmann wrote:
> Control: tag -1 + patch

> >   dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp: 
> 
> ftpcp is a shell script, not a binary.
> Calling dpkg-shlibdeps no longer works since dpkg 1.18.19.
> In previous version, objdump called by dpkg-shlibdeps would print an
> error, but the call would still exit with 0.

Right, the change that ended up with the new behavior was not entirely
intended, so I'll be improving it to cope with this more gracefully.
But I still consider this usage bogus, and it will start emitting
proper warnings with dpkg 1.18.23, so…

> The attached patch calls dpkg-shlibdeps only on the binaries.

… thanks for fixing it!

Regards,
Guillem



Bug 854512 cloned as bug 854536 Request was from Guillem Jover <guillem@debian.org> to 854512-submit@bugs.debian.org. (Wed, 08 Feb 2017 05:57:03 GMT) (full text, mbox, link).


Bug reassigned from package 'src:ftpcopy' to 'libdpkg-perl'. Request was from Guillem Jover <guillem@debian.org> to 854512-submit@bugs.debian.org. (Wed, 08 Feb 2017 05:57:04 GMT) (full text, mbox, link).


No longer marked as found in versions ftpcopy/0.6.7-3. Request was from Guillem Jover <guillem@debian.org> to 854512-submit@bugs.debian.org. (Wed, 08 Feb 2017 05:57:04 GMT) (full text, mbox, link).


Changed Bug title to 'Dpkg::Shlibs::Objdump: Cope more gracefully with non-ELF files' from 'ftpcopy: FTBFS: dpkg-shlibdeps: error: cannot read «BUILDDIR»/debian/ftpcopy/usr/bin/ftpcp'. Request was from Guillem Jover <guillem@debian.org> to 854512-submit@bugs.debian.org. (Wed, 08 Feb 2017 05:57:05 GMT) (full text, mbox, link).


Severity set to 'important' from 'serious' Request was from Guillem Jover <guillem@debian.org> to 854512-submit@bugs.debian.org. (Wed, 08 Feb 2017 05:57:06 GMT) (full text, mbox, link).


Message sent on to Chris Lamb <lamby@debian.org>:
Bug#854536. (Sun, 26 Feb 2017 22:51:12 GMT) (full text, mbox, link).


Message #37 received at 854536-submitter@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: 854536-submitter@bugs.debian.org
Subject: Bug#854536 in package dpkg marked as pending
Date: Sun, 26 Feb 2017 22:50:11 +0000
Control: tag 854536 pending

Hi!

Bug #854536 in package dpkg reported by you has been fixed in
the dpkg/dpkg.git Git repository. You can see the changelog below, and
you can check the diff of the fix at:

    https://anonscm.debian.org/cgit/dpkg/dpkg.git/diff/?id=1c16755

---
commit 1c1675500edf4285f87384af3e709c3801f87c51
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Feb 8 06:08:03 2017 +0100

    Dpkg::Shlibs::Objdump: Fix read() error handling in get_format()
    
    The rest of the code handles non-binary files (ELF in this case)
    gracefully and ignores them, even though not very explicitly, as
    objdump will emit a warning that might be difficult to decrypt.
    
    We will still fail for other read failures that are not just
    short-reads, as those imply some actual problem with the passed files.
    
    Closes: #854536

diff --git a/debian/changelog b/debian/changelog
index 9c4be3f..4bf4d0a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ dpkg (1.18.23) UNRELEASED; urgency=medium
   * Perl modules:
     - Do not special case EM_SPARC32PLUS for NetBSD in Dpkg::Shlibs::Objdump,
       the code has been fixed in NetBSD as that situation could not happen.
+    - Fix read() error handling in Dpkg::Shlibs::Objdump::get_format() to
+      gracefully ignore non-ELF files again. Closes: #854536
   * Documentation:
     - Clarify the requirements for deb-conffile(5) pathnames. Closes: #854417
       Proposed by Dieter Adriaenssens <dieter.adriaenssens@gmail.com>.



Added tag(s) pending. Request was from Guillem Jover <guillem@debian.org> to 854536-submitter@bugs.debian.org. (Sun, 26 Feb 2017 22:51:12 GMT) (full text, mbox, link).


Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Mon, 06 Mar 2017 06:21:14 GMT) (full text, mbox, link).


Notification sent to Chris Lamb <lamby@debian.org>:
Bug acknowledged by developer. (Mon, 06 Mar 2017 06:21:14 GMT) (full text, mbox, link).


Message #44 received at 854536-close@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: 854536-close@bugs.debian.org
Subject: Bug#854536: fixed in dpkg 1.18.23
Date: Mon, 06 Mar 2017 06:18:56 +0000
Source: dpkg
Source-Version: 1.18.23

We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 854536@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (supplier of updated dpkg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 06 Mar 2017 05:41:11 +0100
Source: dpkg
Binary: dpkg libdpkg-dev dpkg-dev libdpkg-perl dselect
Architecture: source
Version: 1.18.23
Distribution: unstable
Urgency: medium
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
Description:
 dpkg       - Debian package management system
 dpkg-dev   - Debian package development tools
 dselect    - Debian package management front-end
 libdpkg-dev - Debian package management static library
 libdpkg-perl - Dpkg perl modules
Closes: 845550 848129 849944 854417 854536 855450 856325 856326
Changes:
 dpkg (1.18.23) unstable; urgency=medium
 .
   * Handle unmatched arch-qualified virtual packages in dpkg-genbuildinfo,
     instead of letting perl die. Closes: #849944
   * Declare .buildinfo format as stable with version 1.0.
   * Do not depend on cxxabi.h to have declared __cxa_pure_virtual, use
     the same “__cxxabiv1” namespace as specified in the C++ ABI, instead
     of using the “abi” alias intended for use by userland.
     Thanks to Jörg Sonnenberger <joerg@netbsd.org>.
   * Add a comment on any C code switch case that falls through. Fixes new
     gcc-7 warnings.
   * Use snprintf() instead of sprintf() in libdpkg when constructing the ar
     member header, as we might overflow depending on the input data.
   * Portability:
     - Do not redeclare sys_siglist in libcompat when the system does so.
       Thanks to Thomas Klausner <wiz@NetBSD.org>.
     - Rename err variable to ret in start-stop-daemon as the former is a
       function on BSDs.
     - Use 5-argument kvm_getprocs() call form on OpenBSD in start-stop-daemon.
     - Use correct struct kinfo_proc ruid submember name on NetBSD in
       start-stop-daemon.
     - Define _KMEMUSER for NetBSD to get declarations for various
       struct kinfo_proc members in start-stop-daemon.
   * Perl modules:
     - Do not special case EM_SPARC32PLUS for NetBSD in Dpkg::Shlibs::Objdump,
       the code has been fixed in NetBSD as that situation could not happen.
     - Fix read() error handling in Dpkg::Shlibs::Objdump::get_format() to
       gracefully ignore non-ELF files again. Closes: #854536
     - Emit an explicit warning from Dpkg::Shlibs::Objdump::Object::analyze()
       for unknown executable formats instead of relying on objdump doing so.
     - Do not parse bogus ELF binaries in Dpkg::Shlibs::Objdump::get_format().
       Reported by Niels Thykier <niels@thykier.net>.
     - Add ‘.mnt-ignore’ to the default ignore lists in Dpkg::Source::Package,
       as we were already ignoring the ‘_MTN’ pathnames. Closes: #855450
       Thanks to Nicolas Boulenguez <nicolas@debian.org>.
     - Mark kfreebsd-amd64, kfreebsd-i386, sparc and sparc64 architectures as
       having gcc builtin PIE in Dpkg::Vendor::Debian.
     - Switch PIE handling in Dpkg::Vendor::Debian to have no default (!) and
       delegate the setting to gcc or an explicit request by a user. This is
       needed to cope with the general PIE brokenness situation in Debian, and
       the current specific brokenness of a Debian gcc patch mangling the dpkg
       build flags. Closes: #848129, #845550
   * Documentation:
     - Clarify the requirements for deb-conffile(5) pathnames. Closes: #854417
       Proposed by Dieter Adriaenssens <dieter.adriaenssens@gmail.com>.
     - Document dpkg-source --before-build and --after-build in --help output.
     - Document dpkg-buildpackage --ignore-builtin-builddeps in --help output.
   * Build system:
     - Check <sys/proc.h> by also including <sys/param.h>, on several BSD
       systems the header is not self-contained.
     - Handle libmd implementations built into system libc, as found on some
       BSD systems.
     - Do not fail on missing compression libraries or headers on automatic
       detection mode. Regression introduced in dpkg 1.18.14.
   * Test suite:
     - Use the detected perl interpreter instead of a random one from PATH.
 .
   [ Updated programs translations ]
   * Dutch (Frans Spiesschaert). Closes: #856325
 .
   [ Updated scripts translations ]
   * German (Helge Kreutzmann).
 .
   [ Updated man pages translations ]
   * Dutch (Frans Spiesschaer). Closes: #856326
Checksums-Sha1:
 687fc2cc5d75609d3f9c64dd6d1271a274e8824c 2032 dpkg_1.18.23.dsc
 a090c0003d27bd467b9d4e683f2fa634f88d9486 4516252 dpkg_1.18.23.tar.xz
 bea5fcdd1181b693cc1d87776a56b61d04ce02b6 7344 dpkg_1.18.23_amd64.buildinfo
Checksums-Sha256:
 5e2fe064fb36d95d6459d2e117df9b54618df5e58925db117b5dd0c74cba2ec4 2032 dpkg_1.18.23.dsc
 cc08802a0cea2ccd0c10716bc71531ff9b9234dd454b83a59f71117a37f36923 4516252 dpkg_1.18.23.tar.xz
 267c599bef3a28f84247a438449a633a2b24200f3e506586a734f18c17375270 7344 dpkg_1.18.23_amd64.buildinfo
Files:
 7d31b1e07896d2464f4c970d2e839010 2032 admin required dpkg_1.18.23.dsc
 2195338c1792b0678575309a099d2da8 4516252 admin required dpkg_1.18.23.tar.xz
 c5479e155ee1e00b98f815e38dfee410 7344 admin required dpkg_1.18.23_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEETz509DYFDBD1aWV0uXK/PqSuV6MFAli8+MEACgkQuXK/PqSu
V6PJjxAAnQXT2CNiFg1U0Lizr+PfwlT24BMi1Za/J4zAIIjNe3CrP1z1dZpW33Ci
hG5HbacX9Ny7W0MoiaX91jg7oLel0ofYelGflXEO9ixod6EhqqMwb4WR0a0UIArj
XX6sjhVE2L8cOjceODbKF+xerAv5kQW0kjGxgVXhQlvOcl7Ncdpgw0Us9lswVM4m
RPsUm3V9imcJdMaxbYdsZHHs61NESLVpMWnndZzcbc5GWss8Gl6yAkY/cqfYqCi7
goFU8nxpyaKdmbGxM6+T0RBujuJI3oLR4S1COMs6CHCCtGmO6LIWSyAd5GbODd+5
HNrutqqTgKMhtWVIj69MfZzMBOSWQOmB8FiaXAUrEyGE4bOg8PDsGtiOtf4TBgtn
0x6pSRRLLbDiljmw108BSevLZ0R87E5fmtIX7ybFmdb18HVaBv5L7ETRNy1tgjXy
zPS15lun/yDHbRc30WJ862fS6k3UA/ZpGg+qoxWreqMIp13tSqfgDFkki/1fAjkJ
Zti0lG41pR6wCX/VaL3Sa9ZnKMsmqZoUngu1DAXFXqVQGnmRZRKAtegPGEGHsK+J
Xqpz4r/TleUMmB8JfN50Aify7glKgqphjWLoM5CVgOD7SaLD3SOBH9ePRUz51KNr
bHKVwJTtjP0jrM7WOGYIw6sjxdpTJQiUWBoOmgletcygmI092lE=
=nkIW
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 09 Apr 2017 07:27:11 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Fri Jan 12 15:05:17 2024; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.