<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/143042>143042</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Broken libc++ installation in 20250528 release of Ubuntu libc++1-20 package
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ednolan
</td>
</tr>
</table>
<pre>
Somewhere between release `1:20.1.6~++20250514063329+1e4d39e07757-1~exp1~20250514183345.117` and release `1:20.1.7~++20250528073536+7cf14539b644-1~exp1~20250528193553.123` of the Ubuntu `libc++1-20` packages, the installed paths to the shared object files changed:
```
$ apt show libc++1-20
Package: libc++1-20
Version: 1:20.1.6~++20250514063329+1e4d39e07757-1~exp1~20250514183345.117
Status: install ok installed
Priority: optional
Section: libs
Source: llvm-toolchain-20
Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Installed-Size: 1,189 kB
Provides: libc++-x.y
Depends: libc++abi1-20 (>= 1:20.1.6~++20250514063329+1e4d39e07757), libc6 (>= 2.38), libunwind-20 (>= 1:20.1.6~++20250514063329+1e4d39e07757)
Suggests: clang
Conflicts: libc++-x.y
Replaces: libc++-x.y
Homepage: https://www.llvm.org/
Download-Size: unknown
APT-Manual-Installed: no
APT-Sources: /var/lib/dpkg/status
Description: LLVM C++ Standard library
libc++ is another implementation of the C++ standard library.
.
Features and Goals
.
* Correctness as defined by the C++ standards.
* Fast execution.
* Minimal memory use.
* Fast compile times.
* ABI compatibility with gcc's libstdc++ for some low-level features such
as exception objects, rtti and memory allocation.
* Extensive unit tests.
Notice: There is 1 additional record. Please use the '-a' switch to see it
$ dpkg -L libc++1-20
/.
/usr
/usr/lib
/usr/lib/llvm-20
/usr/lib/llvm-20/lib
/usr/lib/llvm-20/lib/libc++.so.1.0
/usr/lib/x86_64-linux-gnu
/usr/share
/usr/share/doc
/usr/share/doc/libc++1-20
/usr/share/doc/libc++1-20/changelog.Debian.gz
/usr/share/doc/libc++1-20/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libc++1-20
/usr/lib/llvm-20/lib/libc++.so.1
/usr/lib/x86_64-linux-gnu/libc++.so.1
/usr/lib/x86_64-linux-gnu/libc++.so.1.0
```
```
$ apt show libc++1-20
Package: libc++1-20
Version: 1:20.1.7~++20250528073536+7cf14539b644-1~exp1~20250528193553.123
Priority: optional
Section: libs
Source: llvm-toolchain-20
Maintainer: LLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Installed-Size: 1187 kB
Depends: libc++abi1-20 (>= 1:20.1.7~++20250528073536+7cf14539b644), libc6 (>= 2.38), libunwind-20 (>= 1:20.1.7~++20250528073536+7cf14539b644)
Suggests: clang
Homepage: https://www.llvm.org/
Download-Size: 358 kB
APT-Manual-Installed: yes
APT-Sources: http://apt.llvm.org/oracular llvm-toolchain-oracular-20/main amd64 Packages
Description: LLVM C++ Standard library
libc++ is another implementation of the C++ standard library.
.
Features and Goals
.
* Correctness as defined by the C++ standards.
* Fast execution.
* Minimal memory use.
* Fast compile times.
* ABI compatibility with gcc's libstdc++ for some low-level features such
as exception objects, rtti and memory allocation.
* Extensive unit tests.
Notice: There is 1 additional record. Please use the '-a' switch to see it
$ dpkg -L libc++1-20
/.
/usr
/usr/lib
/usr/lib/llvm-20
/usr/lib/llvm-20/lib
/usr/lib/llvm-20/lib/libc++.so.1.0.20
/usr/lib/x86_64-linux-gnu
/usr/share
/usr/share/doc
/usr/share/doc/libc++1-20
/usr/share/doc/libc++1-20/changelog.Debian.gz
/usr/share/doc/libc++1-20/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libc++1-20
/usr/lib/x86_64-linux-gnu/libc++.so.1.0.20
```
With the old version, after having run `apt-get install -y libc++1-20 libc++abi1-20 libunwind-20`, the `/usr/lib/llvm-20/lib` directory would contain the following contents:
```
$ ls -l /usr/lib/llvm-20/lib/
total 702
lrwxrwxrwx 1 root root 13 Apr 30 01:49 libc++.so.1 -> libc++.so.1.0
-rw-r--r-- 1 root root 1120048 Apr 30 01:49 libc++.so.1.0
lrwxrwxrwx 1 root root 16 Apr 30 01:49 libc++abi.so.1 -> libc++abi.so.1.0
-rw-r--r-- 1 root root 253352 Apr 30 01:49 libc++abi.so.1.0
lrwxrwxrwx 1 root root 16 Apr 30 01:49 libunwind.so.1 -> libunwind.so.1.0
-rw-r--r-- 1 root root 51720 Apr 30 01:49 libunwind.so.1.0
```
Now, it just contains this:
```
$ ls -l /usr/lib/llvm-20/lib
total 699
-rw-r--r-- 1 root root 1120144 May 28 19:35 libc++.so.1.0.20
-rw-r--r-- 1 root root 253408 May 28 19:35 libc++abi.so.1.0.20
-rw-r--r-- 1 root root 51784 May 28 19:35 libunwind.so.1.0.20
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWE1v4zjS_jX0pSCBoj5sH3xQkvb7DtAZNDa9s8cFJZUsTmhSIKk4nkP_9gUp27Edx53e9BxmMYbgWPx46pP1VMitFSuFuCD5DcnvJnxwnTYLbJSWXE0q3WwXD3qNmw4NQoVug6jAoERuEUhBE5KWjMZJXHwj7IawG0ZZTvMko0WasjlhNwlmTTpHOp3m0yj5hs998m2_KJmlaZbHSTIlBQWumovQ0xNoNqPTNE8Lwm6mdZtkeTqviiw7hWazZJ7meRonLPXQugXXIfyzGpQbPLgUVT2iJhGjfknP60e-QkvYbVgrlHVcSmyg566z4HQYth032ICufsfaQSskWqg7rlbYkLQkNDwF3T20JCwD3juwnd7AmVRafhmFkrR8PfcbGiu08nM_zcu0fHDcDdaD7gwE_fhiq1fJCG2E2_olundCKy79PqzdThspKutH9GDqUXX5tI6c1rLuuFCj9vdcKMeFQuNXfP782z2Mxgq1gq_I10DS2_5xFY2bka9JRqWwzsZcCu26uMFKcBVrsyLpJ0LLX_ZKRg_iDxzdwm6T2Rweb4Le-kk0aE99GT3HW0LLO-xRNWdzvBLe1UDYzEtI737Qz8SP3AbA4giExensZWpQG6Gaj4qh5cOwWqF1wYRacrUitLzVqpWidpdt_gf2ktdvOOT_9Rr7XeZ1zvV-FWFLwpabzSb2MQmOZ0vvPL1RUvMXvw_qUemNIrQsv3yN7rkauIwO4fErlN5NjkkSdCBs-cQNYUspKsKWTf_o8e2Yjz5Etjai3ydZyJjbUWd4cFw13DTeDsONN-DIJBAWuNKuQwNi3Utco3LcA-3P_R7HnuHEHih8LZG7waANRej_NJf2MAVAWAm32hisnUJrgVtosBUKG6i2FwXYsNPvW3LrAJ-xHrxCR4D3Qok1l7DGtTZbGCweTYZdtV73QiI4sUZ7NFne_BLmuBOVkMJtYSNcB6u6Jmxqw_F0zd43rTZg9RpB6k0k8QkltHtb7VB3HpZbwOca-9FlobKFMmicE8EhOx25lLrmZ3Z8enaorHhCGJRw4HySxmMd_FU7MVaIr4E_hIUEeNOIsaqAwVqbJoYvY80fLAZnEjaNOGFTsBvh6s5XXosIwu3Kqc8ciD6_rpiELePxz2DNy48x485e2TIUnv2-SxPf2Xd4P6gRWx0n8QXE51nx7yKLpFDDc7RSw_GKQCivB9iy0fVbw8dCkzMbrq5jy5GrpF7Fd2N9Xf3xI7t1vzVi1blLe6RQTnB1bYot9RMaE-r0O5dds_VdAXlHOH7KnjHwx9T_Z3YCH22K_lpEn8ymI8v_KJG_y00fJ_J3i7lM5B9i4zSfjb55i4y34bCdsbEXc5DCe3csRRteD5Kb83jvx8fDtuZCAV83RbYLOP6P0jj8ZYjcf_4m859K5vEl0L_5_M_k8_dQ7S4sp2z7L396fNJp2cDTjjTZLfDWoYGOP3lKMoMCUlDeu2iF7vBfcLQ9S8EL_HLMAl7o7qYg_LySVQWFRviq44_dRg-ygVoHzgzbWy2l3njV_CiqQA2X2wdpIZLwnRQmtHTacQlTyggtpdk8jw8kYLR241f4JCmUvYGUQrhtyeZw5miISPrpfDA0OpHZRCbyzwlskjBKs9l3YAPCVcWKtxF4JS7qth-_ph6wPE1z9n3w_07DMTtOtTsau6oZ5MmU0eugl1rMX_XGJ6Jw8PsQuCZklgXXiQ8l0j6Livn8eriTLIN7vgU2g2RO0jLNX4d7PK5XgpLR2dsgL0G5juNdOLukzIkLX5eOSbNIm3k65xNcJNNsnhRpkc0n3QLbdl7wtk6qLGkxm9Np3SRpUSHN22nbthOxCB1fQXPGsimbx0ldV9ksrfOsmjW0rkhGcc2FPLRXE2HtgIskS2nGJpJXKG24fWXsxWDCGMnvJmYRQlINK3vomQ84TjiJixujH1GddFFjQRsbJ6Fg35IerlZ1u78HPSt4uxvQyWDk4rQLXQnXDVVc6_UuTfbZ0hvtGwzClsEsX913lj0t2H8CAAD__6BJqM4">