public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source).
@ 2023-05-03 10:19 me at manueljacob dot de
  2023-05-03 10:25 ` [Bug other/109709] " rguenth at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: me at manueljacob dot de @ 2023-05-03 10:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

            Bug ID: 109709
           Summary: List of prerequisites should include that tar is
                    required (not only for unpacking the source).
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: me at manueljacob dot de
  Target Milestone: ---

When tar is not installed, building GCC under Linux will fail, at least with
the default configuration.


The documentation says

GNU tar version 1.14 (or later)

Necessary (only on some platforms) to untar the source code.  Many systems' tar
programs will also work, only try GNU tar if you have problems.


It could be argued that this prerequisite should be left implicit, similar to
how it is not mentioned that e.g. the "cp" and "file" commands should be
present.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug other/109709] List of prerequisites should include that tar is required (not only for unpacking the source).
  2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
@ 2023-05-03 10:25 ` rguenth at gcc dot gnu.org
  2023-05-03 12:45 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-05-03 10:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Huh, can you post how it fails?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug other/109709] List of prerequisites should include that tar is required (not only for unpacking the source).
  2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
  2023-05-03 10:25 ` [Bug other/109709] " rguenth at gcc dot gnu.org
@ 2023-05-03 12:45 ` pinskia at gcc dot gnu.org
  2023-05-03 20:42 ` [Bug bootstrap/109709] " me at manueljacob dot de
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-03 12:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2023-05-03
     Ever confirmed|0                           |1

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Also the reason why it is listed explicitly for extraction is that the tar
files that are generated use gnu tar and use the gnu extensions for long file
names.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug bootstrap/109709] List of prerequisites should include that tar is required (not only for unpacking the source).
  2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
  2023-05-03 10:25 ` [Bug other/109709] " rguenth at gcc dot gnu.org
  2023-05-03 12:45 ` pinskia at gcc dot gnu.org
@ 2023-05-03 20:42 ` me at manueljacob dot de
  2023-05-03 20:49 ` redi at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: me at manueljacob dot de @ 2023-05-03 20:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

--- Comment #3 from Manuel Jacob <me at manueljacob dot de> ---
(In reply to Richard Biener from comment #1)
> Huh, can you post how it fails?

if [ -d ../prev-gcc ]; then \
  cd ../prev-gcc && \
  make real-install-headers-tar DESTDIR=`pwd`/../gcc/ \
    libsubdir=. ; \
else \
  set -e; for ml in `cat fixinc_list`; do \
    sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \
    multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \
    fix_dir=include-fixed${multi_dir}; \
    if ! false && test ! -d `echo /usr/include | sed -e :a -e
's,[^/]*/\.\.\/,,' -e ta`; then \
      echo The directory that should contain system headers does not exist: >&2
; \
      echo "  `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" >&2
; \
      tooldir_sysinc=`echo
"/usr/lib/gcc/x86_64-pc-linux-gnu/13.1.0/../../../../x86_64-pc-linux-gnu/sys-include"
| sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \
      if test "x`echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" =
"x${tooldir_sysinc}"; \
      then sleep 1; else exit 1; fi; \
    fi; \
    /bin/sh /build/source/gcc-13.1.0/gcc/../mkinstalldirs ${fix_dir}; \
    chmod a+rx ${fix_dir} || true; \
    (TARGET_MACHINE='x86_64-pc-linux-gnu'; srcdir=`cd
/build/source/gcc-13.1.0/gcc; ${PWDCMD-pwd}`; \
      SHELL='/bin/sh'; MACRO_LIST=`${PWDCMD-pwd}`/macro_list ; \
      gcc_dir=`${PWDCMD-pwd}` ; \
      export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
      cd ../build-x86_64-pc-linux-gnu/fixincludes && \
      /bin/sh ./fixinc.sh "${gcc_dir}/${fix_dir}" \
        `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`  ); \
  done; \
fi
make[4]: Entering directory '/build/build/prev-gcc'
(cd `${PWDCMD-pwd}`/include-fixed ; \
 tar -cf - .; exit 0) | (cd /build/build/prev-gcc/../gcc/./include-fixed; tar
xpf - )
/bin/sh: line 2: tar: command not found
/bin/sh: line 2: tar: command not found
make[4]: *** [Makefile:4028: real-install-headers-tar] Error 127
make[4]: Leaving directory '/build/build/prev-gcc'
make[3]: *** [Makefile:3309: stmp-fixinc] Error 2
make[3]: Leaving directory '/build/build/gcc'
make[2]: *** [Makefile:5013: all-stage2-gcc] Error 2
make[2]: Leaving directory '/build/build'
make[1]: *** [Makefile:27012: stage2-bubble] Error 2
make[1]: Leaving directory '/build/build'
make: *** [Makefile:1080: all] Error 2

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug bootstrap/109709] List of prerequisites should include that tar is required (not only for unpacking the source).
  2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
                   ` (2 preceding siblings ...)
  2023-05-03 20:42 ` [Bug bootstrap/109709] " me at manueljacob dot de
