- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I've just downloaded and installed the Intel oneAPI DPC++ compiler on Linux (gentoo). When I try a hello world, I get the following error message:
In file included from hello.cpp:1:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/iostream:41:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/ostream:40:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/ios:40:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/iosfwd:42:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/postypes.h:40:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/cwchar:44:
In file included from /usr/include/wchar.h:30:
/usr/include/bits/floatn.h:79:52: error: unsupported machine mode '__TC__'
79 | typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
| ^
1 error generated.
The first line of code giving that error is "#include <iostream>".
Running "icpx -v" gives:
Intel(R) oneAPI DPC++/C++ Compiler 2025.0.4 (2025.0.4.20241205)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/pablo/intel/oneapi/compiler/2025.0/bin/compiler
Configuration file: /home/pablo/intel/oneapi/compiler/2025.0/bin/compiler/../icpx.cfg
Selected GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/14
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
Please advise. Thank you very much in advance!
Kind regards,
Pablo
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Adding a MWE. The code I'm giving is:
#include <iostream>
#include <string>
#include <sycl/sycl.hpp>
const std::string secret{"Ifmmp-!xpsme\"\012J(n!tpssz-!Ebwf/!"
"J(n!bgsbje!J!dbo(u!ep!uibu/!.!IBM\01"
};
const auto sz = secret.size();
int main( void )
{
sycl::queue q;
char* result = sycl::malloc_shared< char >( sz, q );
std::memcpy( result, secret.data(), sz );
q.parallel_for( sz, [=]( auto& i ) { result[i] -= 1; } ).wait();
std::cout << result << '\n';
sycl::free( result, q );
return 0;
}
I'm trying to compile it with the command line
icpx -fsycl hello.cpp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you pls make sure your system meets the requirements https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-base-toolkit-system-requirements.html
I tried your test case on Ubuntu 24.04 and did not see there error.
$ icpx -fsycl hello.cpp -V
Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2025.0.4 Build 20241205
Copyright (C) 1985-2024 Intel Corporation. All rights reserved.
$gcc -v
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My system does not meet the requirements. It is a bit too modern for SYCL. For example, I have gcc14.2 here. You seem to require gcc13.3.0. I was able to find a gcc13.3.1, but it did not work either.
What a pity.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've just saw a bug posted, reporting the same problem:
https://github.com/intel/llvm/issues/16903
The problem seems to be the new version of glibc, not the compiler.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page