HOOPS + ODA libraries : Linux Compilers requirements

Introduction

Due to a platform requirement change that happened in the third-party dependency, HOOPS is relying on for the ODA - Revit and AutoCAD/DWG Readers, the HOOPS 2022 SP1 minimum requirements on Linux have been changed.

You won’t be affected by this change if:

  • you are not using these two readers ( use HOOPS_Exchange_Publish_2022_SP1_Lin_NODWG.tar.gz package )
  • you are not developing any application running on Linux,
  • you are using these readers in a Linux application that already meets these new minimum requirements.

You will be affected by this change if:

  • you are using one of these two readers in an application running on Linux that doesn’t follow the new minimum requirements*.*

Current Compatibility

HOOPS up to 2022 ODA up to v2021 (21.11)
GLIB C 2.17 (Centos/Red Hat 7/libstdc++ 4.8.5-39) or higher.

New Compatibility

HOOPS 2022 SP1 and higher ODA v2022 and higher (22.00+)
GLIB C 2.24 (Centos/Red Hat 8 /libstdc+±8.5.0-4) or higher.

Consequently, Linux environments with a GLIB C version < 2.24 are not compatible with the new ODA library

Formats impacted

Techsoft3D licenses the Open Design Alliance (ODA) software for unrestricted distribution within HOOPS applications. (See also our Acknowledgments and Distributing your application pages)

ODA Library is used to convert DWG and Revit formats within HOOPS applications

Products impacted

  • HOOPS Exchange
  • HOOPS Publish
  • HOOPS Communicator

Workaround

You will be affected by this change if:

  • you are using one of these two readers in an application running on Linux that doesn’t follow the new minimum requirements.

If this is the case, a workaround is included in the HOOPS 2021 package :

  • A specific standard C++ library (libstdc++.so.6) is built on a GLIBC 2.17. is available in the package
  • This library needs to be used by the application instead of the default system library.

Checking the Linux environment version

To be able to check if an environment is compatible, it is possible to launch the following command to check the GLIBC version:

ldd --version

This should returns “(Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31” where 2.31 is the GLIBC version

Implementation

To be able to convert Revit and AutoCAD/DWG files on a Linux environment where GLIBC >= 2.17 and GLIBC < 2.24, we deliver a specific standard C++ library (libstdc++.so.6) built on a GLIBC 2.17.

This library needs to be used by the application instead of the default system library.

Product Impacted Version Library **Installation folder ***
HOOPS Exchange, HOOPS Publish 64 bits bin/libstdc++.so.6/linux64/libstdc++.so.6 bin/linux64
HOOPS Exchange, HOOPS Publish 32 bits bin/libstdc++.so.6/linux32/libstdc++.so.6 bin/linux32
HOOPS Communicator 64 bits libstdc++.so.6 ./authoring/converter/bin/linux64
HOOPS Communicator 64 bits libstdc++.so.6 ./authoring/converter/bin/linux64

Available in :
./authoring/converter/bin/libstdc++.so.6/linux64/libstdc++.so.6|./authoring/converter/bin/linux64|

  • library is to be added in the corresponding installation folder