@ 2023-05-03 20:49 ` redi at gcc dot gnu.org
  2023-05-03 20:51 ` redi at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: redi at gcc dot gnu.org @ 2023-05-03 20:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
gcc/Makefile.in has:

# Install the include directory using tar.
install-headers-tar: stmp-int-hdrs install-include-dir
# We use `pwd`/include instead of just include to problems with CDPATH
# Unless a full pathname is provided, some shells would print the new CWD,
# found in CDPATH, corrupting the output.  We could just redirect the
# output of `cd', but some shells lose on redirection within `()'s
        (cd `${PWD_COMMAND}`/include ; \
         tar -cf - .; exit 0) | (cd $(DESTDIR)$(libsubdir)/include; tar xpf - )
        (cd `${PWD_COMMAND}`/include-fixed ; \
         tar -cf - .; exit 0) | (cd $(DESTDIR)$(libsubdir)/include-fixed; tar
xpf - )
# /bin/sh on some systems returns the status of the first tar,
# and that can lose with GNU tar which always writes a full block.
# So use `exit 0' to ignore its exit status.


This doesn't require GNU tar though, just any tar, so I think I agree that it's
just like cp and file and sed which are part of any unix-like environment.

The prerequisites page is specifically saying that GNU tar is needed on some
systems, for the reason Andrew stated above.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug bootstrap/109709] List of prerequisites should include that tar is required (not only for unpacking the source).
  2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
                   ` (3 preceding siblings ...)
  2023-05-03 20:49 ` redi at gcc dot gnu.org
@ 2023-05-03 20:51 ` redi at gcc dot gnu.org
  2023-05-04  2:24 ` sjames at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: redi at gcc dot gnu.org @ 2023-05-03 20:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I suppose we could do something like:

--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -364,7 +364,9 @@ You must have GNU make installed to build GCC@.

 Necessary (only on some platforms) to untar the source code.  Many
 systems' @command{tar} programs will also work, only try GNU
-@command{tar} if you have problems.
+@command{tar} if you have problems. N.B. a @command{tar} program of some
+kind is always needed to build GCC, the GNU tar requirement is only
+for extracting the sources.

 @item Perl version between 5.6.1 and 5.6.24

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug bootstrap/109709] List of prerequisites should include that tar is required (not only for unpacking the source).
  2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
                   ` (4 preceding siblings ...)
  2023-05-03 20:51 ` redi at gcc dot gnu.org
@ 2023-05-04  2:24 ` sjames at gcc dot gnu.org
  2023-05-04 12:34 ` redi at gcc dot gnu.org
  2023-05-04 12:42 ` me at manueljacob dot de
  7 siblings, 0 replies; 9+ messages in thread
From: sjames at gcc dot gnu.org @ 2023-05-04  2:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

Sam James <sjames at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sjames at gcc dot gnu.org

--- Comment #6 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #5)
> I suppose we could do something like:
> 

lgtm, even if I think it's a little bit silly

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug bootstrap/109709] List of prerequisites should include that tar is required (not only for unpacking the source).
  2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
                   ` (5 preceding siblings ...)
  2023-05-04  2:24 ` sjames at gcc dot gnu.org
@ 2023-05-04 12:34 ` redi at gcc dot gnu.org
  2023-05-04 12:42 ` me at manueljacob dot de
  7 siblings, 0 replies; 9+ messages in thread
From: redi at gcc dot gnu.org @ 2023-05-04 12:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Maybe we should just say "a full set of POSIX shell utilities (ls, cp, find,
tar, sed, etc.) is expected to be available" and leave it at that.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug bootstrap/109709] List of prerequisites should include that tar is required (not only for unpacking the source).
  2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
                   ` (6 preceding siblings ...)
  2023-05-04 12:34 ` redi at gcc dot gnu.org
@ 2023-05-04 12:42 ` me at manueljacob dot de
  7 siblings, 0 replies; 9+ messages in thread
From: me at manueljacob dot de @ 2023-05-04 12:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109709

--- Comment #8 from Manuel Jacob <me at manueljacob dot de> ---
As said in the original bug report, I’d understand if these prerequisites (like
tar and find) were left implicit (therefore this bug report could be closed
as-is), but the two suggestions by Jonathan Wakely seem reasonable to me.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-05-04 12:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-03 10:19 [Bug other/109709] New: List of prerequisites should include that tar is required (not only for unpacking the source) me at manueljacob dot de
2023-05-03 10:25 ` [Bug other/109709] " rguenth at gcc dot gnu.org
2023-05-03 12:45 ` pinskia at gcc dot gnu.org
2023-05-03 20:42 ` [Bug bootstrap/109709] " me at manueljacob dot de
2023-05-03 20:49 ` redi at gcc dot gnu.org
2023-05-03 20:51 ` redi at gcc dot gnu.org
2023-05-04  2:24 ` sjames at gcc dot gnu.org
2023-05-04 12:34 ` redi at gcc dot gnu.org
2023-05-04 12:42 ` me at manueljacob dot de

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).