EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s)
From: "Johnson, Andrew N." <[email protected]>
To: "Rivers, Mark L." <[email protected]>
Cc: "Gofron, Kazimierz" <[email protected]>, "[email protected]" <[email protected]>
Date: Sun, 18 Feb 2018 00:32:52 +0000
Hi,Mark,

When you got the original source file it was probably not encoded as UTF-8. Converting it from whatever encoding it did use to UTF-8 wouldn’t really be changing the meaning of the files. The upstream repo may not even know that they have this problem, but you’ll probably want to ask them what encoding they think they’re using and maybe offer them a fixed version or this file if they want it to be UTF-8 (or change the smart quotes to regular ones instead).

- Andrew

-- 
Sent from my iPad

On Feb 17, 2018, at 2:29 PM, Mark Rivers <[email protected]> wrote:

I will fix these files to remove the offending characters since it seems to cause Perl to fail.

On second thought I would like to get input from Andrew Johnson or others on whether it would be possible to have Perl simply not generate the fatal error in this case.  I am reluctant to change those files, because they are from the GraphicsMagick distribution, and then we need to patch them each time we get a new release.

Mark


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of Mark Rivers
Sent: Saturday, February 17, 2018 2:18 PM
To: 'Gofron, Kazimierz' <[email protected]>; [email protected]
Subject: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)

I have determined that whether or not the non-UTF8 characters are detected depends on the
version of Linux on which grep is running.

I just searched all of ADSupport on an RHEL 7 system and it did not find anything.

[epics@corvette ADSupport]$ find . -type f -name '*.c*' -exec grep -H -axv '.*' {} \;
[epics@corvette ADSupport]$

I then did the search on exactly the same physical files, but running the command on a
Fedora 26 system that has this file system NFS mounted:

