intel / intel/llvm

SYCL compiler can not be installed in system default location

Open
#5,142 1 comment 0 reactions 1 assignee Assigned to @mdtoguchi View on GitHub
bug confirmed
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

Steps to reproduce:
Build SYCL toolchain as described in Get Started Guide
Deploy to /usr

```
echo "#include " > test.cpp"
clang++ test.cpp
clang++ -fsycl test.cpp
```

The last command will fail with the message like below:
```
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cstdlib:75:15: fatal error: 'stdlib.h' file not found
#include_next
```

Here's the search order for normal mode:
```
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward
/usr/lib/clang/14.0.0/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
```

And here's the search order with `-fsycl` enabled:
```
/usr/bin/../include/sycl
/usr/bin/../include
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward
/usr/lib/clang/14.0.0/include
/usr/local/include
/usr/include/x86_64-linux-gnu
```

Apparently, `-fsycl` moves `/usr/include` to the top of the list, which breaks `include_next` directive.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.