LINUX.ORG.RU

ошибка компиляции wine

 , , ,


0

1

при сборке proton во время компиляции 32 бит wine-proton происходит следующая ошибка

gcc -m32 -mstackrealign -m32 -c -o bcrypt_main.o ../../../../proton/wine/dlls/bcrypt/bcrypt_main.c -I. \
  -I../../../../proton/wine/dlls/bcrypt -I../../include -I../../../../proton/wine/include \
  -D__WINESRC__ -D_REENTRANT -fno-PIC -fasynchronous-unwind-tables -Wall -pipe -fcf-protection=none \
  -fno-stack-protector -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body \
  -Wignored-qualifiers -Wno-packed-not-aligned -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \
  -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 \
  -gstrict-dwarf -fno-omit-frame-pointer -I/mnt/sda1/pron-bld/build/obj-tools32/include -g -O2 -march=nocona -mtune=core-avx2 -mfpmath=sse -fwrapv -fno-strict-aliasing -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c: In function ‘get_dh_property’:
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:698:17: error: ‘const union <anonymous>’ has no member named ‘a’
  698 |     if (!(key->u.a.flags & KEY_FLAG_FINALIZED)) return STATUS_INVALID_HANDLE;
      |                 ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:700:60: error: ‘const union <anonymous>’ has no member named ‘a’
  700 |     data_size = sizeof(BCRYPT_DH_PARAMETER_HEADER) + key->u.a.bitlen / 8 * 2;
      |                                                            ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:713:28: error: ‘const union <anonymous>’ has no member named ‘a’
  713 |     h->cbKeyLength = key->u.a.bitlen / 8;
      |                            ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:714:48: error: ‘const union <anonymous>’ has no member named ‘a’
  714 |     memcpy( h + 1, (BCRYPT_DH_KEY_BLOB *)key->u.a.pubkey + 1, h->cbKeyLength * 2);
      |                                                ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c: In function ‘BCryptFinalizeKeyPair’:
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:1659:15: error: ‘union <anonymous>’ has no member named ‘a’
 1659 |         key->u.a.flags |= KEY_FLAG_FINALIZED;
      |               ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c: In function ‘BCryptImportKeyPair’:
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:1746:36: error: ‘union <anonymous>’ has no member named ‘a’
 1746 |         ((struct key *)*ret_key)->u.a.flags |= KEY_FLAG_FINALIZED;
      |                                    ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c: In function ‘BCryptSetProperty’:
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:1864:79: error: ‘union <anonymous>’ has no member named ‘a’
 1864 |                 ULONG param_size = sizeof(BCRYPT_DH_PARAMETER_HEADER) + key->u.a.bitlen / 8 * 2;
      |                                                                               ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:1866:27: error: ‘union <anonymous>’ has no member named ‘a’
 1866 |                 if (key->u.a.flags & KEY_FLAG_FINALIZED)
      |                           ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:1872:52: error: ‘union <anonymous>’ has no member named ‘a’
 1872 |                         || h->cbKeyLength != key->u.a.bitlen / 8)
      |                                                    ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:1875:52: error: ‘union <anonymous>’ has no member named ‘a’
 1875 |                 memcpy((BCRYPT_DH_KEY_BLOB *)key->u.a.pubkey + 1, h + 1, h->cbKeyLength * 2);
      |                                                    ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:1876:23: error: ‘union <anonymous>’ has no member named ‘a’
 1876 |                 key->u.a.flags |= KEY_FLAG_DH_PARAMS_SET;
      |                       ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c: In function ‘BCryptSecretAgreement’:
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:2053:21: error: ‘union <anonymous>’ has no member named ‘a’
 2053 |     if (!(privkey->u.a.flags & pubkey->u.a.flags & KEY_FLAG_FINALIZED)) return STATUS_INVALID_PARAMETER;
      |                     ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:2053:41: error: ‘union <anonymous>’ has no member named ‘a’
 2053 |     if (!(privkey->u.a.flags & pubkey->u.a.flags & KEY_FLAG_FINALIZED)) return STATUS_INVALID_PARAMETER;
      |                                         ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:2054:19: error: ‘union <anonymous>’ has no member named ‘a’
 2054 |     if (privkey->u.a.bitlen != pubkey->u.a.bitlen) return STATUS_INVALID_PARAMETER;
      |                   ^
../../../../proton/wine/dlls/bcrypt/bcrypt_main.c:2054:41: error: ‘union <anonymous>’ has no member named ‘a’
 2054 |     if (privkey->u.a.bitlen != pubkey->u.a.bitlen) return STATUS_INVALID_PARAMETER;
      |                                         ^
make[3]: *** [Makefile:191: bcrypt_main.o] Ошибка 1
make[3]: выход из каталога «/mnt/sda1/pron-bld/build/obj-wine32/dlls/bcrypt»
make[2]: *** [Makefile:11515: dlls/bcrypt] Ошибка 2
make[2]: выход из каталога «/mnt/sda1/pron-bld/build/obj-wine32»
make[1]: *** [../proton/build/makefile_base.mak:1306: wine32-intermediate] Ошибка 2
make[1]: выход из каталога «/mnt/sda1/pron-bld/build»
make: *** [../proton/build/makefile_base.mak:17: nested_make] Ошибка 2

возможно не стоят какие-то i386-dev либы, может что то еще

дополнительно: ubuntu 21.04 никаких vagrant и докеров не использую, просто создал отдельного юзера, выполнил команды из vagrantfile и запустил vagrant-user-setup.sh, потом make

еще заметил что вроде в других вайнах (5.0 6.0 6.4) этой функции с ошибкой вроде нет



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

Ищи, какой пакет нужен для сборки 32-битной bcrypt.dll. Мне пока из этого выхлопа ответ не очевиден.

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

вроде только gnutls и gmp но они должны стоять

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

и что с ним делать? информацию о зависимотях вроде нашел, щас проверю все ли стоит. собирать хочу способом стандартным

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

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

DMITRY
() автор топика

Функции с этой ошибкой и в 5.13 нет, вот эта строчка:

https://source.winehq.org/git/wine.git/blob/wine-5.13:/dlls/bcrypt/bcrypt_main.c#l698

Так что во-первых, не врите про версию вайна, во-вторых не слушайте дурачков которые что-то тут вякают про зависимости - ошибка же в коде, вот и читай его - что за key->u, какой у него тип, что там за union и что у него за поля, или идете туда где взяли этот код.

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

клонировал реп протона через git clone, в файле VERSION написано 5.13 п.с. думаю попробовать заменить этот класс на тот который в обычном вайне

ааа, они просто доки не обновили, там вайн совсем другой

DMITRY
() автор топика
Последнее исправление: DMITRY (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.