[epics@millenia ADSupport]$ find . -type f -name '*.c*' -exec grep -H -axv '.*' {} \;
./supportApp/GraphicsMagickSrc/lcms/src/cmscgats.c:                               // measurement.
Allowed values are ▒black▒, ▒white▒, or {"na".
./supportApp/GraphicsMagickSrc/lcms/src/cmscgats.c:                               // values are
{"yes▒, ▒white▒, ▒none▒ or ▒na▒.
./supportApp/GraphicsMagickSrc/lcms/src/cmsopt.c:        // In this particular optimization,
cach▒ does not help as it takes more time to deal with
./supportApp/GraphicsMagickSrc/lcms/src/cmsopt.c:        // the cach▒ that with the pixel
handling
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c:    //(see clause 4.1 for the definition
of ▒aligned▒). Because the Unicode language
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c://The device representation
corresponds to the header▒s ▒color space of data▒ field.
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c://This representation should be
consistent with the ▒number of device components▒
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c://The PCS representation corresponds
to the header▒s PCS field. The PCS representation
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c://CIE ▒absolute▒ illuminant white
point tristimulus values and CIE ▒absolute▒
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c:// The first curve segment always
starts at ▒Infinity, and the last curve segment always ends at +Infinity. The
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c:// array = [e11, e12, ▒, e1P, e21, e22,
▒, e2P, ▒, eQ1, eQ2, ▒, eQP, e1, e2, ▒, eQ]
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c:            // Y = (Max ▒ Min) * (X ^
Gamma) + Min
./supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c:            // a = (Max ▒ Min) ^ ( 1 /
Gamma)
./supportApp/GraphicsMagickSrc/lcms/src/cmsvirt.c://If  R▒sRGB,G▒sRGB, B▒sRGB <
0.04045
./supportApp/GraphicsMagickSrc/lcms/src/cmsvirt.c://    R =  R▒sRGB / 12.92
./supportApp/GraphicsMagickSrc/lcms/src/cmsvirt.c://    G =  G▒sRGB / 12.92
./supportApp/GraphicsMagickSrc/lcms/src/cmsvirt.c://    B =  B▒sRGB / 12.92
./supportApp/GraphicsMagickSrc/lcms/src/cmsvirt.c://else if  R▒sRGB,G▒sRGB, B▒sRGB
= 0.04045
./supportApp/GraphicsMagickSrc/lcms/src/cmsvirt.c://    R = ((R▒sRGB + 0.055) /
1.055)^2.4
./supportApp/GraphicsMagickSrc/lcms/src/cmsvirt.c://    G = ((G▒sRGB + 0.055) /
1.055)^2.4
./supportApp/GraphicsMagickSrc/lcms/src/cmsvirt.c://    B = ((B▒sRGB + 0.055) /
1.055)^2.4
./supportApp/GraphicsMagickSrc/lcms/src/cmsxform.c:// Null transformation, only applies
formatters. No cach▒
./supportApp/GraphicsMagickSrc/lcms/src/cmsxform.c:// Gamut check, No cach▒, 16 bits.
./supportApp/GraphicsMagickSrc/lcms/src/cmsxform.c:// No gamut check, Cach▒, 16 bits,
./supportApp/GraphicsMagickSrc/lcms/src/cmsxform.c:            // Float transforms don't use
cach▒, always are non-NULL
./supportApp/GraphicsMagickSrc/lcms/src/cmsxform.c:                    p ->xform =
PrecalculatedXFORMGamutCheck;  // Gamut check, no cach▒
./supportApp/GraphicsMagickSrc/lcms/src/cmsxform.c:                    p ->xform =
PrecalculatedXFORM;  // No cach▒, no gamut check
./supportApp/GraphicsMagickSrc/lcms/src/cmsxform.c:                    p ->xform =
CachedXFORMGamutCheck;    // Gamut check, cach▒
./supportApp/GraphicsMagickSrc/lcms/src/cmsxform.c:                    p ->xform =
CachedXFORM;  // No gamut check, cach▒
./supportApp/GraphicsMagickSrc/magick/cdl.c: * Original implementation by Cl▒ment
Follet.  Additional work by Bob
./supportApp/GraphicsMagickSrc/magick/draw.c:%  DrawPathCurveToAbsolute() draws a
cubic B▒zier curve from the current
./supportApp/GraphicsMagickSrc/magick/draw.c:%  DrawPathCurveToRelative() draws a
cubic B▒zier curve from the current
./supportApp/GraphicsMagickSrc/magick/draw.c:%
DrawPathCurveToQuadraticBezierAbsolute() draws a quadratic B▒zier curve
./supportApp/GraphicsMagickSrc/magick/draw.c:%
DrawPathCurveToQuadraticBezierRelative() draws a quadratic B▒zier curve
./supportApp/GraphicsMagickSrc/magick/draw.c:%  B▒zier curve (using absolute
coordinates) from the current point to
./supportApp/GraphicsMagickSrc/magick/draw.c:%  B▒zier curve (using relative
coordinates) from the current point to
./supportApp/GraphicsMagickSrc/magick/draw.c:%  DrawPathCurveToSmoothAbsolute()
draws a cubic B▒zier curve from the
./supportApp/GraphicsMagickSrc/magick/draw.c:%  DrawPathCurveToSmoothRelative()
draws a cubic B▒zier curve from the
./supportApp/GraphicsMagickSrc/magick/hclut.c:%  GraphicsMagick by Cl▒ment Follet
with support from C▒dric Lejeune of
./supportApp/GraphicsMagickSrc/wmf/src/extra/gd/gdtestft.c:  char *s = "Hello.
▒▒▒▒ɂ▒▒▒ Qyjpqg,";       /* String to draw. */

I will fix these files to remove the offending characters since it seems to cause Perl to fail.

Mark


-----Original Message-----
From: Gofron, Kazimierz [mailto:[email protected]]
Sent: Saturday, February 17, 2018 11:59 AM
To: Mark Rivers <[email protected]>; [email protected]
Subject: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)

Could you please check if those characters are actually converted to UTF8 on your RHEL
7.

Form windows/linux google-chrome, I am seeing these characters in the github.com. I
copy/past them into the

https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L965
I copy/past these characters into the UTF8 tool:
https://sites.google.com/site/nathanlexwww/tools/utf8-convert
I am seeing them as 6byte instead of usual 2Byte on the github.

-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Saturday, February 17, 2018 12:48 PM
To: Gofron, Kazimierz; [email protected]
Subject: Re: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)

Any idea why my RHEL 7 system behaves differently from your Debian 8 system?  Is it
an
OS language setting?


________________________________
From: Gofron, Kazimierz <[email protected]>
Sent: Saturday, February 17, 2018 11:35 AM
To: Mark Rivers; [email protected]
Subject: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)


Hi Mark,



The non UTF8 characters are seen on linux as well.



1.       Debian 9 in VirtualBox on Windows 7 host.

