Intel® DevCloud
Help for those needing help starting or connecting to the Intel® DevCloud
1641 Discussions

Request for libstdc++-10-dev Ubuntu package

User01
New Contributor II
763 Views

Intel DevCloud only has libstdc++-9-dev installed. The Intel C++ compiler uses the GCC libstdc++ library for headers and STL. Version 9 of the libstdc++ library is missing a number of capabilities compared to newer versions. The Ubuntu 20 distribution used on Intel DevCloud compute nodes offers a libstdc++-10-dev package which could add more capability assuming there is a corresponding way to get the Intel C++ compiler to make use of the newer libstdc++ package from the Ubuntu distribution. An administrator adding this distribution-provided package would be significantly less work than having developers compile newer GCC packages and store them in $USER directories.

0 Kudos
4 Replies
AlekhyaV_Intel
Moderator
749 Views

Hi Donald,

 

Thank you for sharing your observations with us. We could reproduce your issue. We have forwarded your request to the DevCloud admin team. We will get back to you with an update soon.

 

Regards,

Alekhya


User01
New Contributor II
741 Views

After more research, I am not confident my request is sensible. It would be helpful to get specific compatibility information from the compiler team. The "GCC Compatibility and Interoperability" documentation reports:

 
"The Intel® oneAPI DPC++/C++ Compiler is compatible with most versions of the GNU* Compiler Collection (GCC*). The release notes contains a list of compatible versions."
 
However, the release notes do not contain a list of compatible versions. The "GCC Compatibility and Interoperability" documentation also reports:
 
"If you want use a version of GCC or G++ other than the default version on your system, you need to use the -gcc-toolchain compiler option to specify the location of the base toolchain. For example:
- You want to build something that cannot be compiled by the default version of the system compiler, so you need to use a legacy version for compatibility, such as if you want to use third party libraries that are not compatible with the default version of the system compiler.
- You want to use a later version of GCC or G++ than the default system compiler."
 
My initial testing with manually built GCC 11 and GCC 12 indicate that the Intel oneAPI DPC++/C++ Compiler fails in unexpected ways when using libstdc++ from those GCC releases. Additionally, the Intel C++ compiler explicitly does not support C++20 per 
"Conformance to the C/C++/DPC++ Standards." Another part of the documentation then directly contradicts that by showing that "-std:c++20" and "-std:gnu++20" are valid parameters. The "C++20 Features Supported by Intel® C++ Compiler" documentation provides a table of the C++ feature partial support but does not indicate which GCC libstdc++ is needed for them. The GCC 9 default on the Ubuntu 20 specified in the "Software Requirements" document will not work with the C++20 features since its libstdc++ is missing too many needed headers.
 
The key information needed from the compiler team is which GCC versions are compatible and how they align with the C++20 features. It is clear that GCC 9 is not sufficient, but I need to avoid just trying various GCC libstdc++ combinations with the Intel compiler as that wastes a lot of time.

0 Kudos
User01
New Contributor II
715 Views

Are there any updates on this?

0 Kudos
AlekhyaV_Intel
Moderator
686 Views

Hi,


We apologize for the delay. We got an update from the admin team that we cannot install libstdc++-10-dev Ubuntu package in DevCloud at this moment. If you have any new issues, please feel free to post a new question as this thread will no longer be monitored by Intel.


Regards,

Alekhya


0 Kudos
Reply