<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/119967>119967</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [packaging] libclc-20-dev from apt.llvm.org doesn't ship clcfunc.h
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          TheRealCuran
      </td>
    </tr>
</table>

<pre>
    Trying to use `rusticl` from Mesa is, at the moment, not fully possible, since `libclc-20-dev` from apt.llvm.org is missing `clcfunc.h` (`libclc/clc/include/clc/clcfunc.h`).

<details>
<summary>Currently the following files are installed to <code>/usr/include/clc</code> by <code>libclc-20-dev</code></summary>
<pre>
/usr/include/clc/as_type.h
/usr/include/clc/async/async_work_group_copy.h
/usr/include/clc/async/async_work_group_strided_copy.h
/usr/include/clc/async/prefetch.h
/usr/include/clc/async/wait_group_events.h
/usr/include/clc/atomic/atomic_add.h
/usr/include/clc/atomic/atomic_and.h
/usr/include/clc/atomic/atomic_cmpxchg.h
/usr/include/clc/atomic/atomic_dec.h
/usr/include/clc/atomic/atomic_inc.h
/usr/include/clc/atomic/atomic_max.h
/usr/include/clc/atomic/atomic_min.h
/usr/include/clc/atomic/atomic_or.h
/usr/include/clc/atomic/atomic_sub.h
/usr/include/clc/atomic/atomic_xchg.h
/usr/include/clc/atomic/atomic_xor.h
/usr/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
/usr/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
/usr/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
/usr/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
/usr/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
/usr/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
/usr/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
/usr/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
/usr/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
/usr/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
/usr/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
/usr/include/clc/cl_khr_int64_base_atomics/atom_add.h
/usr/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
/usr/include/clc/cl_khr_int64_base_atomics/atom_dec.h
/usr/include/clc/cl_khr_int64_base_atomics/atom_inc.h
/usr/include/clc/cl_khr_int64_base_atomics/atom_sub.h
/usr/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
/usr/include/clc/cl_khr_int64_extended_atomics/atom_and.h
/usr/include/clc/cl_khr_int64_extended_atomics/atom_max.h
/usr/include/clc/cl_khr_int64_extended_atomics/atom_min.h
/usr/include/clc/cl_khr_int64_extended_atomics/atom_or.h
/usr/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
/usr/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
/usr/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
/usr/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
/usr/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
/usr/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
/usr/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
/usr/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
/usr/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
/usr/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
/usr/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
/usr/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
/usr/include/clc/clc.h
/usr/include/clc/clcmacros.h
/usr/include/clc/common/degrees.h
/usr/include/clc/common/mix.h
/usr/include/clc/common/radians.h
/usr/include/clc/common/sign.h
/usr/include/clc/common/smoothstep.h
/usr/include/clc/common/step.h
/usr/include/clc/convert.h
/usr/include/clc/explicit_fence/explicit_memory_fence.h
/usr/include/clc/float/definitions.h
/usr/include/clc/geometric/cross.h
/usr/include/clc/geometric/distance.h
/usr/include/clc/geometric/dot.h
/usr/include/clc/geometric/fast_distance.h
/usr/include/clc/geometric/fast_length.h
/usr/include/clc/geometric/fast_normalize.h
/usr/include/clc/geometric/length.h
/usr/include/clc/geometric/normalize.h
/usr/include/clc/image/image.h
/usr/include/clc/image/image_defines.h
/usr/include/clc/integer/abs.h
/usr/include/clc/integer/abs_diff.h
/usr/include/clc/integer/add_sat.h
/usr/include/clc/integer/clz.h
/usr/include/clc/integer/definitions.h
/usr/include/clc/integer/hadd.h
/usr/include/clc/integer/mad24.h
/usr/include/clc/integer/mad_hi.h
/usr/include/clc/integer/mad_sat.h
/usr/include/clc/integer/mul24.h
/usr/include/clc/integer/mul_hi.h
/usr/include/clc/integer/popcount.h
/usr/include/clc/integer/rhadd.h
/usr/include/clc/integer/rotate.h
/usr/include/clc/integer/sub_sat.h
/usr/include/clc/integer/upsample.h
/usr/include/clc/math/acos.h
/usr/include/clc/math/acosh.h
/usr/include/clc/math/acospi.h
/usr/include/clc/math/asin.h
/usr/include/clc/math/asinh.h
/usr/include/clc/math/asinpi.h
/usr/include/clc/math/atan.h
/usr/include/clc/math/atan2.h
/usr/include/clc/math/atan2pi.h
/usr/include/clc/math/atanh.h
/usr/include/clc/math/atanpi.h
/usr/include/clc/math/cbrt.h
/usr/include/clc/math/ceil.h
/usr/include/clc/math/copysign.h
/usr/include/clc/math/cos.h
/usr/include/clc/math/cosh.h
/usr/include/clc/math/cospi.h
/usr/include/clc/math/erf.h
/usr/include/clc/math/erfc.h
/usr/include/clc/math/exp.h
/usr/include/clc/math/exp10.h
/usr/include/clc/math/exp2.h
/usr/include/clc/math/expm1.h
/usr/include/clc/math/fabs.h
/usr/include/clc/math/fdim.h
/usr/include/clc/math/floor.h
/usr/include/clc/math/fma.h
/usr/include/clc/math/fmax.h
/usr/include/clc/math/fmin.h
/usr/include/clc/math/fmod.h
/usr/include/clc/math/fract.h
/usr/include/clc/math/frexp.h
/usr/include/clc/math/half_cos.h
/usr/include/clc/math/half_divide.h
/usr/include/clc/math/half_exp.h
/usr/include/clc/math/half_exp10.h
/usr/include/clc/math/half_exp2.h
/usr/include/clc/math/half_log.h
/usr/include/clc/math/half_log10.h
/usr/include/clc/math/half_log2.h
/usr/include/clc/math/half_powr.h
/usr/include/clc/math/half_recip.h
/usr/include/clc/math/half_rsqrt.h
/usr/include/clc/math/half_sin.h
/usr/include/clc/math/half_sqrt.h
/usr/include/clc/math/half_tan.h
/usr/include/clc/math/hypot.h
/usr/include/clc/math/ilogb.h
/usr/include/clc/math/ldexp.h
/usr/include/clc/math/lgamma.h
/usr/include/clc/math/lgamma_r.h
/usr/include/clc/math/log.h
/usr/include/clc/math/log10.h
/usr/include/clc/math/log1p.h
/usr/include/clc/math/log2.h
/usr/include/clc/math/logb.h
/usr/include/clc/math/mad.h
/usr/include/clc/math/maxmag.h
/usr/include/clc/math/minmag.h
/usr/include/clc/math/modf.h
/usr/include/clc/math/nan.h
/usr/include/clc/math/native_cos.h
/usr/include/clc/math/native_divide.h
/usr/include/clc/math/native_exp.h
/usr/include/clc/math/native_exp10.h
/usr/include/clc/math/native_exp2.h
/usr/include/clc/math/native_log.h
/usr/include/clc/math/native_log10.h
/usr/include/clc/math/native_log2.h
/usr/include/clc/math/native_powr.h
/usr/include/clc/math/native_recip.h
/usr/include/clc/math/native_rsqrt.h
/usr/include/clc/math/native_sin.h
/usr/include/clc/math/native_sqrt.h
/usr/include/clc/math/native_tan.h
/usr/include/clc/math/nextafter.h
/usr/include/clc/math/pow.h
/usr/include/clc/math/pown.h
/usr/include/clc/math/powr.h
/usr/include/clc/math/remainder.h
/usr/include/clc/math/remquo.h
/usr/include/clc/math/rint.h
/usr/include/clc/math/rootn.h
/usr/include/clc/math/round.h
/usr/include/clc/math/rsqrt.h
/usr/include/clc/math/sin.h
/usr/include/clc/math/sincos.h
/usr/include/clc/math/sinh.h
/usr/include/clc/math/sinpi.h
/usr/include/clc/math/sqrt.h
/usr/include/clc/math/tan.h
/usr/include/clc/math/tanh.h
/usr/include/clc/math/tanpi.h
/usr/include/clc/math/tgamma.h
/usr/include/clc/math/trunc.h
/usr/include/clc/misc/shuffle.h
/usr/include/clc/misc/shuffle2.h
/usr/include/clc/relational/all.h
/usr/include/clc/relational/any.h
/usr/include/clc/relational/bitselect.h
/usr/include/clc/relational/isequal.h
/usr/include/clc/relational/isfinite.h
/usr/include/clc/relational/isgreater.h
/usr/include/clc/relational/isgreaterequal.h
/usr/include/clc/relational/isinf.h
/usr/include/clc/relational/isless.h
/usr/include/clc/relational/islessequal.h
/usr/include/clc/relational/islessgreater.h
/usr/include/clc/relational/isnan.h
/usr/include/clc/relational/isnormal.h
/usr/include/clc/relational/isnotequal.h
/usr/include/clc/relational/isordered.h
/usr/include/clc/relational/isunordered.h
/usr/include/clc/relational/select.h
/usr/include/clc/relational/signbit.h
/usr/include/clc/shared/clamp.h
/usr/include/clc/shared/max.h
/usr/include/clc/shared/min.h
/usr/include/clc/shared/vload.h
/usr/include/clc/shared/vstore.h
/usr/include/clc/synchronization/barrier.h
/usr/include/clc/synchronization/cl_mem_fence_flags.h
/usr/include/clc/workitem/get_global_id.h
/usr/include/clc/workitem/get_global_offset.h
/usr/include/clc/workitem/get_global_size.h
/usr/include/clc/workitem/get_group_id.h
/usr/include/clc/workitem/get_local_id.h
/usr/include/clc/workitem/get_local_size.h
/usr/include/clc/workitem/get_num_groups.h
/usr/include/clc/workitem/get_work_dim.h
</pre>
</details>
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysmstT4z4Sx_8a5-KCcuwQ4JDDLjPc9rI1d5cst-1e9PBIckjmr9-y83BggG6FX9XU5MGnv5Ja3S3JkfAeWwOwSe7-ndz9WIghdNZtfnXwXxDqaXDCLCpb7ze_3B5NmwabDh7SZJ25wQeUKllnaeOsTv8DXqTok_wpFSENHaTaajBh_MLYkDaDUvu0t95jpWD81qORk5TCSip5k2c3NWzPgqIPt0pt9a11bYo-1ej92IVknUklm8HI226Ek_zhrJHkz4f_0Ug11HD-fGmR5I-3Sfav8V_xVEMQqHxS_Dx89oPWwu2T4ufT4ByYoPbTYBqrlH0d229QgU-FgxSND0IpqEe3JMWTtDWMQvnz4N1fnSiexjcHJK32FwZvx3_JHT7MfTr0sXdwfP9xS_mz8GXY93DbfQ3tzfm1fLXupWydHfpS2n5_pakPDmuoIyR6Bw0E2fHoV4Hh2BRswQRPmAWrcX5TirqONDCRBlL3O9m1cUY1yDgDNJEGWuwiDdDEGVgXx_uhijOId-uO6pNU5UvnylbZSqgSTSjyshIeyoOAP0rRYcMVYkUHV4yMGq4QGU1cIXJOuULXOQl2AcxYfd5PH5XEMWJkJkWJUVkWI3ZNtH-mxU0dNGG9-lbOfK4Qkyyfq3Cz5HMFbnp8rsDNi88VIh3x3Uz4WoWbAoQKM_a_VomK0-9Gu7LyH1knKJ2YyKe0uPFP6XCzgNLh5gKlc5WDvpsXHC1udrC0mDnC0boixr-RL2SwSC2ks8T-XVqtrUny5xpaB8ClNVJTcCKdqFEYru54Vuai2trQ-QA914CBmi248DUEu16hxFA2YCRcfqFBW7c_fP-1RqOsCJPTGzQY0FIOasFqCG7ae4-TGoHX6IMge_TGwhIuuIQb4UMZ38ZkpsC0gTiX_mVkrNNC4Z-IxmLbYTaBWrRweo1Ay2naqVxDE6CF8S-iikHLGpuGzdd16QUx3TMu1R8uyg7t2aQjV_eZ1aLOVxFw2WEMHeETPaiIngwqoie97aUdDLsrLsaDzgYRqLA9036oYpwy9F7oXhHyWoRuDEJJrVIXIJHGF2RP-PmEemoLcAEyW_douK0HwWw9CJPzyYjmmWMKgjsmWVFr6AkEVDzQ9nt6a3CGedHEDiZ-LIEjKu_MEdu3E7gjtiwzt8y4JC-MYNfrJYtsyAXqBNaoeaCy1Ab4RGrB5Ygd6xlkloNGW6LWnkAnJC8fGsed706opuQG-gTXuMWaV48nPqon_PA74bwYnGhliWPoOzimJ8q2ET3p7SsvKifagcQIHzr_m1k2J5y7ah3gKGnuktTte-qkcCRR2ZZ4KHEkVc0NPNUKzUz-A1ry5o4bbvxIG0nmmLjhyPanFrwipcVOC97ANRo2amvegmiYIWdEwC2wK98Rj6h9RwtuEM44MxZmA95EH3luUM54XH_YgXfk2ZXwyPNr4cmAXbKOBtx6eMIj5bk10cAuiCYAzzu9feVyvObZ8-JACzQ1s58O9O_B8lCkzqsn0NrAG5SzA_X0-ESyp5UbLh4Nt9iwj4f80yF7ONzwZB_3-Ke9wF-Hgxuo3zg0-vHFd0PTkI8P3rBE_XKgREBrhBoPs4o4d76lDXHT5g1dYfCggNryv7FBD78HEdMn9NPjNcJD70xaB4IsTR_bxPcPDbH0v-MVUE-1PzCI79ZodY0fyB3Ke356hhxpEuLHY10NDojy-M5mMPFW0THtsTUVEha-Ew7q6aPQxAbhzJJH-ZmkqvyZ3CpL7ZRn1gfriMzzeyM7Zw3-mTwy1gXhHFJB97eZVKUGffhRqWyUaIkkebXuBQPo6SeNcL6LQoztYyvbNB6IGfzY0pM_nry3m24cRnbz-EvqNUbRHTSDPnQyzv_Tzc3zY6_psul8uXT6ON-PXdSbon4sHsUCNsv7YrV8KO7WxaLbPFRyfS_F_bKA1f2DEDLLslW2bvJ1I-R9AQvc5Fm-WubL1bIoHvPidpnlzWO2FNkyz-XDXZGssnHDp873fRfo_QCb5fLxcX2_UKIC5acrynlu4DWd_prkeXL3Y-E2o9FNNbQ-WWUKffCzTMCgprvNvZAvokXTJnc_0jf3bT-4bFxb8CbJ70PqO-zT893hxeDUpguh90kxunh0IoZuqG6lHT06Chxfbnpn_wcyTAXND-CT_Pk4mu0m_38AAAD__0-CF3U">