kaz@stretch64:~/epics/ADSupport$ uname -a

Linux stretch64 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) x86_64
GNU/Linux



kaz@stretch64:~/epics$ git clone https://github.com/areaDetector/ADSupport ADSupport

Cloning into 'ADSupport'...

remote: Counting objects: 7063, done.

remote: Compressing objects: 100% (3/3), done.

remote: Total 7063 (delta 0), reused 1 (delta 0), pack-reused 7060

Receiving objects: 100% (7063/7063), 25.59 MiB | 3.38 MiB/s, done.

Resolving deltas: 100% (3660/3660), done.

kaz@stretch64:~/epics$ cd ADSupport/

kaz@stretch64:~/epics/ADSupport$ git branch -a

* master

 remotes/origin/HEAD -> origin/master

 remotes/origin/hdf5-1.10.1-pre1

 remotes/origin/hdf5-1.10.1-pre2

 remotes/origin/master



kaz@stretch64:~/epics/ADSupport$ grep -n -axv '.*'
supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c

965:    //(see clause 4.1 for the definition of �aligned�). Because the Unicode language

3063://The device representation corresponds to the header�s �color space of data�
field.

3064://This representation should be consistent with the �number of device components�

3066://The PCS representation corresponds to the header�s PCS field. The PCS
representation

3811://CIE �absolute� illuminant white point tristimulus values and CIE �absolute�

3898:// The first curve segment always starts at �Infinity, and the last curve segment
always
ends at +Infinity. The

4174:// array = [e11, e12, �, e1P, e21, e22, �, e2P, �, eQ1, eQ2, �, eQP, e1, e2, �, eQ]

4673:            // Y = (Max � Min) * (X ^ Gamma) + Min

4676:            // a = (Max � Min) ^ ( 1 / Gamma)

kaz@stretch64:~/epics/ADSupport$

======================

2.       Server , debian 8

kgofron@xf18id-srv2:~/test/ADSupport$ uname -a

Linux xf18id-srv2 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19)
x86_64
GNU/Linux



kgofron@xf18id-srv2:~/test$ git clone https://github.com/areaDetector/ADSupport

Cloning into 'ADSupport'...

remote: Counting objects: 7063, done.

remote: Compressing objects: 100% (3/3), done.

remote: Total 7063 (delta 0), reused 1 (delta 0), pack-reused 7060

Receiving objects: 100% (7063/7063), 25.59 MiB | 5.94 MiB/s, done.

Resolving deltas: 100% (3660/3660), done.

Checking connectivity... done.

kgofron@xf18id-srv2:~/test$ cd ADSupport

kgofron@xf18id-srv2:~/test/ADSupport$ git branch -a

* master

 remotes/origin/HEAD -> origin/master

 remotes/origin/hdf5-1.10.1-pre1

 remotes/origin/hdf5-1.10.1-pre2

 remotes/origin/master



kgofron@xf18id-srv2:~/test/ADSupport$ grep -n -axv '.*'
supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c

965:    //(see clause 4.1 for the definition of �aligned�). Because the Unicode language

3063://The device representation corresponds to the header�s �color space of data�
field.

3064://This representation should be consistent with the �number of device components�

3066://The PCS representation corresponds to the header�s PCS field. The PCS
representation

3811://CIE �absolute� illuminant white point tristimulus values and CIE �absolute�

3898:// The first curve segment always starts at �Infinity, and the last curve segment
always
ends at +Infinity. The

4174:// array = [e11, e12, �, e1P, e21, e22, �, e2P, �, eQ1, eQ2, �, eQP, e1, e2, �, eQ]

4673:            // Y = (Max � Min) * (X ^ Gamma) + Min

4676:            // a = (Max � Min) ^ ( 1 / Gamma)

kgofron@xf18id-srv2:~/test/ADSupport$



Kaz



From: Mark Rivers [mailto:[email protected]]
Sent: Saturday, February 17, 2018 11:40 AM
To: Gofron, Kazimierz; [email protected]
Subject: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)



Hi Kaz,



I cannot reproduce your grep of the non-UTF-8 characters.  Here is a fresh clone and a
grep
on an RHEL 7 system.  The grep command is a copy and paste from your e-mail.



[epics@corvette scratch]$ git clone

[email protected]:areaDetector/ADSupport<mailto:[email protected]:areaDetector/ADSupport


