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
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
<2018>
2019
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
<2018>
2019
2020
2021
2022
2023
2024
|