<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJytV9ly2zYU_Rr5BSMOVy0PenBkuXUSp66jtH3TgCQkIiEJDgBaVr6-5wKUlHjJNNNoKIoLcJdzl3OVq_KwWFfSMDpaZivBCtVa8WiZ2jLR5KIsZbtzL5Y1x9VW4z0Tbck4vn_cL9lbabGp6WQtNIRY5VaPwqtReLk0qscyo7Z2z7Vgw-2hxRIDnSSy5zsxSi5ZZW1ncDGKr3HspK36PIBgulE72RpcFLRhrLpClcIEXoc_r6Gz0-qzKCw5w1lX99jEtkqzwQpbcTvYNdhr2HIUv8FBhumCnC8FwyrdAwzZCOdkLdsvgMeenRsEQl8hDOxaDmL3lSwqVvAW37qmpe1506CzPOkkZQG7PZzs5iXvrMFiOCAeedPVRxyBegNbmKpLgGz57hit9-__umVadMpIq_SBcBxNwh9AWdcPx5_xoBe3VguBHy1qwQ1dRUnweMQbv4M15xDAK6E7LXCGvm8D8Y0_e6UB3IPQB7YXwEO17FPet7Zn72XbP7I4DMKU0Mt7y25YxR8Ea5VluQBuPIf3gG4nLGHvheOehJKkhhd_fHyWAtKYHlHrOsG1oe258HE_gXXKRdluBdZwClGhtCaLtRgSoZR0D0SZg_6c0blsOZ42quzrQbSLlih6e6yUIdLH_AjYscQQJiPz-gA9NbdIBRg4ipMsnKRzl2q4iSbxLA2eIGoOxoqGIuqfA3J_uNsGWcdFPVRJGt76ezO-5cUbpb6M77Ri35UOFGWsbzkyfMy9kCuu90iql_YGtUI-szgKkiBkw8J3QreiZn8BQ4lw-JeUf3_Dr7dAlWV4iAfJFKdsxu4-rhHxOB4lb5hWyuLpY9uPZ2E0D2ZhEKej6SoOkWH3q_ery4-rzeX97STdrCdhGDKum0n6ovP-7EIrXbI5c5C_YRAhssaiEmFRbyg6v6tG5FrsUeNnMH8hpLVhYyQ6nFAd1VU16MPlEhXA9bkCvYXHtLaE7-DgWO_HekwHwydi39nC0CUawI8Xs3DKrkVOQEdA9TJN2M2Hj2tgsblfLVc3d-vgs1HtTwlN0_ncRS8OGYXqMonY_ery6nYVNKWXVOr9ox7TQZKS1yQxNp88lbRWqsZigvSZqCibvyYqC2ezp56iDl8wJ3rdnDR6Zg7qvu5L8VxOmoWvyInSFNn4xJZa5i9B86o_LIY_T2yBDGoi_1uOqdDbflAod67DU5sV1Hmf1EupkMjUgv3ivttpDkYEh4Jjao7GeNkRK_lZgNq2a2xDjfFatTsjsUHalzsYylAY1yO9nH-WRLileBC16hqByWJYtwdnUR9tBgImKlC1OZKF2z2Kp2awxIl1PSCKmWdhr1l6d1CNskGJ0TTQnAjqOxvBP4dOubnk6zec4QlFGveE1AMsx1507TSShd4KiH2A9yXLT_562R0vvmDKAU_ALRB4qZxVrfAU4JjIaXvOP06l22FoIQabPT8c2XBgH-IbbiURpsPt7OERLzdSnIJrBCz7IZUOZMyt5UVFkWWgt3Gp9u0pYzAfnvV4vJAjGrxYDCHGJLnt3VovFDte9jFgq2AXvMZu98P6K6ndeBNffzKwAb_fN2l0VtTheWbxKT24dYNJkCh5KPnS0zpWPbievHWDFcmwBU6PaVofvm4-T_M2nczs7uEhT7LYovTDcNdiwdpPVk7VxhPAZn2zbP98FxRdBzOjkzevav6vDBFfH_sUFPrRkex2L5TB5MZpMEgmZ_x-iezNhuInd-RMlJE_KalgW05cJbRWLhwYdn2BicFPVOWvMaCzFXwrg4okQtMHlECPwnZaqCROJeK8dpQD7bNSbNEvSlxtNrc3H377O4k3m1E8x7sJDrbZVNxsTmpno2R5VpWssJKOFzto9sZH_LO0GyuMDb7KbpRdQchPT9zkBeXbLMzShKbg6xdEn-xw54tykZTzZM4veG8rpRc-8S96XS9-Wr_ra2RAlkznyUW1mMzElk-jjMcTEYZZxNMkifI4i_AJecQvap5jAFoAhFEct5ihnAhcA4GL_2-BXNBwGMZRHM3DMJoG0Tyb8KkQWRYXYs4jTGGi4bIOSE6g9O5CL5zIvN_RiFaDh8z5JceovUOHdQbDQittLRa_I8zotWiXle-Fx8mfmEG240Y0NPT7fu7-3d6sz_9uj73ywtm-cIb_C4FI1e8>53793</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Header paths not correct for in-memory Clang ORC JIT compiler on macOS
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
gogins
</td>
</tr>
</table>
<pre>
This is in the context of embedding the Clang front end and ORC Jit compiler into the
Csound software sound synthesis language: https://github.com/gogins/clang-opcodes.
The project is a plugin for Csound that
compiles C++ source code at run time and links it into the Csound process,
which can call then into the compiled C++ code. My project adapts this example
from an older tag in the LLVM repository: `https://github.com/llvm/llvm-project/tree/release/13.x/clang/examples/clang-interpreter`
My project works very well on Ubuntu Linux 20.04, but I have not been able to get it
to work on macOS.
The issue appears to be that the LLVM software infers an incorrect resource directory from the
binary module that is executing the compile process. This is possibly related to #50649 and #16284.
My system:
```
michaelgogins@Michaels-MacBook-Pro clang-opcodes % uname -a
Darwin Michaels-MacBook-Pro.local 21.3.0 Darwin Kernel Version 21.3.0: Wed Jan 5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_ARM64_T6000 arm64
```
LLVM is version 13.0.1 installed using Homebrew at:
```
michaelgogins@Michaels-MacBook-Pro clang-opcodes % ls -ll /opt/homebrew/Cellar/llvm/13.0.1
total 24
-rw-r--r-- 1 michaelgogins admin 1807 Feb 5 12:43 INSTALL_RECEIPT.json
-rw-r--r-- 1 michaelgogins admin 4499 Jan 20 22:31 README.md
drwxr-xr-x 3 michaelgogins admin 96 Jan 20 22:31 Toolchains
drwxr-xr-x 159 michaelgogins admin 5088 Feb 5 12:43 bin
drwxr-xr-x 13 michaelgogins admin 416 Jan 20 22:31 include
drwxr-xr-x 450 michaelgogins admin 14400 Feb 5 12:43 lib
drwxr-xr-x 9 michaelgogins admin 288 Jan 20 22:31 libexec
drwxr-xr-x 9 michaelgogins admin 288 Jan 20 22:31 share
```
Please note, version 13.0.1 does not
upgrade or replace Apple Clang but is istalled alongside it.
My system uses the Apple XCode development system with command line tools, but Apple's Clang uses LLVM 12 which
is not optimal for my project.
I hypothesize that the issue is that, on Linux, LLVM and Clang provided by system
packages either do not need to infer the resource directory, or do so in a way
that is compatible with my project, but this does not seem to work on macOS.
I have attached a cut-down version of my project that reproduces the confusion
of the resource directory. E.g.:
```
ResourceDir: /Users/michaelgogins/lib/clang/13.0.1.
In file included from /var/folders/tc/x44lyz_j7bn468tgvvb352t40000gn/T//clang_opcode_TICnQK.cpp:1:
In file included from /opt/homebrew/Cellar/llvm/13.0.1/include/c++/v1/iostream:36:
/opt/homebrew/Cellar/llvm/13.0.1/include/c++/v1/__config:1151:46: fatal error: cannot open file '/opt/homebrew/Cellar/llvm/13.0.1/include/c++/v1/pthread.h': No such file or directory
(defined(__MINGW32__) && __has_include(<pthread.h>))
```
[clang_jit_test.zip](https://github.com/llvm/llvm-project/files/8054304/clang_jit_test.zip)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytV9ly2zYU_Rr5BSMOVy0PenBkuXUTJ66jtH3TgCQkIiEJDgBaVr6-5wKUlHjJNNN4aK7AveeeuypX5WGxrqRhdLTMVoIVqrXi0TK1ZaLJRVnKduc-LGuOu63GdybaknH8f7hfsj-kxaamk7XQEGKVWz0Kr0bh5dKoHsuM2to914INj4cWSwx0ksie78QouWSVtZ3BzSi-xrGTturzAILpQe1ka3BT0Iax6gpVChN4Hf68hs5Oq8-isGQMZ13dYxPbKs0GFLbidsA14DVsOYrf4CBguiDjS8GwSvcgQzbCGVnL9gvosWfjBoHQVwgDXMtB7L6SRcUK3uK_rmlpe9406CxPOklZwG4PJ9y85J01WAwDxCNvuvrII1hvgIWpugTJlu-O3nr37q9bpkWnjLRKH4jH0ST8AZV1_XC8jAe9eLRaCFy0qAU3dBclweORb1wHNGcXwCqhOy1whr5vHfGNPXulQdyD0Ae2F-BDtexT3re2Z-9k2z-yOAzClNjLe8tuWMUfBGuVZbkAbzyH9aBuJyxx74XjmYSSpIYXHz4-CwFpTA-vdZ3g2tD2XHi_n8g6xaJstwJrOLmoUFoTYi2GQCglPYNR5qg_R3QuW463jSr7ehDtvCWK3h4zZfD0MT4CdkwxuMnIvD5AT80tQgEAR3GShZN07kIND9EknqXBE0bNwVjRkEf9e1DuD_fYIOq4qIcsScNb_2zGt7x4o9SX8Z1W7LvUgaKM9S1HhI-5F3LF9R5B9dLeoFaIZxZHQRKEbFj4VuhW1OwvcCjhDv-R4u9v2PUHWGUZXuJFMsUpm7G7j2t4PI5HyRumlbJ4-9j241kYzYNZGMTpaLqKQ0TY_erd6vLjanN5fztJN-tJGIaM62aSvmi8PzvXShdsDg7iNwwieNZYZCIQ9Ya887tqRK7FHjl-JvMXUlobNkagwwjVUV5Vgz7cLpEBXJ8z0CM8hrUlfgcDx3o_1mM6GP4i9h0WhirRgH58mIVTdi1yIjoCq5dpwm7ef1yDi839arm6uVsHn41qf0poms7nzntxyMhVl0nE7leXV7eroCm9pFLvH_WYDpKUvCaJsfnkqaS1UjUWE6XPREXZ_DVRWTibPbUUefgCnOh1OGn0DA7yvu5L8VxOmoWvyInSFNH4BEst85eoedUeFsOeJ1ggg4rI_5ZjKtS2HyTKnavwVGYFVd4n-VIqBDKVYL-473aaoyOih6LH1ByF8bKjruRnASrbrrANOcZr1e6MxAZpX65gSENhXI30cv5ZUsMtxYOoVdcITBbDuj16FtXRZmjA1ApUbY7Nwu0exVMzIHFiXQ2IYua7sNcsvTnIRtkgxWgaaE4N6juM6D-HTrm55Os3PcM3FGncG1IPslz3onunkRB6FBD7AOtLlp_s9bI7XnzBlIM-AbPQwEvlULXCtwDXiZy25_3HqXQ7DC3EYLPnh2M3HLoP9RtuJTVMx9vZwiNfbqQ4OdcIIPthKx2aMbeWFxV5lqG9jUu1b08Rg_nwrMfzhRjR6IvF4GJMktverfVCseNlGwO2CnbBa93tflh_JbUbb-LrTwYYcP2-SKOyIg_PM4sP6cGsG0yC1JKHlC99W8eqB1eTt26wIhm2wOkxTevD183nad6mk5ndPTzkSRZbpH4Y7losWPvJyqna-AawWd8s2z_fBkXXAWZ0suZVzf-1Q8TXxzoFhX50JNzugzKY3DgNBsnkzN8vkb3ZkP_kjoyJMrInJRVsy6lXCa2VcweGXZ9gYrATWflrAHS2gm1lUJFEaHqPFOiR2E4LpcQpRZzVruVA-6wUW9SLEnebze3N-9_-TuLNZhTP8W2Cg202FTebk9rZKFmeVSUrrKTjxQqavfEe_yztxgpjg6-yG2VXEPLTEzdZQfE2C7M0oSn4-gXRJxzufFEuknKezPmFlbYWi98BGXUDqV_5vD5OsVTlZDtuREMDrK9N7pfazfr8S-2Y9xe9rhc_Dd-VRcKfJdN5clEtRBblZbbd8nKa55PJvChm5WyST7ecF1E6nVzUPMf8tACHozhuMYI5EbgHgRdyQZNhGEdxNA_DaBpE82zCp0JkWVyIOY8wgomGyzogHIHSuwu9cJDyfkfzWY0mZM4fOebsHcqrUwf5vLeV0gtfKS6c5oVD_i_VM8Ir">