LINUX.ORG.RU

для сборки старой mesa нужен старый meson

 , ,


0

1

Так получилось, что нужно собрать старую месу (19.2.8) из-за старого железа.
Ругается и выдаёт ошибку, что используется слишком новая версия meson'а:

The Meson build system
Version: 1.0.0
Source dir: /w/t/src/mesa-19.2.8
Build dir: /w/t/src/build
Build type: native build
Program python3 found: YES (/usr/bin/python3)
WARNING: You should add the boolean check kwarg to the run_command call.
         It currently defaults to false,
         but it will default to true in future releases of meson.
         See also: https://github.com/mesonbuild/meson/issues/9300
Project name: mesa
Project version: 19.2.8
C compiler for the host machine: cc (gcc 12.2.0 "cc (CRUX-x86_64-multilib) 12.2.0")
C linker for the host machine: cc ld.bfd 2.39
C++ compiler for the host machine: c++ (gcc 12.2.0 "c++ (CRUX-x86_64-multilib) 12.2.0")
C++ linker for the host machine: c++ ld.bfd 2.39
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program pkg-config found: YES (/usr/bin/pkg-config)
Found pkg-config: /usr/bin/pkg-config (1.9.3)
Run-time dependency vdpau found: YES 1.5
Run-time dependency xvmc found: YES 1.0.13
Run-time dependency xv found: YES 1.0.12
Run-time dependency libva found: YES 1.17.0
Program python3 found: YES (/usr/bin/python3)
Fetching value of define "ETIME" : 62 
Checking for function "bswap32" : YES 
Checking for function "bswap64" : YES 
Checking for function "clz" : YES 
Checking for function "clzll" : YES 
Checking for function "ctz" : YES 
Checking for function "expect" : YES 
Checking for function "ffs" : YES 
Checking for function "ffsll" : YES 
Checking for function "popcount" : YES 
Checking for function "popcountll" : YES 
Checking for function "unreachable" : YES 
Checking if "__attribute__((const))" compiles: YES 
Checking if "__attribute__((flatten))" compiles: YES 
Checking if "__attribute__((malloc))" compiles: YES 
Checking if "__attribute__((pure))" compiles: YES 
Checking if "__attribute__((unused))" compiles: YES 
Checking if "__attribute__((warn_unused_result))" compiles: YES 
Checking if "__attribute__((weak))" compiles: YES 
Checking if "__attribute__((format(...)))" compiles: YES 
Checking if "__attribute__((packed))" compiles: YES 
Checking if "__attribute__((returns_nonnull))" compiles: YES 
Checking if "__attribute__((visibility(...)))" compiles: YES 
Checking if "__attribute__((alias(...)))" compiles: YES 
Checking if "__attribute__((__noreturn__))" compiles: YES 
Checking if "__uint128_t" compiles: YES 
Compiler for C supports arguments -Werror=implicit-function-declaration: YES 
Compiler for C supports arguments -Werror=missing-prototypes: YES 
Compiler for C supports arguments -Werror=return-type: YES 
Compiler for C supports arguments -Werror=incompatible-pointer-types: YES 
Compiler for C supports arguments -Werror=format: YES 
Compiler for C supports arguments -Wformat-security: YES 
Compiler for C supports arguments -Wno-missing-field-initializers: YES 
Compiler for C supports arguments -Wno-format-truncation: YES 
Compiler for C supports arguments -fno-math-errno: YES 
Compiler for C supports arguments -fno-trapping-math: YES 
Compiler for C supports arguments -Qunused-arguments: NO 
Compiler for C supports arguments -fvisibility=hidden: YES 
Compiler for C++ supports arguments -Werror=return-type: YES 
Compiler for C++ supports arguments -Werror=format: YES 
Compiler for C++ supports arguments -Wformat-security: YES 
Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES 
Compiler for C++ supports arguments -Wno-missing-field-initializers: YES 
Compiler for C++ supports arguments -Wno-format-truncation: YES 
Compiler for C++ supports arguments -fno-math-errno: YES 
Compiler for C++ supports arguments -fno-trapping-math: YES 
Compiler for C++ supports arguments -Qunused-arguments: NO 
Compiler for C supports arguments -Wno-override-init: YES 
Compiler for C supports arguments -Wno-initializer-overrides: NO 
Compiler for C++ supports arguments -fvisibility=hidden: YES 
Compiler for C supports arguments -Werror=pointer-arith: YES 
Compiler for C++ supports arguments -Werror=pointer-arith: YES 
Compiler for C supports arguments -Werror=vla: YES 
Compiler for C++ supports arguments -Werror=vla: YES 
Checking if "GCC atomic builtins" compiles: YES 
Checking if "GCC atomic builtins required -latomic" : links: YES 
Checking if "GCC 64bit atomics" with dependency : links: YES 
Header "sys/sysmacros.h" has symbol "major" : YES 
Checking if "xlocale.h" compiles: NO 
Checking if "sys/sysctl.h" compiles: NO 
Checking if "linux/futex.h" compiles: YES 
Checking if "endian.h" compiles: YES 
Checking if "dlfcn.h" compiles: YES 
Checking if "execinfo.h" compiles: YES 
Checking if "sys/shm.h" compiles: YES 
Checking if "cet.h" compiles: YES 
Checking for function "strtof" : YES 
Checking for function "mkostemp" : YES 
Checking for function "posix_memalign" : YES 
Checking for function "timespec_get" : YES 
Checking for function "memfd_create" : YES 
Checking for function "random_r" : YES 
Checking for function "flock" : YES 
Header "errno.h" has symbol "program_invocation_name" : YES 
Checking if "strtod has locale support" : links: YES 
Checking if "Bsymbolic" : links: YES 
Checking if "gc-sections" : links: YES 
Checking if "version-script" : links: YES 
Checking if "dynamic-list" : links: YES 
Checking for function "dlopen" : YES 
Checking for function "dladdr" with dependency : YES 
Checking for function "dl_iterate_phdr" : YES 
Checking for function "clock_gettime" : YES 
Run-time dependency zlib found: YES 1.2.13
Run-time dependency threads found: YES
Checking for function "pthread_setaffinity_np" with dependency threads: YES 
Checking for function "pthread_setaffinity_np" with dependency threads: NO 
Run-time dependency expat found: YES 2.5.0
Library m found: YES
Message: libdrm 2.4.99 needed because amdgpu has the highest requirement
Run-time dependency libdrm_amdgpu found: YES 2.4.114
Run-time dependency libdrm_radeon found: YES 2.4.114
Run-time dependency libdrm found: YES 2.4.114
llvm-config found: YES (/usr/bin/llvm-config) 15.0.6
Run-time dependency LLVM (modules: amdgpu, asmparser, bitreader, bitwriter, engine, ipo, mcdisassembler, mcjit, native) found: YES 15.0.6
Run-time dependency libelf found: YES 0.188
Run-time dependency libglvnd found: YES 1.6.0
Program bison found: YES (/usr/bin/bison)
Program flex found: YES (/usr/bin/flex)
Run-time dependency x11 found: YES 1.8.3
Run-time dependency xext found: YES 1.3.5
Run-time dependency xdamage found: YES 1.1.6
Run-time dependency xfixes found: YES 6.0.0
Run-time dependency xcb-glx found: YES 1.15
Run-time dependency xcb found: YES 1.15
Run-time dependency x11-xcb found: YES 1.8.3
Run-time dependency xcb-dri2 found: YES 1.15
Run-time dependency xcb-dri3 found: YES 1.15
Run-time dependency xcb-present found: YES 1.15
Run-time dependency xcb-sync found: YES 1.15
Run-time dependency xshmfence found: YES 1.3.2
Run-time dependency glproto found: YES 1.4.17
Run-time dependency dri2proto found: YES 2.8
Run-time dependency xxf86vm found: YES 1.1.5
Run-time dependency xcb-xfixes found: YES 1.15
Run-time dependency xcb-randr found: YES 1.15
Run-time dependency xrandr found: YES 1.5.3
Library sensors found: YES
Program nm found: YES (/usr/bin/nm)
Program symbols-check.py found: YES (/usr/bin/env python /w/t/src/mesa-19.2.8/bin/symbols-check.py)
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
mesa-19.2.8/src/mesa/drivers/dri/meson.build:77: WARNING: Project targets '>= 0.46' but uses feature introduced in '0.50.0': Python module path method.
Checking for function "mincore" : YES 
mesa-19.2.8/src/gallium/targets/dri/meson.build:110: WARNING: Project targets '>= 0.46' but uses feature introduced in '0.50.0': Python module path method.
mesa-19.2.8/src/gallium/targets/vdpau/meson.build:74: WARNING: Project targets '>= 0.46' but uses feature introduced in '0.50.0': Python module path method.
mesa-19.2.8/src/gallium/targets/xvmc/meson.build:63: WARNING: Project targets '>= 0.46' but uses feature introduced in '0.50.0': Python module path method.
mesa-19.2.8/src/gallium/targets/va/meson.build:68: WARNING: Project targets '>= 0.46' but uses feature introduced in '0.50.0': Python module path method.
Configuring xa_tracker.h using configuration
Message: Configuration summary:
        
        prefix:          /usr
        libdir:          lib
        includedir:      include
        
        OpenGL:          yes (ES1: yes ES2: yes)
        
        OSMesa:          libOSMesa(Gallium)
        
        DRI platform:    drm
        DRI drivers:     r200
        DRI driver dir:  /usr/lib/dri
        
        GLX:             DRI-based
        
        EGL:             yes
        EGL drivers:     builtin:egl_dri2 builtin:egl_dri3
        GBM:             yes
        EGL/Vulkan/VL platforms:   drm x11
        
        Vulkan drivers:  amd
        Vulkan ICD dir:  share/vulkan/icd.d
        
        llvm:            yes
        llvm-version:    15.0.6
        
        Gallium drivers: r600 radeonsi svga swrast
        Gallium st:      mesa xa xvmc xvmc vdpau va nine
        HUD lmsensors:   yes
        
        Shared-glapi:    yes

