On 04/19/2018 03:38 PM, Ken Moffat wrote:
On Wed, Apr 18, 2018 at 09:08:34PM -0500, Bruce Dubbs wrote:
On 04/18/2018 07:25 PM, Ken Moffat wrote:
I don't build gptfdisk on some of my machines, so I didn't notice
this until now. Building gptfdisk with 'make ICU=1 POPT=1' fails:
g++ -O2 -march=native -Wall -D_FILE_OFFSET_BITS=64 -DUSE_UTF16 -c -o mbr.o
mbr.cc
[...]
gptpart.h:84:26: error: 'UnicodeString' does not name a type; did you mean
'ReadString'?
void SetName(const UnicodeString & theName);
^~~~~~~~~~~~~
ReadString
make: *** [<builtin>: mbr.o] Error 1
If I don't pass ICU=1 it builds.
Looking at fedora, arch, gentoo, debian (at least fedora and debian
seem to call it gdisk) I see nothing like the patch we are carrying,
they just build it as upstream designed (although there seem to be
fixes for ncursesw5 in gentoo and debian).
I don't have any unicode partition names and I guess I don't need
either icu or popt, so I'll just mention this here and simplify my
build by not passing ICU=1.
I wrote that patch for convenience. It makes the build simpler.
'make ICU=1 POPT=1' works fine for me.
Yes, but I've just checked fedora again - they do build against
popt, but all they pass to CXX is their generic optflags (i.e. not
set within the specfile for this package) and
-D_FILE_OFFSET_BITS=64.
ICU=1 is used to put -DUSE_UTF16 in the g++ command line. For parttypes.h,
that define causes parttypes.h to include <unicode/ustream.h>. Are you sure
you have icu installed? Did you use the patch?
Yes, I installed icu4c-61_1 at 23:26 and got the failure some time
later. With gptfdisk-1.0.3-convenience-1.patch.
I'm using icu4c-60_2, but it's been working for me since 2015.
Retrying:
ken@plexi /tmp $tar -xf /sources/gptfdisk-1.0.3.tar.gz
ken@plexi /tmp $cd gptfdisk-1.0.3/
ken@plexi /tmp/gptfdisk-1.0.3 $cat /sources/gptfdisk-1.0.3-convenience-1.patch
| patch -p1
patching file Makefile
ken@plexi /tmp/gptfdisk-1.0.3 $make ICU=1 POPT=1
g++ -Wall -D_FILE_OFFSET_BITS=64 -DUSE_UTF16 -c -o crc32.o crc32.cc
g++ -Wall -D_FILE_OFFSET_BITS=64 -DUSE_UTF16 -c -o support.o support.cc
support.cc: In function ‘uint64_t GetNumber(uint64_t, uint64_t, uint64_t, const
string&)’:
support.cc:80:46: warning: format ‘%lld’ expects argument of type ‘long long
int*’, but argument 3 has type ‘uint64_t* {aka long unsigned int*}’ [-Wformat=]
num = sscanf(line, "%lld", &response);
~~~~~~~~~^
g++ -Wall -D_FILE_OFFSET_BITS=64 -DUSE_UTF16 -c -o guid.o guid.cc
g++ -Wall -D_FILE_OFFSET_BITS=64 -DUSE_UTF16 -c -o gptpart.o gptpart.cc
In file included from gptpart.h:22:0,
from gptpart.cc:27:
parttypes.h:59:4: error: ‘UnicodeString’ does not name a type; did you mean
‘ReadString’?
UnicodeString UTypeName(void) const;
^~~~~~~~~~~~~
ReadString
(etc).
This is a new build, using LFS from 16th April (r11402) except with
linux-4.16.2, and BLFS r20092 from 17th April.
Hmm, OK. I'll try build in a fresh build tomorrow. Neither icu or
popt need any dependencies.
-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page