OCCT switches to using FTGL 2.1.3


Dear Contributors,

Please note that last integration to Git master has introduced porting of OCCT on last version of FTGL, 2.1.3rc5. This is a version included with most modern Linux distributions, and this change enables OCCT building with native FTGL on these systems.

Since FTGL is packaged in different way in 2.1.2 and 2.1.3, update of OCCT build tools (WOK, automake scripts on Linux, MS projects on Windows) is required. Please download updated WOK (Windows and Linux only) from Resources page, and rebuild.

For Windows users, we have prepared binary archives of FTGL 2.1.3rc5 and updated FreeType library (version 2.4.10 built as dynamic library) which you can find here.

Building OCCT with previously supported versions of FTGL 2.1.2 and FreeType 2.3.7 should still be possible. On Linux, this should be supported properly by automake scripts. On Windows, use of FTGL 2.1.2 requires that FreeType is rebuilt as dynamic library (which in turn requires rebuild of FTGL); in addition, pre-processor macro HAVE_FTGL_UPPERCASE must be defined during compilation of TKOpenGL. For building OCCT by MS Visual Studio, this macro can be added to variable CSF_DEFINES in env.bat (generated by WOK). For building by WOK, this macro should be defined in WOK EDL files.

Please feel free to comment on this change in this forum thread.


Pawel's picture

Hello Andrey,

a short comment on the latest development:

1) Just as a feedback: I have successfully compiled and run OCCT (latest master/0023252) on WinXP 32 bit with the new FTGL/FreeType versions. No problems at first glance ;)

2) I couldn't compile the latest master (see above) as the x64 version (on Windows) because of the changes introduced in the branch

0023272: Image comparison algorithm

In the file Image_Diff.cxx in lines 411/412 the compiler produced the error

C2668: 'abs' ambiguous call to overloaded function

The corresponding lines are:
if (std::abs (ptrdiff_t (aCol1 - aCol2)) <= 1 &&
std::abs (ptrdiff_t (aRow1 - aRow2)) <= 1)

Because I don't have the access to the issue 23272, please report it using Mantis / forward to the corresponding developer.
Thank you.


Pawel's picture

Oops, auto-correction:

I've just noticed the commit

7426e5cc6e5af0b732f5bb799f1b93f91b5978bf (Image_Diff - fix compilation error on x86_64 target using msvc)

fixes the problem causing C2668 compiler error.

Sorry for the noise.


Andrey BETENEV's picture

Hello Pawel,

Thank you for commenting! The fix for build problem on 64-bit MSVC is integrated to master today. Sorry for letting the problem happen!