bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/24723] New: Linker fails with "too many open files"


From: benjamin.redelings at gmail dot com
Subject: [Bug ld/24723] New: Linker fails with "too many open files"
Date: Sun, 23 Jun 2019 20:42:36 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=24723

            Bug ID: 24723
           Summary: Linker fails with "too many open files"
           Product: binutils
           Version: 2.32
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: benjamin.redelings at gmail dot com
  Target Milestone: ---

When trying to link a large program, the linker fails with "Too many open
files".
This occurs with binutils 2.32, so the previous similar bugreport with 2.31 may
not apply (#23573).

/usr/bin/x86_64-w64-mingw32-g++  -o rb.exe
'rb@exe/src_revlanguage_main.cpp.obj' -L/home/bredelings/win_root/mingw64/lib
-Wl,-O1 -Wl,--start-group librb-core.a librb-revlanguage.a librb-lib.a
-lboost_regex-mt -lboost_program_options-mt -lboost_thread-mt -lboost_system-mt
-lboost_filesystem-mt -lboost_date_time-mt -lboost_serialization-mt -pthread
-mconsole -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
-luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lstdc++
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lpthread
/usr/bin/x86_64-w64-mingw32-ld: cannot find -ladvapi32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lshell32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -luser32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lkernel32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
/usr/bin/x86_64-w64-mingw32-ld: cannot find
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o: Too many open files
collect2: error: ld returned 1 exit status

Versions look like this:

$ uname -a
Linux name 5.0.0-trunk-amd64 #1 SMP Debian 5.0.2-1~exp1 (2019-03-18) x86_64
GNU/Linux

$ /usr/bin/x86_64-w64-mingw32-g++ -v
Using built-in specs.
COLLECT_GCC=/usr/bin/x86_64-w64-mingw32-g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr
--includedir='/usr/include' --mandir='/usr/share/man'
--infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var
--disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu'
--libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode
--disable-dependency-tracking --prefix=/usr --enable-shared --enable-static
--disable-multilib --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes
--with-tune=generic --with-headers=/usr/x86_64-w64-mingw32/include
--enable-version-specific-runtime-libs --enable-fully-dynamic-string
--enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto
--enable-threads=win32 --program-suffix=-win32
--program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32
--with-as=/usr/bin/x86_64-w64-mingw32-as
--with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic
--enable-libstdcxx-filesystem-ts=yes
Thread model: win32
gcc version 8.3-win32 20190428 (GCC) 

$ /usr/bin/x86_64-w64-mingw32-ld --version
GNU ld (GNU Binutils) 2.32
Copyright (C) 2019 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

The ld command-line that is failing looks like this:
/usr/bin/x86_64-w64-mingw32-ld -plugin
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccXUMZS3.res -plugin-opt=-pass-through=-lmingw32
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex
-plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread
-plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32
-plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32
-plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname
-plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -m
i386pep --subsystem console -Bdynamic -o rb.exe
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib/crt2.o
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtbegin.o
-L/home/bredelings/win_root/mingw64/lib
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib
rb@exe/src_revlanguage_main.cpp.obj -O1 --start-group librb-core.a
librb-revlanguage.a librb-lib.a -lboost_regex-mt -lboost_program_options-mt
-lboost_thread-mt -lboost_system-mt -lboost_filesystem-mt -lboost_date_time-mt
-lboost_serialization-mt -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32
-lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 --end-group -lstdc++ -lmingw32
-lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32
-luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o

$ dpkg -s binutils-mingw-w64-x86-64
Package: binutils-mingw-w64-x86-64
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 23637
Maintainer: Stephen Kitt <address@hidden>
Architecture: amd64
Source: binutils-mingw-w64 (8.4~exp1)
Version: 2.32-8+8.4~exp1
Replaces: binutils-mingw-w64 (<< 2.22-1+1)
Depends: libc6 (>= 2.14), zlib1g (>= 1:1.2.0), binutils-common (>= 2.32)
Breaks: binutils-mingw-w64 (<< 2.22-1+1)
Description: Cross-binutils for Win64 (x64) using MinGW-w64
 MinGW-w64 provides a development and runtime environment for 32- and
 64-bit (x86 and x64) Windows applications using the Windows API and
 the GNU Compiler Collection (gcc).
 .
 This package contains the toolchain binutils targeting 64-bit Windows.
Built-Using: binutils (= 2.32-8)
Homepage: https://www.gnu.org/software/binutils/

$ dpkg -s g++-mingw-w64-x86-64
Package: g++-mingw-w64-x86-64
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 131359
Maintainer: Stephen Kitt <address@hidden>
Architecture: amd64
Source: gcc-mingw-w64 (21.3)
Version: 8.3.0-7+21.3
Replaces: gcc-mingw-w64 (<< 4.6.3-3+4)
Depends: gcc-mingw-w64-x86-64 (= 8.3.0-7+21.3), gcc-mingw-w64-base (=
8.3.0-7+21.3), libc6 (>= 2.14), libgcc1 (>= 1:4.2), libgmp10, libisl19 (>=
0.15), libmpc3, libmpfr6 (>= 3.1.3), libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4)
Suggests: gcc-8-locales (>= 8.3.0)
Breaks: gcc-mingw-w64 (<< 4.6.3-3+4)
Description: GNU C++ compiler for MinGW-w64 targeting Win64
 MinGW-w64 provides a development and runtime environment for 32- and
 64-bit (x86 and x64) Windows applications using the Windows API and
 the GNU Compiler Collection (gcc).
 .
 This package contains the C++ compiler, supporting
 cross-compiling to 64-bit MinGW-w64 targets.
Built-Using: gcc-8 (= 8.3.0-7)
Homepage: https://www.gnu.org/software/gcc/

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]