Cloning into 'ADSupport'...

remote: Counting objects: 7063, done.

remote: Compressing objects: 100% (3/3), done.

remote: Total 7063 (delta 0), reused 1 (delta 0), pack-reused 7060

Receiving objects: 100% (7063/7063), 25.59 MiB | 29.57 MiB/s, done.

Resolving deltas: 100% (3660/3660), done.

[epics@corvette scratch]$ cd ADSupport/supportApp/GraphicsMagickSrc/lcms/src/

[epics@corvette src]$ grep -n -axv '.*' cmstypes.c

[epics@corvette src]$



What do you see if you follow these steps on a Linux system?



Mark





From: Gofron, Kazimierz [mailto:[email protected]]
Sent: Saturday, February 17, 2018 9:31 AM
To: Mark Rivers <[email protected]<mailto:[email protected]>>; tech-
[email protected]<mailto:[email protected]>
Subject: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)



Hi Mark,



After changing to master branch (was in detached HEAD), I confirmed that the
cmstypes.c
has the UTF8 problem.



Sqr-1 IXS@IXS_MCM /cygdrive/c/epics/synApps/support/areaDetector-3-
2/ADSupport/supportApp/GraphicsMagickSrc/lcms/src

$ grep -n -axv '.*' cmstypes.c

965:    //(see clause 4.1 for the definition of ▒aligned▒). Because the Unicode language

3063://The device representation corresponds to the header▒s ▒color space of data▒
field.

3064://This representation should be consistent with the ▒number of device components▒

3066://The PCS representation corresponds to the header▒s PCS field. The PCS
representation

3811://CIE ▒absolute▒ illuminant white point tristimulus values and CIE ▒absolute▒

3898:// The first curve segment always starts at ▒Infinity, and the last curve segment
always
ends at +Infinity. The

4174:// array = [e11, e12, ▒, e1P, e21, e22, ▒, e2P, ▒, eQ1, eQ2, ▒, eQP, e1, e2, ▒, eQ]

4673:            // Y = (Max ▒ Min) * (X ^ Gamma) + Min

4676:            // a = (Max ▒ Min) ^ ( 1 / Gamma)

---------------------

Now your steps:

-----------------------------------Step 1

c:\epics\synApps\support\areaDetector-3-2\ADSupport\supportApp\GraphicsMagickSrc

\lcms\src>git status .

On branch master

Your branch is up to date with 'origin/master'.



nothing to commit, working tree clean

----------------------------------  Step 2

a)       {I do not have the O.windows-x64-static-vs2017 directory}

c:\epics\synApps\support\areaDetector-3-
2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>ls -l

total 1240

-rw-r--r-- 1 Sqr-1 IXS 197121   1484 Feb 16 15:21 Makefile

-rw-r--r-- 1 Sqr-1 IXS 197121    945 Feb 16 15:21 Makefile.am

-rw-r--r-- 1 Sqr-1 IXS 197121  24192 Feb 16 15:21 Makefile.in

drwxr-xr-x 1 Sqr-1 IXS 197121      0 Feb 17 10:16 O.Common

drwxr-xr-x 1 Sqr-1 IXS 197121      0 Feb 17 10:16 O.windows-x64-static

-rw-r--r-- 1 Sqr-1 IXS 197121  16076 Feb 16 15:21 cmsalpha.c

-rw-r--r-- 1 Sqr-1 IXS 197121  14439 Feb 16 15:21 cmscam02.c

-rw-r--r-- 1 Sqr-1 IXS 197121  75151 Feb 16 15:21 cmscgats.c

-rw-r--r-- 1 Sqr-1 IXS 197121  43741 Feb 16 15:21 cmscnvrt.c

-rw-r--r-- 1 Sqr-1 IXS 197121  21630 Feb 16 15:21 cmserr.c

-rw-r--r-- 1 Sqr-1 IXS 197121  38551 Feb 16 15:21 cmsgamma.c

-rw-r--r-- 1 Sqr-1 IXS 197121  20565 Feb 16 15:21 cmsgmt.c

-rw-r--r-- 1 Sqr-1 IXS 197121  35846 Feb 16 15:21 cmshalf.c

-rw-r--r-- 1 Sqr-1 IXS 197121  45687 Feb 16 15:21 cmsintrp.c

-rw-r--r-- 1 Sqr-1 IXS 197121  60115 Feb 16 15:21 cmsio0.c

