From owner-freebsd-toolchain@freebsd.org Wed Nov 9 15:58:32 2016 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 57B39C376C2 for ; Wed, 9 Nov 2016 15:58:32 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-56.reflexion.net [208.70.210.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0D7C02DB for ; Wed, 9 Nov 2016 15:58:31 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 21381 invoked from network); 9 Nov 2016 15:58:53 -0000 Received: from unknown (HELO mail-cs-01.app.dca.reflexion.local) (10.81.19.1) by 0 (rfx-qmail) with SMTP; 9 Nov 2016 15:58:53 -0000 Received: by mail-cs-01.app.dca.reflexion.local (Reflexion email security v8.10.1) with SMTP; Wed, 09 Nov 2016 10:58:39 -0500 (EST) Received: (qmail 17391 invoked from network); 9 Nov 2016 15:58:39 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 9 Nov 2016 15:58:39 -0000 Received: from [192.168.1.106] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 46F9AEC9186; Wed, 9 Nov 2016 07:58:29 -0800 (PST) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\)) Subject: c++ (g++) from base/gcc (via cross build) does not find C++ standard headers, such as cstdlib Message-Id: <5D62C0E6-E6B7-42F5-B74B-8F555C154449@dsl-only.net> Date: Wed, 9 Nov 2016 07:58:28 -0800 To: FreeBSD Toolchain , FreeBSD PowerPC ML X-Mailer: Apple Mail (2.3251) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Nov 2016 15:58:32 -0000 This was noticed via trying to build benchmarks/bonnie++ (via = portmaster): > --- bon_csv2html.o --- > c++ -pipe -g -fno-strict-aliasing -DNDEBUG -Wall -W -Wshadow = -Wpointer-arith -Wwrite-strings -pedantic -ffor-scope -Wcast-align = -Wsign-compare -Wpointer-arith -Wwrite-strings -Wformat-security -Wswit > ch-enum -Winit-self -pipe -g -fno-strict-aliasing -c = bon_csv2html.cpp -o bon_csv2html.o . . . > --- bon_csv2html.o --- > bon_csv2html.cpp:2:19: fatal error: cstdlib: No such file or directory > compilation terminated. > *** [bon_csv2html.o] Error code 1 >=20 > make[2]: stopped in = /usr/obj/portswork/usr/ports/benchmarks/bonnie++/work/bonnie++-1.97.2 > --- bonnie++.o --- > bonnie++.cpp:31:18: fatal error: algo.h: No such file or directory > compilation terminated. In the file system there are: > # find / -name "cstdlib" -print | more = = =20 > /usr/include/c++/v1/tr1/cstdlib > /usr/include/c++/v1/cstdlib > /usr/src/contrib/libc++/include/cstdlib > /usr/src/contrib/libstdc++/include/tr1/cstdlib Using a simpler program: > # c++ main.cc > main.cc:1:19: fatal error: cstdlib: No such file or directory > compilation terminated. "truss -f c++ main.cc" reports for cstdlib references: > # truss -f c++ main.cc 2>&1 | grep cstdlib > 95852: read(3,"#include \n\n// Avoid n"...,1309) =3D 1309 = (0x51d) > 95852: = lstat("/usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include/cstdlib",0= xffffffffffffba20) ERR#2 'No such file or directory' > 95852: = stat("/usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include/cstdlib.gch= ",0xffffffffffffcbd8) ERR#2 'No such file or directory' > 95852: = openat(AT_FDCWD,"/usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include/= cstdlib",O_RDONLY|O_NOCTTY,00) ERR#2 'No such file or directory' > 95852: = lstat("/usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include-fixed/cstd= lib",0xffffffffffffba20) ERR#2 'No such file or directory' > 95852: = stat("/usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include-fixed/cstdl= ib.gch",0xffffffffffffcbd8) ERR#2 'No such file or directory' > 95852: = openat(AT_FDCWD,"/usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include-= fixed/cstdlib",O_RDONLY|O_NOCTTY,00) ERR#2 'No such file or directory' > 95852: lstat("/usr/include/cstdlib",0xffffffffffffba20) ERR#2 'No such = file or directory' > 95852: = stat("/usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/../../../../powerpc= 64-portbld-freebsd12.0/include/cstdlib.gch",0xffffffffffffcbd8) ERR#2 = 'No such file or directory' > 95852: = openat(AT_FDCWD,"/usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/../../..= /../powerpc64-portbld-freebsd12.0/include/cstdlib",O_RDONLY|O_NOCTTY,00) = ERR#2 'No such file or directory' > 95852: read(4,"#include \n\n// Avoid n"...,32768) =3D 1309 = (0x51d) > main.cc:1:19: fatal error: cstdlib: No such file or directory So in finding no cstdlib c++ (g++) looks for each of: > /usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include/cstdlib > /usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include/cstdlib.gch > /usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include-fixed/cstdlib > = /usr/lib/gcc/powerpc64-portbld-freebsd12.0/5.4.0/include-fixed/cstdlib.gch= > /usr/include/cstdlib > /usr/powerpc64-portbld-freebsd12.0/include/cstdlib.gch > /usr/powerpc64-portbld-freebsd12.0/include/cstdlib none of which match the file system. No trivially small number of = symbolic links in the file system can cover making all the involved = paths for various headers work (each "include" already exists and has = files). =3D=3D=3D Mark Millard markmi at dsl-only.net