From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x243.google.com (mail-lj1-x243.google.com [IPv6:2a00:1450:4864:20::243]) by sourceware.org (Postfix) with ESMTPS id E885B386F02B for ; Wed, 22 Apr 2020 04:00:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E885B386F02B Received: by mail-lj1-x243.google.com with SMTP id f18so713869lja.13 for ; Tue, 21 Apr 2020 21:00:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=mNKmRZTOEB4Etf04ZUtWWbq4yZCABnwsXa7K4kn2d3c=; b=A1+n19kwGaD90LSR09qvpPWsnLU4runCfrQwXYb3N+tXiqLDGGmnjkNPVOlsoFfEdq TSZ6bJbeE02gvvRFdpzWU+JU/k/fsxUnBjVGZd/DPnwUHiYQl58R/ZJo9DjQgQ2Udn6H ZwN9C9bZwb5KpL9z6WM3tnoRL6SlTeamfjo9CpeIVI27v3ZYhwEwOCvV2VIq0+lw8a6I FKQopAg06Rx7mH10/67XWikLv239mmT7rkD6ll2dL4wZN5y3BEI6my36xqk7iXDp17WM HTGkUH9Shimg71AJcMV660A+RIYM9IIDyA6om6zhSuz4uUCoUx67LKcw2TDCAAc7fFAu Y+Vw== X-Gm-Message-State: AGi0PuZu9QKD1pXGkBIc/QlTrS1akP6rXkUZxtXIYq4b4TIScs77GD7A 1I/IVaPAMLHbkS/nLaOLUSeEw/qTpAEkpjCY9bKh/c6nG8s= X-Google-Smtp-Source: APiQypKf6ebdfDPds8pQpuW5Y571s1EbqCAUhQYNj65tIkeyZgA55piM35Y9gyd9aQ5hOqXZZ/8jWiFhnJ9NhqWbxf4= X-Received: by 2002:a2e:3813:: with SMTP id f19mr14763397lja.216.1587528012170; Tue, 21 Apr 2020 21:00:12 -0700 (PDT) MIME-Version: 1.0 From: Kaushal Modi Date: Tue, 21 Apr 2020 23:59:35 -0400 Message-ID: Subject: Help figuring out why nim gives the "collect2: fatal error: can't open nm output" error with older gcc versions To: gcc-help@gcc.gnu.org X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 04:00:16 -0000 Hello, I use gcc to compile the C/C++ code generated by Nim (https://nim-lang.org/ ). Nim has a feature where it can read in the nim code via pipe. So I can do echo echo NimVersion | nim c -r - Above compiles and runs the "echo NimVersion" code. The first echo is the shell echo command. The reason I am emailing in this mailing list is that that simple command fails with: collect2: fatal error: can't open nm output for older gcc versions 6.1.0 and 7.2.0. I have access to only 3 gcc versions (at work): 6.1.0, 7.2.0 and 9.1.0. And gcc 6.1.0 needs to be the default version for various tool dependency issues. The above error does not happen when using gcc 9.1.0. When I compile the same nim code with -v switches passed to gcc ( echo echo NimVersion | nim c -r --parallelBuild:1 --passC:-v --passL:-v - ), I get: GNU C11 (GCC) version 6.1.0 (x86_64-pc-linux-gnu) compiled by GNU C version 6.1.0, GMP version 6.0.0, MPFR version 3.1.2, MPC version 1.0.2, isl version none GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 Compiler executable checksum: 259643b47d2569a7cf09e8b7a67091e7 COLLECT_GCC_OPTIONS=3D'-c' '-w' '-v' '-I' '/home/kmodi/usr_local/apps/6/nim/devel/lib' '-I' '/home/kmodi/sandbox/nim' '-o' '/tmp/kmodi/.cache/nim/stdinfile_d/@m..@s..@s..@s. .@s..@sstdinfile.nim.c.o' '-mtune=3Dgeneric' '-march=3Dx86-64' as -v -W -I /home/kmodi/usr_local/apps/6/nim/devel/lib -I /home/kmodi/sandbox/nim --64 -o /tmp/kmodi/.cache/nim/stdinfile_d/@m..@s. .@s..@s..@s..@sstdinfile.nim.c.o /tmp/ccvkFqvG.s GNU assembler version 2.20.51.0.2 (x86_64-redhat-linux) using BFD version version 2.20.51.0.2-5.44.el6 20100205 COMPILER_PATH=3D/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/libexec/gc= c/x86_64-pc-linux-gnu/6.1.0/:/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1= .0/libexec/gcc/x86_64-pc-linux-gnu/6.1.0/:/cad/adi/apps/gnu/linux/x86_64/6/= local/gcc/6.1.0/libexec/gcc/x86_64-pc-linux-gnu/:/cad/adi/apps/gnu/linux/x8= 6_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0/:/cad/adi/apps/gnu= /linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gnu/ LIBRARY_PATH=3D/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/../lib6= 4/:/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux= -gnu/6.1.0/:/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64= -pc-linux-gnu/6.1.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/c= ad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/:/cad/adi/apps/gnu/linux= /x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../:/lib/= :/usr/lib/ COLLECT_GCC_OPTIONS=3D'-c' '-w' '-v' '-I' '/home/kmodi/usr_local/apps/6/nim/devel/lib' '-I' '/home/kmodi/sandbox/nim' '-o' '/tmp/kmodi/.cache/nim/stdinfile_d/@m..@s..@s..@s. .@s..@sstdinfile.nim.c.o' '-mtune=3Dgeneric' '-march=3Dx86-64' Hint: [Link] Using built-in specs. COLLECT_GCC=3Dgcc COLLECT_LTO_WRAPPER=3D/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/libe= xec/gcc/x86_64-pc-linux-gnu/6.1.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../configure --prefix=3D/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0 --with-mpfr=3D/cad/adi/apps/gnu/linux/x86_64/6 --with-mpc=3D/cad/adi/apps/gnu/linux/x86_64/6 Thread model: posix gcc version 6.1.0 (GCC) COMPILER_PATH=3D/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/libexec/gc= c/x86_64-pc-linux-gnu/6.1.0/:/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1= .0/libexec/gcc/x86_64-pc-linux-gnu/6.1.0/:/cad/adi/apps/gnu/linux/x86_64/6/= local/gcc/6.1.0/libexec/gcc/x86_64-pc-linux-gnu/:/cad/adi/apps/gnu/linux/x8= 6_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0/:/cad/adi/apps/gnu= /linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gnu/ LIBRARY_PATH=3D/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/../lib6= 4/:/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux= -gnu/6.1.0/:/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64= -pc-linux-gnu/6.1.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/c= ad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/:/cad/adi/apps/gnu/linux= /x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../:/lib/= :/usr/lib/ COLLECT_GCC_OPTIONS=3D'-o' '/tmp/kmodi/.cache/nim/stdinfile_d/stdinfile' '-= v' '-mtune=3Dgeneric' '-march=3Dx86-64' /cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/libexec/gcc/x86_64-pc-lin= ux-gnu/6.1.0/collect2 --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o /tmp/kmodi/.cache/nim/stdinfile_d/stdinfile /usr/lib/../lib64/crt1.o /usr/lib/../lib64/crti.o /cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gn= u/6.1.0/crtbegin.o -L/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/../lib64 -L/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-= gnu/6.1.0 -L/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-= gnu/6.1.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib -L/cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-= gnu/6.1.0/../../.. /tmp/kmodi/.cache/nim/stdinfile_d/stdlib_io.nim.c.o /tmp/kmodi/.cache/nim/stdinfile_d/stdlib_system.nim.c.o /tmp/kmodi/.cache/nim/stdinfile_d/@m..@s..@s..@s..@s..@sstdinfile.nim.c.o -lm -ldl -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /cad/adi/apps/gnu/linux/x86_64/6/local/gcc/6.1.0/lib/gcc/x86_64-pc-linux-gn= u/6.1.0/crtend.o /usr/lib/../lib64/crtn.o collect2: fatal error: can't open nm output: Success compilation terminated. Error: execution of an external program failed: 'gcc -o /tmp/kmodi/.cache/nim/stdinfile_d/stdinfile /tmp/kmodi/.cache/nim/stdinfile_d/stdlib_io.nim.c.o /tmp/kmodi/.cache/nim/stdinfile_d/stdlib_system.nim.c.o /tmp/kmodi/.cache/nim/stdinfile_d/@m..@s..@s..@s..@s..@sstdinfile.nim.c.o -lm -v -ldl' Can someone help figure out if this issue is due to something in my environment or the way Nim handles gcc error codes? Please do Reply All when replying as I am not subscribed to this mailing list. --- If someone doesn't mind reviewing the full debug effort of this issue on the Nim issues page, here is the link: https://github.com/nim-lang/Nim/issues/14060 . Thanks. -- Kaushal Modi