-rw-r--r-- 1 Sqr-1 IXS 197121  36128 Feb 16 15:21 cmsio1.c

-rw-r--r-- 1 Sqr-1 IXS 197121  53169 Feb 16 15:21 cmslut.c

-rw-r--r-- 1 Sqr-1 IXS 197121   9806 Feb 16 15:21 cmsmd5.c

-rw-r--r-- 1 Sqr-1 IXS 197121   5858 Feb 16 15:21 cmsmtrx.c

-rw-r--r-- 1 Sqr-1 IXS 197121  29205 Feb 16 15:21 cmsnamed.c

-rw-r--r-- 1 Sqr-1 IXS 197121  66034 Feb 16 15:21 cmsopt.c

-rw-r--r-- 1 Sqr-1 IXS 197121 112503 Feb 16 15:21 cmspack.c

-rw-r--r-- 1 Sqr-1 IXS 197121  26406 Feb 16 15:21 cmspcs.c

-rw-r--r-- 1 Sqr-1 IXS 197121  28939 Feb 16 15:21 cmsplugin.c

-rw-r--r-- 1 Sqr-1 IXS 197121  48476 Feb 16 15:21 cmsps2.c

-rw-r--r-- 1 Sqr-1 IXS 197121  18399 Feb 16 15:21 cmssamp.c

-rw-r--r-- 1 Sqr-1 IXS 197121  19820 Feb 16 15:21 cmssm.c

-rw-r--r-- 1 Sqr-1 IXS 197121 186719 Feb 17 09:34 cmstypes.c

-rw-r--r-- 1 Sqr-1 IXS 197121  38122 Feb 16 15:21 cmsvirt.c

-rw-r--r-- 1 Sqr-1 IXS 197121  11330 Feb 16 15:21 cmswtpnt.c

-rw-r--r-- 1 Sqr-1 IXS 197121  49131 Feb 16 15:21 cmsxform.c

-rw-r--r-- 1 Sqr-1 IXS 197121  22867 Feb 16 15:21 lcms2.def

-rw-r--r-- 1 Sqr-1 IXS 197121  37465 Feb 16 15:21 lcms2_internal.h

--------------

b)

c:\epics\synApps\support\areaDetector-3-
2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>del O.windows-x64-static-
vs2017\cmstypes.obj

The system cannot find the file specified.

--------------

c)

c:\epics\synApps\support\areaDetector-3-
2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>make

make -C O.windows-x64-static -f ../Makefile TOP=../../../../.. \

   T_A=windows-x64-static install

make[1]: Entering directory 'c:/epics/synApps/support/areaDetector-3-
2/ADSupport/supportApp/GraphicsMagickSrc/lcms/src/O.windows-x64-static'



perl -CSD c:/epics/base-7.0.1/bin/windows-x64-static/mkmf.pl  -m cmstypes.d -I. -
I../O.Common -I. -I. -I.. -I../../../../../include/compiler

/msvc -I../../../../../include/os/WIN32 -I../../../../../include      -
IC:/epics/synApps/support/asyn-
R4-33/include     -IC:/epics/synApps/s

upport/areaDetector-3-2/ADSupport/include/os/WIN32 -
IC:/epics/synApps/support/areaDetector-3-2/ADSupport/include   -
IC:/epics/synApps/suppor

t/areaDetector-3-2/ADCore/include -Ic:/epics/base-7.0.1/include/compiler/msvc -
Ic:/epics/base-7.0.1/include/os/WIN32 -Ic:/epics/base-7.0.1/i

nclude     -I../../../../../supportApp/GraphicsMagickSrc/lcms/include    cmstypes.obj
../cmstypes.c

Malformed UTF-8 character (fatal) at c:/epics/base-7.0.1/bin/windows-x64-static/mkmf.pl
line 137, <FILE> line 5573.

make[1]: Nothing to be done for 'install'.

make[1]: Leaving directory 'c:/epics/synApps/support/areaDetector-3-
2/ADSupport/supportApp/GraphicsMagickSrc/lcms/src/O.windows-x64-static'

------------------------------------==

a2)

c:\epics\synApps\support\areaDetector-3-
2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src\O.windows-x64-static>del
cmstypes.obj



c:\epics\synApps\support\areaDetector-3-
2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src\O.windows-x64-static>cd ..