Build targets in project: 139
WARNING: Project specifies a minimum meson_version '>= 0.46' but uses features which were added in newer versions:
 * 0.50.0: {'Python module path method'}
NOTICE: Future-deprecated features used:
 * 0.47.0: {'build_always arg in custom_target'}
 * 0.55.0: {'ExternalProgram.path'}
 * 0.56.0: {'dependency.get_configtool_variable', 'meson.source_root'}

mesa 19.2.8

  User defined options
    buildtype        : plain
    prefix           : /usr
    sysconfdir       : /etc
    wrap_mode        : nodownload
    b_lto            : false
    b_pie            : true
    dri-drivers      : r200
    dri3             : true
    egl              : true
    gallium-drivers  : r600,radeonsi,svga,swrast
    gallium-extra-hud: true
    gallium-nine     : true
    gallium-omx      : disabled
    gallium-va       : true
    gallium-vdpau    : true
    gallium-xa       : true
    gallium-xvmc     : true
    gbm              : true
    gles1            : true
    gles2            : true
    glvnd            : true
    glx              : dri
    glx-direct       : true
    libunwind        : false
    llvm             : true
    lmsensors        : true
    opengl           : true
    osmesa           : gallium
    platforms        : drm,x11
    shared-glapi     : true
    shared-llvm      : true
    tools            : glsl,nir
    valgrind         : false
    vulkan-drivers   : amd

