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-9.0.1
такая ошибка: https://sebsauvage.net/paste/?c170808823fb08b0#TDAPgm3P3DLDSvr1V7lt8OOkK9/wPr...
это с -D vulkan-drivers=amd
с -D vulkan-drivers= : https://sebsauvage.net/paste/?1b3ad8351d13e926#6Zk60FhbswcYPaOHj1wbi/NUo/1R33...

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

multiple definition можно починить или исправлением исходного кода, или добавлением в параметры компилятора -fcommon

Поищите как добавить в CFLAGS опцию -fcommon или наложить вот такой патч https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3479/diffs

get_pic_param чинится вот таким https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3731/diffs или тоже -fcommon

Если кратко, то в gcc10 и выше закрутили гайки требований к коду.

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

наложить вот такой патч https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3479/diffs

патч не подошёл, там нет таких строк. вот src/amd/vulkan/radv_radeon_winsys.h: https://sebsauvage.net/paste/?539d821cab9224ad#Yz22t31mmKbQ4mkC8wICt2XETNIiXL...

Поищите как добавить в CFLAGS опцию -fcommon

надо было в общие CFLAGS, или как-то только для этого файла? добавил в оющие для всей месы: https://sebsauvage.net/paste/?3f8e6775c5d18d50#0nIYqw2kCnGqPdl73GHJwc3if6mgip...

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

get_pic_param чинится вот таким https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3731/diffs

первый hunk не наложился, там нет таких строк.
оригинал radeon_vce.c: https://sebsauvage.net/paste/?1cd68fd0de573bec#aU9r14BJ0gO774SAgPCwGdEfh4Pax8...
остальные наложились. теперь ошибка: https://sebsauvage.net/paste/?ade3ef354ed7e910#JMLVnBMq/PlkU9UKmzKHyWKI9bOIT0...

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