c:\epics\synApps\support\areaDetector-3-
2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>make

make -C O.windows-x64-static -f ../Makefile TOP=../../../../.. \

   T_A=windows-x64-static install

make[1]: Entering directory 'c:/epics/synApps/support/areaDetector-3-
2/ADSupport/supportApp/GraphicsMagickSrc/lcms/src/O.windows-x64-static'



perl -CSD c:/epics/base-7.0.1/bin/windows-x64-static/mkmf.pl  -m cmstypes.d -I. -
I../O.Common -I. -I. -I.. -I../../../../../include/compiler

/msvc -I../../../../../include/os/WIN32 -I../../../../../include      -
IC:/epics/synApps/support/asyn-
R4-33/include     -IC:/epics/synApps/s

upport/areaDetector-3-2/ADSupport/include/os/WIN32 -
IC:/epics/synApps/support/areaDetector-3-2/ADSupport/include   -
IC:/epics/synApps/suppor

t/areaDetector-3-2/ADCore/include -Ic:/epics/base-7.0.1/include/compiler/msvc -
Ic:/epics/base-7.0.1/include/os/WIN32 -Ic:/epics/base-7.0.1/i

nclude     -I../../../../../supportApp/GraphicsMagickSrc/lcms/include    cmstypes.obj
../cmstypes.c

Malformed UTF-8 character (fatal) at c:/epics/base-7.0.1/bin/windows-x64-static/mkmf.pl
line 137, <FILE> line 5573.

cl               -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -
D_CRT_NONSTDC_NO_DEPRECATE   -Ox -Oy-   -W3     -D_LCMSLIB_ -DWIN64
-
D_VIS

UALC_ -D_LIB    -MT    -I. -I../O.Common -I. -I. -I.. -I../../../../../include/compiler/msvc -
I../../../../../include/os/WIN32 -I../../../..

/../include      -IC:/epics/synApps/support/asyn-R4-33/include     -
IC:/epics/synApps/support/areaDetector-3-2/ADSupport/include/os/WIN32 -I

C:/epics/synApps/support/areaDetector-3-2/ADSupport/include   -
IC:/epics/synApps/support/areaDetector-3-2/ADCore/include -Ic:/epics/base-7.0

.1/include/compiler/msvc -Ic:/epics/base-7.0.1/include/os/WIN32 -Ic:/epics/base-
7.0.1/include     -I../../../../../supportApp/GraphicsMagick

Src/lcms/include    -c ../cmstypes.c

cmstypes.c

lib -nologo -verbose -out:lcms.lib         cmsalpha.obj cmscam02.obj cmscgats.obj
cmscnvrt.obj cmserr.obj cmsgamma.obj cmsgmt.obj cmshalf.ob

j cmsintrp.obj cmsio0.obj cmsio1.obj cmslut.obj cmsmd5.obj cmsmtrx.obj cmsnamed.obj
cmsopt.obj cmspack.obj cmspcs.obj cmsplugin.obj cmsps2.o

bj cmssamp.obj cmssm.obj cmstypes.obj cmsvirt.obj cmswtpnt.obj cmsxform.obj

Appending cmsxform.obj

Appending cmswtpnt.obj

Appending cmsvirt.obj

Appending cmstypes.obj

Appending cmssm.obj

Appending cmssamp.obj

Appending cmsps2.obj

Appending cmsplugin.obj

Appending cmspcs.obj

Appending cmspack.obj

Appending cmsopt.obj

Appending cmsnamed.obj

Appending cmsmtrx.obj

Appending cmsmd5.obj

Appending cmslut.obj

Appending cmsio1.obj

Appending cmsio0.obj

Appending cmsintrp.obj

Appending cmshalf.obj

Appending cmsgmt.obj

Appending cmsgamma.obj

Appending cmserr.obj

Appending cmscnvrt.obj

Appending cmscgats.obj

Appending cmscam02.obj

Appending cmsalpha.obj

Installing library ../../../../../lib/windows-x64-static/lcms.lib

make[1]: Leaving directory 'c:/epics/synApps/support/areaDetector-3-
2/ADSupport/supportApp/GraphicsMagickSrc/lcms/src/O.windows-x64-static'



c:\epics\synApps\support\areaDetector-3-
2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>

-------=====



My installation is cloned directly to Windows from github, but previously I cloned to
debian9 virtual machine, and copied through shared folder to Windows with same
compile
errors. The compilation is reproducible on two Windows 7 systems.



