Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Jan 2013 08:57:05 +0000
From:      David Chisnall <theraven@FreeBSD.org>
To:        "O. Hartmann" <ohartman@zedat.fu-berlin.de>
Cc:        Current FreeBSD <freebsd-current@FreeBSD.org>
Subject:   Re: r245838: make world fails: /usr/src/usr.bin/dtc/dtc.cc:196:24: error: use of undeclared identifier 'optarg', string arg = string(optarg); 
Message-ID:  <86EC4A5E-7426-48D1-B4C4-E60B61FD5797@FreeBSD.org>
In-Reply-To: <50FF9C2B.30403@zedat.fu-berlin.de>
References:  <50FEB409.9060907@zedat.fu-berlin.de> <50FEB83D.1000806@zedat.fu-berlin.de> <50FF9C2B.30403@zedat.fu-berlin.de>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_C3F94373-5D62-4117-9FA1-4B02A3BB9E52
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

This appears to be caused by your addition of -stdlib=3Dlibc++  =
-std=3Dc++11 to your CXXFLAGS.  So, first of all, thank you for testing =
libc++! =20

I tested with libc++ while I was developing dtc, but then was building =
with libstdc++ while I was removing extraneous includes.  Unfortunately, =
libstdc++ leaks a load of C headers, whereas libc++ is very careful not =
to.  I've now (r245839) explicitly included everything so it now builds =
with libc++ and in C++11 mode. =20

Thanks for the report,

David

On 23 Jan 2013, at 08:15, O. Hartmann wrote:

