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>
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/cmstypes.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/lcms/src/cmstypes.c#L965
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c#L3063
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c#L3064
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c#L3066
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c#L3811
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c#L3898
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c#L4174
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c#L4174
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/src/cmstypes.c#L4673
https://github.com/areaDetector/ADSupport/blob/master/supportApp/GraphicsMagickSrc/lcms/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]
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
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]
(w) www.bnl.gov/nsls2