-Kaz





From: Mark Rivers [mailto:[email protected]]
Sent: Saturday, February 17, 2018 8:26 AM
To: Gofron, Kazimierz; [email protected]<mailto:[email protected]>
Subject: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)



Hi Kaz,



I just tested compiling that file on my system.  The following shows that I am using the
git
master version of that file, and that I don’t get any error compiling it with VS 2017.  Can
you please execute these exact same 3 commands on your system?  Check out the master
branch first.  In the output below I inserted line breaks into the cl output to make it easier
to
read.



One difference could be that my working directory is on a Linux system, not on a
Windows
system.  I have the Linux file system mounted from the Windows machine.  Perhaps there
is
some character translation happening either with the git checkout on Linux, or when
serving
the files to Windows?



J:\epics\devel\areaDetector-3-2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>git
status .

On branch master

Your branch is up-to-date with 'origin/master'.

nothing to commit, working tree clean



J:\epics\devel\areaDetector-3-2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>del
O.windows-x64-static-vs2017\cmstypes.obj



J:\epics\devel\areaDetector-3-
2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>make

make -C O.windows-x64-static-vs2017 -f ../Makefile TOP=../../../../.. \

   T_A=windows-x64-static-vs2017 install

make[1]: Entering directory 'J:/epics/devel/areaDetector-3-
2/ADSupport/supportApp/GraphicsMagickSrc/lcms/src/O.windows-x64-static-vs2017'

cl               -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -
D_CRT_NONSTDC_NO_DEPRECATE   -Ox -Oy-   -W3

-D_LCMSLIB_ -DWIN64 -D_VISUALC_ -D_LIB    -MT    -I. -I../O.Common

-I. -I. -I.. -I../../../../../include/compiler/msvc -I../../../../../include/os/WIN32 -
I../../../../../include

-IJ:/epics/devel/asyn-4-33/include/compiler/msvc  -IJ:/epics/devel/asyn-4-33/include

-IJ:/epics/devel/areaDetector-3-2/ADSupport/include/os/WIN32 -
IJ:/epics/devel/areaDetector-3-2/ADSupport/include

-IJ:/epics/devel/areaDetector-3-2/ADCore/include -IH:/epics-devel/base-
7.0.1/include/compiler/msvc

-IH:/epics-devel/base-7.0.1/include/os/WIN32 -IH:/epics-devel/base-7.0.1/include

-I../../../../../supportApp/GraphicsMagickSrc/lcms/include    -c ../cmstypes.c

cmstypes.c

lib -nologo -verbose -out:lcms.lib         cmsalpha.obj cmscam02.obj cmscgats.obj
cmscnvrt.obj cmserr.obj cmsgamma.obj cmsgmt.obj cmshalf.obj cmsintrp.obj cmsio0.obj
cmsio1.obj cmslut.obj cmsmd5.obj cmsmtrx.obj cmsnamed.obj cmsopt.obj cmspack.obj
cmspcs.obj cmsplugin.obj cmsps2.obj cmssamp.obj cmssm.obj cmstypes.obj cmsvirt.obj
cmswtpnt.obj cmsxform.obj

Appending cmsxform.obj

Appending cmswtpnt.obj

Appending cmsvirt.obj

Appending cmstypes.obj

Appending cmssm.obj

Appending cmssamp.obj

Appending cmsps2.obj

Appending cmsplugin.obj

Appending cmspcs.obj

Appending cmspack.obj

Appending cmsopt.obj

Appending cmsnamed.obj

Appending cmsmtrx.obj

Appending cmsmd5.obj

Appending cmslut.obj

Appending cmsio1.obj

Appending cmsio0.obj

Appending cmsintrp.obj

Appending cmshalf.obj

Appending cmsgmt.obj

Appending cmsgamma.obj

Appending cmserr.obj

Appending cmscnvrt.obj

Appending cmscgats.obj

Appending cmscam02.obj

Appending cmsalpha.obj

"Installing library ../../../../../lib/windows-x64-static-vs2017/lcms.lib"

make[1]: Leaving directory 'J:/epics/devel/areaDetector-3-
2/ADSupport/supportApp/GraphicsMagickSrc/lcms/src/O.windows-x64-static-vs2017'



