Установка Wine 1.5: настройка: ошибка: невозможно собрать 32-битную программу, вам нужно установить 32-битные библиотеки разработки

32
    Wine Installer v1.0

Warning !! wine binary (still) found, which may indicate
a (conflicting) previous installation.
You might want to abort and uninstall Wine first.
(If you previously tried to install from source manually, 
run 'make uninstall' from the wine root directory)

We need to install Wine as the root user. Do you want us to build Wine,
'su root' and install Wine?  Enter 'no' to build Wine without installing:
(yes/no) yes
Running configure...

checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for cpp... cpp
checking whether gcc -m32 works... no
configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries.

Configure failed, aborting install.

Как мне решить эту проблему?

jaorizabal
источник

Ответы:

30

Я полагаю, вы используете Ubuntu 12.04 x64, которая теперь поддерживает мульти-архитектуру. Другими словами, в 64-битной системе вы можете собрать только версию Wine-x64. Сборка 32-битного Wine на Ubuntu 12.04 x64 кажется слишком глючной, как сейчас.

Так что просто запустите эту команду:

./configure --enable-win64
Эрго Прокси
источник
6
Разве это не создает wine64 вместо вина? Я не могу запустить Windows 32-битные программы с Wine64.
Готье
1
В наше время вино требует flexи bisonтак в sudo apt install flex bisonпервую очередь, но да, это лучший ответ.
Тацу
19

Согласно: https://stackoverflow.com/a/17748092/108802

Вам необходимо установить gcc-multilibs.

sudo apt-get install gcc-multilib g++-multilib

Затем [...] указывается 32-битный хост и передаются 32-битные флаги компиляции:

./configure --host=i686-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
Готье
источник
В моем случае это все равно привело к множеству неудовлетворенных 32-битных зависимостей, которые apt отказалась устанавливать. Я думаю, что установка виртуальной Linux-машины для компиляции 32-битных компонентов будет не такой уж головной болью.
Hubro
1
Это лучший ответ, так как иногда wine64 не может запускать 32-битные приложения
Брэндон Кученски
3

попробуйте установить 32-битные зависимости

sudo apt-get install ia32-libs
sudo apt-get install gcc-multilib g++-multilib
sudo apt-get install xserver-xorg-dev:i386 libfreetype6-dev:i386
Рикардо Ил Руфино
источник
0

Я могу сделать установку Linux "RedHat 6.4" после установки некоторых пакетов, таких как gcc, gcc-c ++, flex, bison и т. Д.

с запуском ниже по запросу:

./configure --enable-win64 --without-freetype

make

wine notepad++.exe
Раджеш Кумар Чаудхари
источник
5
и это работает в Ubuntu?
Брайам
0

Ubuntu 18.04.1 с 64 бит

  • sudo install flex
  • sudo install bison
  • ./configure --enable-win64 --without-freetype,
  • make
Хуан Мендес
источник