Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Помогите откомпилить программу  (Прочитано 2491 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Помогите откомпилить программу
« : 23 Апреля 2018, 11:31:56 »
Всем добра!
Помогите пожалуйста откомпилить программу, ситуация такова что в новых проприетарных драйверах под графические карты отсутствует очень важная библиотека AMD ADL, что вместо нее для замены предложили АМДшники не ясно, библиотека не критична но важна - программы работающие с графикой работают и без нее но без нее они немогут управлять многими важными параметрами граф.карт - частотой вращения вентиляторов, частотами напряжениями и т.д.
Данная библиотека выложена на сайте АМД в исходниках (Зайти туда с недавних пор можно только через VPN или Tor, наверно Роскомнадзор постарался)
https://developer.amd.com/display-library-adl-sdk/
Скачиваю последнюю 10-ую версию, распаковываю, в папке ADLUTIL лежат сами исходники,
В файле Linux build instructions.txt инструкция по компиляции:
(Нажмите, чтобы показать/скрыть)

Может поможет кто? Все необходимое для компиляции у меня установлено, чтото недумаю что АМД допустили где либо ошибки, но тем не менее чтото не так

Цитировать
Правила форума
1.4. Листинги и содержимое текстовых файлов следует добавлять в сообщение с помощью тегов [spoiler]...[/spoiler] или [code]...[/code], либо прикреплять к сообщению в виде отдельного файла. Длинные гиперссылки следует оформлять при помощи тега [url=]...[/url]

  --Aleksandru





Пользователь добавил сообщение 23 Апреля 2018, 11:42:08:
И вот это место из библиотеки adl_structures.h на которой происходит ошибка

Код: (html5) [Выделить]
/////////////////////////////////////////////////////////////////////////////////////////////
///\brief Structure containing information about an application
///
/// This structure is used to store basic information of an application
/// \nosubgrouping
////////////////////////////////////////////////////////////////////////////////////////////
typedef struct _ADLApplicationDataX2
{
/// Path Name
wchar_t strPathName[ADL_MAX_PATH];
/// File Name
wchar_t strFileName[ADL_APP_PROFILE_FILENAME_LENGTH];
/// Creation timestamp
wchar_t strTimeStamp[ADL_APP_PROFILE_TIMESTAMP_LENGTH];
/// Version
wchar_t strVersion[ADL_APP_PROFILE_VERSION_LENGTH];
}ADLApplicationDataX2;
« Последнее редактирование: 23 Апреля 2018, 13:36:26 от Azure »

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 701
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #1 : 23 Апреля 2018, 13:05:29 »
barmaley99, добавьте в заголовочный файл include/adl_structures.h после 17-й строки (содержащей строку #include "adl_defines.h") следующее:
#include <wchar.h>
#include <stdbool.h>
Компилируйте, как указано в сопроводительной инструкции.

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #2 : 23 Апреля 2018, 14:16:49 »
Так теперь вот такие ошибки полезли
(Нажмите, чтобы показать/скрыть)

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 701
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #3 : 23 Апреля 2018, 15:55:49 »
barmaley99, это не ошибки, а предупреждения. В арче собралось без ошибок и предупреждений. Но даже при их наличии должен был создаться исполняемый файл adlutil.

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #4 : 23 Апреля 2018, 16:12:21 »
Оказалось что скомпилированный adlutil записался вместо исходного adlutil.sln ;D
убрал расширение он работает, но к сожалению оказалось что это не сама библиотека AMD ADL а лишь вспомогательная утилитка работающая с ней.
Спасибо за помощь!

Пользователь добавил сообщение 23 Апреля 2018, 17:44:22:
это не ошибки, а предупреждения. В арче собралось без ошибок и предупреждений. Но даже при их наличии должен был создаться исполняемый файл adlutil.
Извините опять вопрос - т.к. скомпилилась утилита adlutil а не сама библиотека amd adl то я было уже думал надо искать в инете эту библиотеку дальше но похоже что искать ничего ненадо библиотека amd adl тут же в этом архиве - это три файла adl_defines.h adl_sdk.h adl_structures.h
все три сразу или только какой то один из этих файлов я не знаю не специалист, подскажите как можно скомпилить эту необходимую библиотеку из этих файлов и куда ее потом в линуксе положить чтобы проги которые к ней обращаются ее находили бы?
« Последнее редактирование: 23 Апреля 2018, 17:44:22 от barmaley99 »

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 701
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #5 : 23 Апреля 2018, 22:42:28 »
библиотека amd adl тут же в этом архиве - это три файла adl_defines.h adl_sdk.h adl_structures.h
Это не библиотеки, а заголовочные файлы для разработчиков программного обеспечения. Сама библиотека находится в пакете fglrx(а также в некоторых других пакетах) дистрибутива Ubuntu 14.04 и носит имя libatiadlxx.so, исходя из следующего исходного кода в файле adlutil/main.c (жирным шрифтом выделено имя динамически загружаемой библиотеки):
(Нажмите, чтобы показать/скрыть)
Утилитка имеет ограниченный функционал и не подходит для Ваших целей:
управлять многими важными параметрами граф.карт -  частотой вращения вентиляторов, частотами напряжениями и т.д.
Данный функционал может предоставить, например,обертка atitweak над вышеуказанной библиотекой. Работает как утилита, т.е. пользователь самостоятельно может управлять желаемыми параметрами графического адаптера!
Но повторюсь, это работает только для старых карточек, обслуживаемых драйвером fglrx.
программы работающие с графикой работают и без нее но без нее они немогут управлять многими важными параметрами граф.карт
Зачастую пользователь управляет параметрами, а не программы.

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #6 : 24 Апреля 2018, 11:33:44 »
Цитировать
Сама библиотека находится в пакете fglrx(а также в некоторых других пакетах) дистрибутива Ubuntu 14.04 и носит имя libatiadlxx.so
Вообщем скачал я этот пакет fglrx_13.350.1-0ubuntu2_amd64.deb по данной вами ссылке https://packages.ubuntu.com/trusty/amd64/fglrx
Распаковал, и библиотеку libatiadlxx.so (она там в 4-х местах) оттуда скопировал во все соответствующие каталоги системы, под рутом есественно, но программы нуждающиеся в этой библиотеке её по прежнему не видят, наверно не так все просто это делается? Может где то  прописать пути к библиотекам надо и еще чтото?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #7 : 24 Апреля 2018, 12:42:25 »
Распаковал, и библиотеку libatiadlxx.so (она там в 4-х местах) оттуда скопировал во все соответствующие каталоги системы, под рутом есественно
А просто установить пакет не пробовали?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #8 : 24 Апреля 2018, 15:46:27 »
Цитировать
А просто установить пакет не пробовали?
Так это же целый графический драйвер а драйвер у меня и так уже установлен, последней версии 17.50 проприетарный с сайта АМД, получается придется сносить свой 17.50 чтобы поставить этот fglrx а мне эти дрова 17.50 нужны по любому

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 701
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #9 : 24 Апреля 2018, 16:43:59 »
barmaley99, я не понимаю, что Вы хотите сделать в итоге. Вы бездумно скачали пакет с проприетарным драйвером fglrx для старых видеокарт. Покажите для начала выхлоп команд:
lspci -k| grep -EA2 'VGA|3D'
lsb_release -a
В случае использования драйвера amdgpu-pro для новой видеокарты, можете забыть о библиотеке и утилитах, ее задействующих.
но программы нуждающиеся в этой библиотеке её по прежнему не видят
Как Вы определили, что программы ее не "видят"? Программа может использовать библиотеку, только если разработчик(!) программы задействует ее функционал, т.е. программа в конечном итоге линкуется с библиотекой (динамически или статически) на этапе компоновки(сборки). Узнать, какие библиотеки нужны для запуска программы можно командой:
Цитировать
ldd /полный/путь/до/программы
Если в выводе команды будет присутствовать строка libatiadlxx.so, то программа ее нативно использует. Эта команда не даст нужного результата, если программа загружает библиотеку во время выполнения, как в случае с ранее скомпилированной утилиткой adlutil. Тогда список процессов, использующих разделяемую библиотеку, можно получить так:
lsof /usr/lib/fglrx/libatiadlxx.so
Даже если Вы все-таки загрузите библиотеку с помощью переменной окружения LD_PRELOAD, это не даст никакого эффекта(!), потому что данная библиотека не занимается расширением и/или изменением "стандартной" функциональности других библиотек путем проксирования . Вообщем то, что Вы пытаетесь сделать, лишено всякого разумного смысла. Работа с данной библиотекой выполняется посредством узкоспециализированных утилит (наподобие adlutil), с помощью которых Вы можете выставить желаемые режимы работы видеокарты для системы в целом, а не для конкретного приложения. Так и только так!

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #10 : 25 Апреля 2018, 10:35:15 »
1. Показываю:
lspci -k| grep -EA2 'VGA|3D':
21:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67df (rev e7)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device 3418
        Kernel driver in use: amdgpu
--
22:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67df (rev e7)
        Subsystem: Tul Corporation / PowerColor Device 2378
        Kernel driver in use: amdgpu
--
23:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67df (rev e7)
        Subsystem: Tul Corporation / PowerColor Device 2378
        Kernel driver in use: amdgpu
--
24:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67df (rev e7)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device 3418
        Kernel driver in use: amdgpu
--
26:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67df (rev e7)
        Subsystem: XFX Pine Group Inc. Device c580
        Kernel driver in use: amdgpu
--
27:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67df (rev e7)
        Subsystem: Tul Corporation / PowerColor Device 2378
        Kernel driver in use: amdgpu

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:        16.04
Codename:       xenial

Цитировать
Как Вы определили, что программы ее не "видят"? Программа может использовать библиотеку, только если разработчик(!) программы задействует ее функционал

Определил просто - одна из нужных прог прямо при запуске, даже от рута, пишет - AMD ADL library not found

Кстати выполнил для нее по вашему совету для нее ldd /полный/путь/до/программы и вот что получил
linux-vdso.so.1 =>  (0x00007fff616ab000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6891806000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6891bd0000)

Также удобная прога для мониторинга hardware - Psensor не может получить доступ ко всем параметрам видеокарт а только может считать их температуру и обороты кулеров - захожу в ее настройки а там строчка Enable support of ATI ADL неактивная серого цвета, без возможности активирования, т.е. Psensor не видит этой библиотеки

ldd /usr/bin/psensor
linux-vdso.so.1 =>  (0x00007fff551f1000)
        libgtk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007eff46b08000)
        libgdk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007eff4682d000)
        libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007eff46519000)
        libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007eff46191000)
        libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007eff45f3e000)
        libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007eff45c2d000)
        libsensors.so.4 => /usr/lib/x86_64-linux-gnu/libsensors.so.4 (0x00007eff45a1e000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007eff45715000)
        libgtop-2.0.so.10 => /usr/lib/x86_64-linux-gnu/libgtop-2.0.so.10 (0x00007eff454fd000)
        libnotify.so.4 => /usr/lib/x86_64-linux-gnu/libnotify.so.4 (0x00007eff452f5000)
        libappindicator3.so.1 => /usr/lib/x86_64-linux-gnu/libappindicator3.so.1 (0x00007eff450e7000)
        libXNVCtrl.so.0 => /usr/lib/libXNVCtrl.so.0 (0x00007eff44ee0000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007eff44ba6000)
        libatasmart.so.4 => /lib/x86_64-linux-gnu/libatasmart.so.4 (0x00007eff44999000)
        libudisks2.so.0 => /usr/lib/x86_64-linux-gnu/libudisks2.so.0 (0x00007eff4472f000)
        libunity.so.9 => /usr/lib/x86_64-linux-gnu/libunity.so.9 (0x00007eff4448d000)
        libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007eff44220000)
        libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007eff44015000)                                         
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007eff43df8000)                                       
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007eff43a2e000)                                                                                                                   
        libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007eff4382a000)                                                                                           
        libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007eff4361d000)                                                                                     
        libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007eff4340d000)                                                                                                             
        libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007eff43207000)                                                                                                     
        libcairo-gobject.so.2 => /usr/lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007eff42ffe000)                                                                                       
        libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007eff42ddc000)                                                                                     
        libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007eff42bb7000)                                                                                                   
        libatk-bridge-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007eff42988000)                                                                                     
        libepoxy.so.0 => /usr/lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007eff42693000)                                                                                                       
        libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007eff4247d000)                                                                                         
        libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007eff42231000)                                                                                               
        libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007eff41fee000)                                                                                             
        libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007eff41deb000)                                                                                                 
        libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007eff41be0000)                                                                                                     
        libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007eff419d6000)                                                                                                   
        libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007eff417d3000)                                                                                             
        libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007eff415d0000)
        libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007eff41391000)
        libwayland-cursor.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007eff41189000)
        libwayland-egl.so.1 => /opt/amdgpu/lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007eff40f87000)
        libwayland-client.so.0 => /opt/amdgpu/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007eff40d78000)
        libmirclient.so.9 => /usr/lib/x86_64-linux-gnu/libmirclient.so.9 (0x00007eff40ad1000)
        libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007eff408bf000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007eff406b7000)
        libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007eff4040f000)
        libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007eff40165000)
        libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007eff3ff40000)
        libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007eff3fd3c000)
        libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007eff3fb32000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007eff3f910000)
        libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007eff3f706000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007eff3f4ec000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007eff3f2ca000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007eff3f0af000)
        libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007eff3eea7000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007eff3ec37000)
        /lib64/ld-linux-x86-64.so.2 (0x00007eff47437000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007eff3ea33000)
        libindicator3.so.7 => /usr/lib/x86_64-linux-gnu/libindicator3.so.7 (0x00007eff3e821000)
        libdbusmenu-gtk3.so.4 => /usr/lib/x86_64-linux-gnu/libdbusmenu-gtk3.so.4 (0x00007eff3e60d000)
        libdbusmenu-glib.so.4 => /usr/lib/x86_64-linux-gnu/libdbusmenu-glib.so.4 (0x00007eff3e3f1000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007eff3e1ed000)
        libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007eff475fc000)
        libdee-1.0.so.4 => /usr/lib/x86_64-linux-gnu/libdee-1.0.so.4 (0x00007eff3dfb2000)
        libunity-protocol-private.so.0 => /usr/lib/x86_64-linux-gnu/libunity/libunity-protocol-private.so.0 (0x00007eff3dd6b000)
        libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007eff3db38000)
        librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007eff3d91c000)
        libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007eff3d6e6000)
        libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007eff3d3b6000)
        libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007eff3d16c000)
        liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007eff3cf5d000)
        libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007eff3cd0c000)
        libatspi.so.0 => /usr/lib/x86_64-linux-gnu/libatspi.so.0 (0x00007eff3cadd000)
        libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007eff3c891000)
        libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007eff3c633000)
        libthai.so.0 => /usr/lib/x86_64-linux-gnu/libthai.so.0 (0x00007eff3c42a000)
        libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007eff3c201000)
        libmircommon.so.7 => /usr/lib/x86_64-linux-gnu/libmircommon.so.7 (0x00007eff3bfba000)
        libmirprotobuf.so.3 => /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3 (0x00007eff3bd48000)
        libcapnp-0.5.3.so => /usr/lib/x86_64-linux-gnu/libcapnp-0.5.3.so (0x00007eff3bac0000)
        libmircore.so.1 => /usr/lib/x86_64-linux-gnu/libmircore.so.1 (0x00007eff3b8b7000)
        libboost_system.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 (0x00007eff3b6b3000)
        libprotobuf-lite.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9 (0x00007eff3b482000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007eff3b100000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007eff3aeea000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007eff3ace4000)
        libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007eff3a882000)
        libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007eff3a4ee000)
        libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007eff3a2bb000)
        libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007eff3a03b000)
        libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007eff39dd7000)
        libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007eff39bc4000)
        libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007eff398f2000)
        libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007eff396c3000)
        libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007eff394bf000)
        libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007eff392b4000)
        libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007eff39099000)
        libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007eff38e58000)
        libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007eff4756a000)
        libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007eff38c32000)
        libdatrie.so.1 => /usr/lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007eff38a2a000)
        libboost_filesystem.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0 (0x00007eff38812000)
        libkj-0.5.3.so => /usr/lib/x86_64-linux-gnu/libkj-0.5.3.so (0x00007eff385e9000)
        libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007eff36b32000)
        libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007eff3692e000)
        libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007eff36725000)
        libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007eff3649b000)
        libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007eff361f9000)
        libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007eff35fc6000)
        libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007eff35db0000)
        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007eff35b8e000)
        libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007eff358ad000)
        libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007eff35684000)
        libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007eff35475000)
        libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007eff3522a000)
        libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007eff34f55000)
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007eff34d1d000)
        libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007eff34b09000)