J:\epics\devel\areaDetector-3-2\ADSupport\supportApp\GraphicsMagickSrc\lcms\src>

From: Gofron, Kazimierz [mailto:[email protected]]
Sent: Saturday, February 17, 2018 7:03 AM
To: Mark Rivers <[email protected]<mailto:[email protected]>>; tech-
[email protected]<mailto:[email protected]>
Subject: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)



Hi Mark,



The ADSupport compilation error is originating from non compatible UTF-8 characters in
cmstypes.c file. That compilation error went away after changing characters to UTF-8
format.

For now, I placed a UTF-8 compatible file here:

https://github.com/kgofron/synAppsRelease/blob/master/SCRIPTS/ADSupportRepair/cmsty
pes.c



I wonder whether you have another installation of GraphicsMagick on your system.



The characters not following UTF-8 format are on following lines of cmstypes.c file. I
checked few and they have 24 bit/6byte, instead of 2Byte(UTF-8). They are in comments
area, and typically are left-quote/right-quote, ellipses single character (…), elongated
minus,
etc.


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L965


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L3063


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L3064


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L3066


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L3811


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L3898


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L4174


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L4174


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L4673


https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lc
ms/src/cmstypes.c#L4676



UTF8<=> converter

https://sites.google.com/site/nathanlexwww/tools/utf8-convert

Line 965 1st non-compatible character uses left quote (Hex C293220A,
RFC4648:wpMK).



-Kaz



From: Mark Rivers [mailto:[email protected]]
Sent: Friday, February 16, 2018 11:46 PM
To: Gofron, Kazimierz; [email protected]<mailto:[email protected]>
Subject: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)



There is a compilation error when compiling ADSupport  of areaDetector 3.2 with base-
7.
This error is related to GraphicsMagic.



I cannot reproduce that problem.  I have rebuilt ADSupport several times and the strings
“Malformed” or “UTF-8” do not occur in the output.  I used “make –sj8”.  I am using the
master branch of ADSupport.



I am using the same setup as Kaz:

base-7.0.1.1

VisualStudio 2017

make-4.2.1

Windows 7 Pro 64 bit

windows-x64-static



I do note that by switching to make 4.2.1 I no longer see the hangup when using “make –
sj”
which I did see with make 4.1.  make 4.1 would always hang when building
ADSupport/supportApp/hdf5Src with with make –sj.  It did always work with make –sj8.



Mark





From: [email protected]<mailto:[email protected]>
[mailto:tech-
[email protected]] On Behalf Of Gofron, Kazimierz
Sent: Friday, February 16, 2018 9:31 PM
To: [email protected]<mailto:[email protected]>
Cc: Gofron, Kazimierz <[email protected]<mailto:[email protected]>>
Subject: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8
character(s)



Hi,



There is a compilation error when compiling ADSupport  of areaDetector 3.2 with base-7.
This error is related to GraphicsMagic.



base-7.0.1.1

VisualStudio 2017

make-4.2.1

Windows 7 Pro 64 bit

windows-x64-static

====

When compiling ADSupport, the following error is displayed twice:

----

Appending buf.obj

Malformed UTF-8 character (fatal) at c:/epics/base-7.0.1/bin/windows-x64-static/mkmf.pl
line 136, <FILE> line 5573.

jbig.c



Malformed UTF-8 character (fatal) at c:/epics/base-7.0.1/bin/windows-x64-static/mkmf.pl
line 136, <FILE> line 5573.

BZIP compiling as library

----



Kazimierz Gofron

NSLS-II Controls Group

Brookhaven National Laboratory

(p) +1 (631) 344 5283

(f) +1 (631) 344 8085

(e) [email protected]<mailto:[email protected]>

(w) www.bnl.gov/nsls2<http://www.bnl.gov/nsls2>



Replies:
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Mark Rivers
References:
ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Gofron, Kazimierz
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Mark Rivers
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Gofron, Kazimierz
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Mark Rivers
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Gofron, Kazimierz
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Mark Rivers
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Gofron, Kazimierz
Re: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Mark Rivers
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Gofron, Kazimierz
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Mark Rivers
RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Mark Rivers

Navigate by Date:
Prev: Re: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Maren Purves
Next: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Gofron, Kazimierz
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Gofron, Kazimierz
Next: RE: ADSupport compilation problem due to GraphicsMagick Malformed UTF-8 character(s) Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
ANJ, 18 Feb 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·