Вам потрібні файли заголовків, які надаються -devпакетами, а не в самих пакунках бібліотеки. Отже, спробуйте встановити libx11-dev. Це повинно виправити цю конкретну помилку збірки, хоча ви можете отримати подібні помилки щодо інших бібліотек (і тоді ви можете встановити їх -devпакети.)
Незважаючи на те, що ці пакети надають файли заголовків, а не двійкові файли, і загалом у файлах заголовків припадає на всі підтримувані архітектури за допомогою використання макросів препроцесора, тим не менш, -devпакети в Ubuntu мають тенденцію до архітектури, і це так libx11-dev(як видно тут , розгорнувши реліз та знайдіть .debпакети, перелічені libx11-devу цьому випуску). Оскільки ваша система Ubuntu 64-розрядна, і ви компілюєте 32-бітну програму, яка повинна пов'язувати 32-бітну версію бібліотеки, можливо, вам доведеться встановити 32-бітну версію libx11-dev. Якщо ви встановлюєте за допомогою apt-getабо aptitude, ви можете вказати це, вказавши libx11-dev:i386як пакет для встановлення (оскільки multarch підтримується та використовується).
http://packages.ubuntu.com/ - це хороший ресурс для пошуку імені -devпакета, що відповідає бібліотечному пакету. Не завжди ім'я бібліотечного пакета одразу після цього -dev; іноді номери версій, присутні в назві пакету бібліотеки, особливо після a -, відсутні у назві відповідного -devпакета.
ldconfig -p | grep libX11\\.?