а вот это сложно отловить :( потому что ошибки в mesa не видно а жалуется llvm

Может быть такой коммит поможет https://gitlab.freedesktop.org/mesa/mesa/-/commit/a3543adc2628461818cfa691a7f547af7bc6f0fb но я не уверен :(

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

Если кратко, то в gcc10 и выше закрутили гайки требований к коду.

пробовал собрать gcc-9.3 в отдельный префикс, такая ошибка при сборке gcc: https://sebsauvage.net/paste/?6a039ebe1b1774f1#6JsaWGy0J17HXgdm8K3c9dWJ6UQspR...

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

теперь другая ошибка https://sebsauvage.net/paste/?63749c567ede5e12#/IR5JSiWDLiXufV3aPfVKSFpCtK9ix...
лёгкий гуглинг дал понять, что это может быть из-за старого ядра. сейчас в работающей системе используется старое ядро (4.5.7). собираю в чруте новую систему, планируется использовать свежее ядро с драйвером radeon (если нормально заведётся на этом железе), хедеры свежие. возможно исправить, или нужно свежее ядро?

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

сделал вот так https://sebsauvage.net/paste/?6c1a20aefed417e6#vexww/Ti1nQY9Tz0xi /MiycKgiW5v...
gcc-9.3 собралось. пробовал им собрать месу с галлиумом, наложил:
https://sebsauvage.net/paste/?662dfe391b9d98e8#3qBbuOFFICuojlbQzEAXMxF7WUMMqP...
https://sebsauvage.net/paste/?5633debf39f7a77a#xPZQGWYmd/OJb2oq7fhITlJWXrm6WR...
https://sebsauvage.net/paste/?2f3a7632678734df#leRQ2SzU Z/cIF41IOBxC WmX80mCX...
вот такая ошибка:
https://sebsauvage.net/paste/?db30c1c9588a42f5#g56TaI7t1lapw4j7VjB59IoJ28/4hT...
irton, help
может, нада 8-ой gcc?

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

в src/gallium/state_trackers/clover/llvm/compat.hpp нет соответствующих строк
оригинал: https://sebsauvage.net/paste/?995e4b46ee3631fe#6utAGnzubId/eyr9kd jmzPlP7 M3J...
уже пропатченная предыдущими патчами версия: https://sebsauvage.net/paste/?f1c3658a78cefea1#lPXvCpnrLnIpbmbZx0dmuaGzddcCas...

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

мне кажется, или автору было бы проще давно апгрейднуть железо/заплатить мезо-афторам за сборку или бэкпорт/найти другое решение

чем получать вот эти сомнительные навыки сборки старой mesa

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

ещё раз проверил, в уже пропатченном варианте https://sebsauvage.net/paste/?f1c3658a78cefea1#lPXvCpnrLnIpbmbZx0dmuaGzddcCas... на строке 210 есть похожие строки, но там нет того что должно быть после #else.
может, ещё понизить версию llvm или gcc? какая нужна?

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

В то время как существует pyenv, жаловаться на проблему с разными версиями питона… ну такое. Можно хоть весь зоопарк версий бесконфликтно держать.

Хотя я тоже не приветствую наличие скриптов на питоне в сборочной обвязке. Там обычно довольно тривиальный скрипты, которым питон нужен как собаке пятая нога.

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

У вас llvm15 же, значит строка (хоть там и нет #if LLVM_VERSION_MAJOR >= 15 как в патче) должна быть

- c->getInvocation().setLangDefaults(c->getLangOpts(), ik, triple,
+ c->getLangOpts().setLangDefaults(c->getLangOpts(), ik.getLanguage(), triple,
irton ★★★★★
()
Последнее исправление: irton (всего исправлений: 1)
Ответ на: комментарий от wandrien

Хотя я тоже не приветствую наличие скриптов на питоне в сборочной обвязке. Там обычно довольно тривиальный скрипты, которым питон нужен как собаке пятая нога.

Ну да, всего-то генератор сишного кода из XML-файлов </sarcasm>

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

блин, установил gcc и llvm в разные префиксы, а в сборочном скрипте месы прописал тока 1 PATH!
с gcc-9.3 и llvm-9.0.1: https://sebsauvage.net/paste/?1f099bab4905c202#NJ7CoQ/Mrxu1zAdqJGmWY63Xi30SM1...
ещё понижать версию gcc и llvm не надо?

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

при попытке собрать clang-9.0.1 такая ошибка https://sebsauvage.net/paste/?df19ff24c317eb3a#vjEUVQWCmPmnaqPczai14hcvZf1vRS...
перед сборкой clang'а надо compiler-rt девятой версии собирать? (стоит 15-ый). пробовал в портах CRUX'а найти девятый, не нашёл, он раньше как-то по-другому назывался, что-то типа compiler-rt-sanitizers, не смог найти

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

clang-9.0.1 собрал.
с ним: https://sebsauvage.net/paste/?5d76546215ec8c3b#RwmS75XHWW1cR338p5IkWrztl1S9eg...
multiple definition of `get_pic_param' уже было, накладывал эти https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3731/diffs патчи, такое ощущение, что с ними ничего не поменялось https://sebsauvage.net/paste/?1bdd02063ae9a52a#ZcPE1Pn3zOElzeZ7dzrxKfhHeJjm/q...

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

irton,
посмотрел на патчи повнимательнее, там файл src/gallium/drivers/radeon/radeon_vce.c не сходится, вот оригинал https://sebsauvage.net/paste/?875a2efbaf498d20#2d5emZ6v5JdCEfq9GZWEiZGKqO5044...
в тот раз я его скорее всего не правильно патчил, не знаю как правильно...

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

https://reviews.llvm.org/D142279 вот какое-то обсуждение по этому вопросу, но я ничего не понял. толи в gcc толи в glibc надо эти GLIBCXX_ASSERTIONS включить чтоб заработало…. непонятно

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

на всякий случай попробовал собрать месу с полностью отключенными оптимизациями, только -march=x86-64 -O2 https://sebsauvage.net/paste/?3c4a16db4f6f9a97#a49/0FafosngHp2N5fVIz ytkV7WNQ...

но я ничего не понял. толи в gcc толи в glibc надо эти GLIBCXX_ASSERTIONS включить

толи в gcc, толи в llvm. толи включить, толи выключить. тоже не въезжаю. там ещё упамянается LLVM_ENABLE_ASSERTIONS=ON.
кстати, при чём здесь -D_GLIBCXX_ASSERTIONS? как это связано с моей проблемой?
сейчас у меня gcc, llvm, glibc, да и вообще всё собрано с -D_GLIBCXX_ASSERTIONS. попробовать что-то собрать без этой опции? gcc?

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