On 04/20/2018 01:21 PM, Pierre Labastie wrote:
On 20/04/2018 19:29, Bruce Dubbs wrote:
On 04/20/2018 11:05 AM, Pierre Labastie wrote:
On 20/04/2018 17:58, Pierre Labastie wrote:
On 20/04/2018 16:40, Bruce Dubbs wrote:

So where are we different?  About the only thing I can thing of is that we
have different files in /usr/include/unicode. I installed them from icu.

Sun Feb 18 11:55:34 CST 2018 /usr/src/icu/icu4c-60_2-src.tgz


Hmm, have you tried icu-61.1?

I had not, but I updated and got the same errors as you and Ken.

I think the problem is that now icu types need a namespace qualifier. We have
had an issue for that in libreoffice too.

But since icu is not needed for gptfdisk (since version 0.8.3), I think
removing the switch is a better solution than passing
CPPFLAGS='-DU_USE_ICU_NAMESPACE=1'

I agree that icu does not seem to be needed, but I cannot find USE_ICU
anywhere in the gpt sources or unicode headers.  (Tested and it doesn't work).

However editing gptpart.cc and adding

using namespace icu;

right after #include <unicode/ustdio.h> does work (sorta).  The g++ command
completes but the link fails.  There are probably other places that need
similar changes.

I'm not suggesting we change gptfdisk again.  I'm just trying to document why
the build fails when trying to use the latest icu.


I see...
I'm not sure CPPFLAGS is used in gptfdisk's Makefile. I think the right fix
would be: CXXFLAGS += -DU_USE_ICU_NAMESPACE=1

My point was that, AFAICT, U_USE_ICU_NAMESPACE is not defined anywhere in the icu or gptfdisk sources. Defining an unused name will do nothing.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to