> Make world fails in /usr/src/usr.bin/dtc/dtc.cc with a lot of errors
> com[laining about an undeclared identifier:
>=20
> [...]
> =3D=3D=3D> usr.bin/dtc (obj,depend,all,install)
> /usr/obj/usr/src/tmp/usr/src/usr.bin/dtc created for =
/usr/src/usr.bin/dtc
> rm -f .depend
> mkdep -f .depend -a    -I/usr/obj/usr/src/tmp/legacy/usr/include
> -std=3Dc++11  -stdlib=3Dlibc++  /usr/src/usr.bin/dtc/dtc.cc
> /usr/src/usr.bin/dtc/input_buffer.cc /usr/src/usr.bin/dtc/string.cc
> /usr/src/usr.bin/dtc/dtb.cc /usr/src/usr.bin/dtc/fdt.cc
> /usr/src/usr.bin/dtc/checking.cc
> echo dtc: /usr/lib/libc.a =
/usr/obj/usr/src/tmp/legacy/usr/lib/libegacy.a
>>> .depend
> echo dtc: /usr/lib/libc++.a >> .depend
> c++ -O2 -pipe -O3 -I/usr/obj/usr/src/tmp/legacy/usr/include
> -stdlib=3Dlibc++  -std=3Dc++11 -c /usr/src/usr.bin/dtc/dtc.cc
> c++ -O2 -pipe -O3 -I/usr/obj/usr/src/tmp/legacy/usr/include
> -stdlib=3Dlibc++  -std=3Dc++11 -c /usr/src/usr.bin/dtc/input_buffer.cc
> /usr/src/usr.bin/dtc/input_buffer.cc:116:11: error: use of undeclared
> identifier 'strtoll'
> [...]
> 7 errors generated.
> *** [string.o] Error code 1
> /usr/src/usr.bin/dtc/input_buffer.cc:218:10: error: use of undeclared
> identifier 'stderr'
>        fprintf(stderr, "Current cursor: %d\n", cursor);
>                ^
> /usr/src/usr.bin/dtc/input_buffer.cc:219:42: error: use of undeclared
> identifier 'stderr'
>        fwrite(&buffer[cursor], size-cursor, 1, stderr);
>                                                ^
> /usr/src/usr.bin/dtc/input_buffer.cc:227:3: error: use of undeclared
> identifier 'perror'
>                perror("Failed to stat file");
>                ^
> /usr/src/usr.bin/dtc/input_buffer.cc:234:3: error: use of undeclared
> identifier 'perror'
>                perror("Failed to mmap file");
>                ^
> /usr/src/usr.bin/dtc/input_buffer.cc:249:20: error: use of undeclared
> identifier 'stdin'
>        while ((c =3D fgetc(stdin)) !=3D EOF)
>                          ^
> /usr/src/usr.bin/dtc/input_buffer.cc:249:31: error: use of undeclared
> identifier 'EOF'
>        while ((c =3D fgetc(stdin)) !=3D EOF)
>                                     ^
> 15 errors generated.
> *** [input_buffer.o] Error code 1
> /usr/src/usr.bin/dtc/dtb.cc:87:2: error: use of undeclared identifier
> 'write'
>        write(fd, buffer.data(), buffer.size());
>        ^
> /usr/src/usr.bin/dtc/dtb.cc:125:2: error: use of undeclared identifier
> 'snprintf'; did you mean 'vswprintf'?
>        snprintf(out, 3, "%.2hhx", b);
>        ^~~~~~~~
>        vswprintf
> /usr/include/wchar.h:130:5: note: 'vswprintf' declared here
> int     vswprintf(wchar_t * __restrict, size_t n, const wchar_t *
> __restrict,
>        ^
> /usr/src/usr.bin/dtc/dtb.cc:125:11: error: cannot initialize a =
parameter
> of type 'wchar_t *' with an lvalue of type 'char [3]'
>        snprintf(out, 3, "%.2hhx", b);
>                 ^~~
> /usr/include/wchar.h:130:35: note: passing argument to parameter here
> int     vswprintf(wchar_t * __restrict, size_t n, const wchar_t *
> __restrict,
>                                      ^
> /usr/src/usr.bin/dtc/dtb.cc:218:2: error: use of undeclared identifier
> 'write'
>        write(fd, buffer.data(), buffer.size());
>        ^
> /usr/src/usr.bin/dtc/dtb.cc:259:11: error: use of undeclared =
identifier
> 'stderr'
>                fprintf(stderr, "Missing magic token in header.  Got %"
> PRIx32
>                        ^
> 5 errors generated.
> *** [dtb.o] Error code 1
> /usr/src/usr.bin/dtc/dtc.cc:102:15: error: use of undeclared =
identifier
> 'getopt'
>        while ((ch =3D getopt(argc, argv, options)) !=3D -1)
> [...]
>=20


--Apple-Mail=_C3F94373-5D62-4117-9FA1-4B02A3BB9E52
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)

iQIcBAEBAgAGBQJQ/6XiAAoJEKx65DEEsqIdRl8P/1xiRx/UPA2kv+xRb+ANobi8
x7oHcrCAA4DosqtzA70mBMgH7FAL5s2QlaCRv24smyeWK4JhmdFuARv+K/AnhPaT
2ItHDh8sqtjKlmxBCsOW3HcbrrNI7MQEFuJE8IlKNDWJ1UvbumexoVNWdWiJFGj2
MARMC3flMhP8YSgy//daSe7s3DJsbxunoLPi86qLgTGS/DNzl5cY5pMQHvt6mMZ0
Oob5eTt13WKyXtBCytVOmHZ2gWW3k3IIayyhJ7x0izYIeILi21yxisHVyNf6Tzcy
1uEGZiieOl/2wzucYHkD3gY9KF9mjRT9oxZxm4bF82TbJBU0tBL+njqK/plTt1IW
LpGASa/XHhq0aROebNBlDAe/wt7f2K9zpy4+rJXCPEkfNo1c8J0ndXZQ42HVQbWG
k12Md0zX/a9RlOv1Iba9EFFIMMPOBdN3i9DOLcY6H22RaOITSFXkEKpJkhMMyqBQ
0Ae2P3eVRUP80SaUBjtsFGB6SpoUNnaXn77fe5BwairFJoBC2PijR4hU4mEHf5Ok
HDuYuPL7EsGS0tW38+25KddHGBSKc8CLQb4d8M4Dn/NMQjLgkA5mQ5ZBiiP2Jgu8
GFjli3H+T3YNPE3Drsj2cZY+XCWGcH62Kg5XWRhYT4dO4/EbgrahVqY9RCsICsNr
65BLxJwvLrQfS7Nd/BWu
=oovN
-----END PGP SIGNATURE-----

--Apple-Mail=_C3F94373-5D62-4117-9FA1-4B02A3BB9E52--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86EC4A5E-7426-48D1-B4C4-E60B61FD5797>