Found ninja-1.11.1 at /usr/bin/ninja
+ meson compile -C build -j4
ninja: Entering directory `/w/t/src/build'
[1/1679] Compiling C object src/libglsl_util.a.p/mesa_program_symbol_table.c.o
[2/1679] Compiling C object src/libglsl_util.a.p/mesa_main_extensions_table.c.o
[3/1679] Generating src/git_sha1.h with a custom command
[4/1679] Compiling C object src/libglsl_util.a.p/mesa_main_imports.c.o
[5/1679] Generating src/util/xmlpool/xmlpool_options.h with a custom command
Warning: language 'ca' not found.
Warning: language 'es' not found.
Warning: language 'de' not found.
Warning: language 'nl' not found.
Warning: language 'sv' not found.
Warning: language 'fr' not found.
[6/1679] Compiling C object src/libglsl_util.a.p/mesa_program_prog_parameter.c.o
../mesa-19.2.8/src/mesa/program/prog_parameter.c:412:50: warning: argument 2 of type 'const gl_state_index16[5]' {aka 'const short int[5]'} with mismatched bound [-Warray-parameter=]
  412 |                           const gl_state_index16 stateTokens[STATE_LENGTH])
      |                           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../mesa-19.2.8/src/mesa/program/prog_parameter.c:36:
../mesa-19.2.8/src/mesa/program/prog_parameter.h:174:50: note: previously declared as 'const gl_state_index16[]' {aka 'const short int[]'}
  174 |                           const gl_state_index16 stateTokens[]);
      |                           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
[7/1679] Compiling C object src/libglsl_util.a.p/mesa_program_dummy_errors.c.o
[8/1679] Linking static target src/libglsl_util.a
[9/1679] Compiling C object src/util/libmesa_util.a.p/bitscan.c.o
[10/1679] Compiling C object src/util/libmesa_util.a.p/anon_file.c.o
[11/1679] Compiling C object src/util/libmesa_util.a.p/build_id.c.o
[12/1679] Compiling C object src/util/libmesa_util.a.p/crc32.c.o
[13/1679] Compiling C object src/util/libmesa_util.a.p/dag.c.o
[14/1679] Compiling C object src/util/libmesa_util.a.p/fast_idiv_by_const.c.o
[15/1679] Compiling C object src/util/libmesa_util.a.p/debug.c.o
[16/1679] Compiling C object src/util/libmesa_util.a.p/half_float.c.o
[17/1679] Compiling C object src/util/libmesa_util.a.p/mesa-sha1.c.o
[18/1679] Compiling C object src/util/libmesa_util.a.p/os_time.c.o
[19/1679] Compiling C object src/util/libmesa_util.a.p/disk_cache.c.o
[20/1679] Compiling C object src/util/libmesa_util.a.p/os_file.c.o
[21/1679] Compiling C object src/util/libmesa_util.a.p/os_misc.c.o
[22/1679] Compiling C object src/util/libmesa_util.a.p/u_process.c.o
[23/1679] Compiling C object src/util/libmesa_util.a.p/hash_table.c.o
[24/1679] Compiling C object src/util/libmesa_util.a.p/rand_xor.c.o
[25/1679] Compiling C object src/util/libmesa_util.a.p/sha1_sha1.c.o
[26/1679] Compiling C object src/util/libmesa_util.a.p/rb_tree.c.o
[27/1679] Compiling C object src/util/libmesa_util.a.p/ralloc.c.o
[28/1679] Compiling C object src/util/libmesa_util.a.p/set.c.o
[29/1679] Compiling C object src/util/libmesa_util.a.p/slab.c.o
[30/1679] Compiling C object src/util/libmesa_util.a.p/string_buffer.c.o
[31/1679] Compiling C object src/util/libmesa_util.a.p/register_allocate.c.o
[32/1679] Compiling C object src/util/libmesa_util.a.p/u_atomic.c.o
[33/1679] Compiling C object src/util/libmesa_util.a.p/strtod.c.o
[34/1679] Compiling C object src/util/libmesa_util.a.p/rgtc.c.o
[35/1679] Compiling C object src/util/libmesa_util.a.p/u_vector.c.o
[36/1679] Compiling C object src/util/libmesa_util.a.p/u_math.c.o
[37/1679] Compiling C object src/util/libmesa_util.a.p/u_queue.c.o
[38/1679] Compiling C object src/util/libmesa_util.a.p/u_cpu_detect.c.o
[39/1679] Compiling C object src/util/libmesa_util.a.p/u_debug.c.o
[40/1679] Compiling C object src/util/libmesa_util.a.p/vma.c.o
[41/1679] Generating src/mapi/glapi/gen/glapi_mapi_tmp.h with a custom command (wrapped by meson to capture output)
FAILED: src/mapi/glapi/gen/glapi_mapi_tmp.h 
/usr/bin/meson --internal exe --capture src/mapi/glapi/gen/glapi_mapi_tmp.h -- /usr/bin/python3 ../mesa-19.2.8/src/mapi/mapi_abi.py --printer glapi ../mesa-19.2.8/src/mapi/glapi/gen/gl_and_es_API.xml
--- stderr ---
Traceback (most recent call last):
  File "/w/t/src/build/../mesa-19.2.8/src/mapi/mapi_abi.py", line 674, in <module>
    main()
  File "/w/t/src/build/../mesa-19.2.8/src/mapi/mapi_abi.py", line 667, in main
    entries = abi_parse_xml(filename)
  File "/w/t/src/build/../mesa-19.2.8/src/mapi/mapi_abi.py", line 140, in abi_parse_xml
    api = gl_XML.parse_GL_API(xml, glX_XML.glx_item_factory())
  File "/w/t/src/build/../mesa-19.2.8/src/mapi/glapi/gen/gl_XML.py", line 44, in parse_GL_API
    api.parse_file( file_name )
  File "/w/t/src/build/../mesa-19.2.8/src/mapi/glapi/gen/gl_XML.py", line 858, in parse_file
    self.process_element(file_name, doc)
  File "/w/t/src/build/../mesa-19.2.8/src/mapi/glapi/gen/gl_XML.py", line 864, in process_element
    self.process_OpenGLAPI(file_name, element)
  File "/w/t/src/build/../mesa-19.2.8/src/mapi/glapi/gen/gl_XML.py", line 869, in process_OpenGLAPI
    for child in element.getchildren():
AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'

[42/1679] Compiling C object src/util/libxmlconfig.a.p/xmlconfig.c.o
[43/1679] Generating src/mapi/glapi/gen/enums.c with a custom command (wrapped by meson to capture output)
[44/1679] Generating src/util/format_srgb with a custom command (wrapped by meson to capture output)
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /w/t/src/build -j 4
Подскажите, как быть? Можно пропатчить месу, или придётся ещё старый meson устанавливать?
Помогите!

★★★★★

Последнее исправление: teod0r (всего исправлений: 1)

Ответ на: комментарий от irton

вобщем стал пересобирать llvm, стал собирать его в том же префиксе, что и gcc (раньше по ошибке были в разных). собрал. при попытке собрать месу ругался на llvm-config. выяснилось: https://sebsauvage.net/paste/?611da5522dfe6687#P6hZ9HCqEEfIhebHsn NW nB0q8iox... — нагуглил решение что надо добавить
export LD_RUN_PATH=«/other/lib:$LD_RUN_PATH»
export PATH=«/other/bin:$PATH»
в сборку llvm'а. добавил это и в сборку clang'а.
теперь при сборке mesa вот: https://sebsauvage.net/paste/?6e1daf99d688dcdd#VsQGeCdM5GlpDyEn5ncuwtTlMDDOpU...

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от irton

ну это мы уже гдето чинили вроде

тоже так сначала подумал, просмотрел наши предыдущие сообщения — нету.

можно попробовать -Wl,–no-undefined убрать из параметров компиляции

чем это грозит?
я ему не передавал такой ключ, оно само. попробовал передать LDFLAGS+=' -zundefs' (в man ld сказано, что оно отменяет --no-undefined), отключил все оптимизации в CFLAGS: https://sebsauvage.net/paste/?d0f58dd4c5fd5df7#CXBgaUWFEhrfA m8inM0eGFwgzjV5I... — ситуация та же.
пробовать убрать --no-undefined из "мэйкфайла"?? опять же, чем это грозит?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от irton

))))))))))))))
стоило мне прописать CFLAGS+=' -Wl,-zundefs' CXXFLAGS+=' -Wl,-zundefs' всё собралось!!!!!!!!!!
до этого пробовал LDFLAGS+=' -zundefs' — не работало!
так оставлять? -zundefs чем-то плохим грозит?

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от irton

ну он как раз отменяет этот самый --no-undefined. чем грозит сборка без --no-undefined? я так понимаю, undefind ругается, когда пытается сослаться на функцию, которая не объявлена... это ведь плохо?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от irton

нашлись. gcc-8.3 собрался, но при сборке с ним та же ошибка месы.
спросил у https://www.phind.com/ — вот его ответ: https://sebsauvage.net/paste/?b4208ccdb1eeb80f#44W/ox5a31HDwgN99rnLmg4OsOwHS4...
ldconfig -p действительно не выводит libclangCodeGen, но есть статические /usr/lib/libclangCodeGen.a, /other/lib/libclangCodeGen.a. как быть? надо что-то линковщику указать? или надо собрать clang с динамической libclangCodeGen? как? или 8-ой clang нужен?

teod0r ★★★★★
() автор топика
15 июля 2023 г.
Ответ на: комментарий от irton

у меня почему-то:

/usr/lib/libOSMesa.so.8.0.0:
        libLLVM-8.so => not found

/usr/lib/dri/kms_swrast_dri.so:
        libLLVM-8.so => not found

/usr/lib/dri/r600_dri.so:
        libLLVM-8.so => not found

/usr/lib/dri/swrast_dri.so:
        libLLVM-8.so => not found

/usr/lib/dri/vmwgfx_dri.so:
        libLLVM-8.so => not found

/usr/lib/dri/radeonsi_dri.so:
        libLLVM-8.so => not found

libLLVM-8.so находится в /other/lib/libLLVM-8.so — префикс, куда собирал llvm-8.
как задать путь при компиляции mesa, где она будет искать библиотеки?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

но это же в рантайме задаётся?

Што?

зачем мне для всей системы задавать?

Што што?

я хотел во время компиляции месы чисто для неё указать, так нельзя?

export LD_LIBRARY_PATH=<путь до libLLVM-8.so>
<compile>

Вот только работать оно не будет, потому что RPATH внутри бинаря пропишет путь к <libLLVM-8.so>. Но скомпилится. Вопрос же был про компиляцию.

PPP328 ★★★★★
()
Последнее исправление: PPP328 (всего исправлений: 1)
Ответ на: комментарий от PPP328

Што што?

ну вот у меня ldd /usr/lib/libOSMesa.so.8.0.0 выдаёт libLLVM-8.so => not found. это в чруте, эту систему ещё не запускал, осталось ядро скомпилять, и тут это обнаружилось. LD_LIBRARY_PATH мне куда прописывать? он же тока для месы нужен.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Я не уверен, но вроде бы libLLVM можно собрать в статическую библиотеку и собрать Mesa уже с ней. Тогда отдельный libLLVM.so будет не нужен.
Только такой вариант официально не поддерживается, это колхоз.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

вроде бы libLLVM можно собрать в статическую библиотеку и собрать Mesa уже с ней. Тогда отдельный libLLVM.so будет не нужен.

О магия какая. А из-за чего собственно эта данная проблема возникает? почему ldd не может найти библиотеку из другого префикса?

это колхоз

у меня и так уже колхоз со старой месой

teod0r ★★★★★
() автор топика
Ответ на: комментарий от PPP328

потому что RPATH внутри бинаря пропишет путь к <libLLVM-8.so>.

сначала невнимательно прочитал. как можно задать RPATH для месы? пробовал export RPATH='/other/lib'; <compile>; meson setup build «mesa-$version» ... -rpath='/other/lib'; meson setup build «mesa-$version» ... -D rpath='/other/lib' — не работает.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от Khnazile

вроде бы libLLVM можно собрать в статическую библиотеку и собрать Mesa уже с ней.

можно по-подробней? какие опции компиляции нужны для llvm и для mesa? для mesa — -D shared-llvm=false? а для llvm как?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Я сам никогда статичный llvm не собирал, только встречал упоминание, что люди так делали в своих проектах. ЕМНИП, при сборке есть ключ -static, но я не уверен. Посмотри документацию, тем более что собираешь старую версию, там может быть по-другому.

Khnazile ★★★★★
()
Ответ на: комментарий от PPP328

это указывается при компиляции когда задаете опции -L линкеру.

вот с этого места то и по-подробнее! как задать эту опцию месному месону? всмысле, как задать опцию -L с RPATH meson'у в mes'е? подскажите, пожалуйста.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r
meson setup -Dc_link_args='-Wl,-rpath=...'

Или

meson configure -Dc_link_args='-Wl,-rpath=...'

Или же в самом рецепте:

build_target(
    ...
    link_args : ['-Wl,-rpath=...']
)

Но тогда надо убедиться, что где-то включена строка

add_project_link_arguments()
PPP328 ★★★★★
()
Последнее исправление: PPP328 (всего исправлений: 1)
Ответ на: комментарий от PPP328

собрал с

meson setup build "mesa-$version" \
    --prefix=/usr \
    --sysconfdir=/etc \
    --buildtype=plain \
    --wrap-mode nodownload \
    -D osmesa=gallium \
    -D llvm=true \
[...]
    -D c_link_args='-Wl,-rpath=/other/lib'
всё-равно
> ldd /usr/lib/libOSMesa.so.8.0.0 | grep not
        libLLVM-8.so => not found
Я что-то не так сделал?

teod0r ★★★★★
() автор топика