Цитировать
Даже если Вы все-таки загрузите библиотеку с помощью переменной окружения LD_PRELOAD, это не даст никакого эффекта(!), потому что данная библиотека не занимается расширением и/или изменением "стандартной" функциональности других библиотек путем проксирования . Вообщем то, что Вы пытаетесь сделать, лишено всякого разумного смысла. Работа с данной библиотекой выполняется посредством узкоспециализированных утилит (наподобие adlutil), с помощью которых Вы можете выставить желаемые режимы работы видеокарты для системы в целом, а не для конкретного приложения. Так и только так!
Я то понимаю что здравого смысла тут мало но тут без вариантов т.к. АМД повели себя не совсем понятно по отношению к своим пользователям в Линуксе, мне уж хотя бы показать этим прогам эту библиотеку, чтобы они ее хотя бы увидели при запуске пускай даже они с ней и не будут работать из за того что библиотека под старые дрова и железо, по крайней мере тогда хотя бы успокоюсь и буду искать другие варианты  ;D



« Последнее редактирование: 25 Апреля 2018, 10:54:12 от barmaley99 »

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 701
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #11 : 26 Апреля 2018, 01:49:25 »
Определил просто - одна из нужных прог прямо при запуске, даже от рута, пишет - AMD ADL library not found
Также удобная прога для мониторинга hardware - Psensor не может получить доступ ко всем параметрам видеокарт а только может считать их температуру и обороты кулеров - захожу в ее настройки а там строчка Enable support of ATI ADL неактивная серого цвета, без возможности активирования, т.е. Psensor не видит этой библиотеки
А как же программы ее увидят, если Вы выдрали из пакета только саму библиотеку без необходимых дополнительный действий, которые выполняет входящий в состав пакета постинсталляционный скрипт (postinst) при непосредственной установке пакета пакетным менеджером? Да еще и разместили библиотеку в каталоге, соответствующем иерархии каталогов пакета для данной библиотеки. Конечно система не ведает, что в каталоге /usr/lib/fglrx/ должен выполняться поиск динамически компонуемых библиотек. Нужно было создать файл /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf, содержимое которого представляет собой строку пути поиска динамически компонуемых библиотек, что и делает следующая команда:
echo "/usr/lib/fglrx" | sudo tee /etc/ld.so.conf.d/x86_64-linux-gnu_GL.confПосле этого нелишним будет обновить кэш:
sudo ldconfigТеперь программам станет доступна для загрузки библиотека, находящаяся в каталоге /usr/lib/fglrx. Ну или еще более простая альтернатива - разместить библиотеку в каталоге /usr/lib/.
Но, как я уже подчеркивал, это не даст нужного эффекта (возможно даже программа аварийно завершится), т.к. библиотека работает только с драйвером fglrx, но никак не с amdgpu, что соотносится с Вашим положением дел.
Учитывая количество видеокарт и, обнаружив аналогичную тему на другом интернет-ресурсе, нетрудно сделать вывод, что Вы занимаетесь майнингом. Я в этом ни черта не понимаю. Но, по-видимому, Вы стремитесь увеличить частотный потенциал ядра/памяти и управлять оборотами кулера. В настоящий момент для этих целей служит псевдофайловая система sysfs. Подробнее об этом Вы можете почитать здесь или здесь. Не будет лишним также отметить существование скрипта amdgpu-fancontrol для гибкого управления оборотами кулера в зависимости от температуры. Конечно же в Вашем случае его придется допилить, т.к. в нем наличествует только одна видеокарта, что не соответствует Вашей конфигурации системы. Подробнее см. в вики дистрибутива archlinux.

Оффлайн barmaley99

  • Автор темы
  • Участник
  • *
  • Сообщений: 118
    • Просмотр профиля
Re: Помогите откомпилить программу
« Ответ #12 : 26 Апреля 2018, 10:20:41 »
Спасибо вам большое!

 

Страница сгенерирована за 0.078 секунд. Запросов: 23.