LINUX.ORG.RU

Debian 7, в котором нет gcc-4.5 и winegcc, который его жаждет

 ,


0

2

Доброго времени суток! Мне нужно кое-чего пособирать через winegcc, но вот незадача, при любой попытке запустить winegcc или wineg++ отвечает следующим:

winegcc: g++-4.5 failed
Вино установлено свежее пакетами, к которым отсылают с офф-сайта (http://dev.carbon-project.org/debian/wine-unstable/). Всё логично, нужно поставить пакет gcc-4.5-multilib, но ничего не выходит, потому что в репах есть только 4.4 и 4.6, а 4.5 именно вот нету. Что в данной ситуации делать не знаю, потому спрашиваю у ЛОР-а. Где взять 4.5, или можно ли как-то заставить winegcc использовать другую версию gcc?

Благодарю за внимание.



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

мсье знает толк в извращениях... а 4.5 возможно тестовая, потому в репах и нет

ossnewcomer
()

Вино установлено свежее пакетами, к которым отсылают с офф-сайта (http://dev.carbon-project.org/debian/wine-unstable/).

Это НЕ свежее! Если нет конкретных возражений против стабильного 1.4 из Debian 7, то лучше им и воспользоваться. Иначе или собирать самому, или довериться любителю, собравшему за тебя. Здесь на ЛОРе недавно двое предлагали свои сборки.

gag ★★★★★
()

Пересобери - в файле debian/rules компилятор задан как gcc-4.5, и пояснено что это из-за бага в новом и в старом gcc. Просто поменяй на gcc, и всё будет работать.

DEB-SRC собирать умеешь? Зависимости устанавливаются по apt-get build-dep wine.

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

Чего только людм не делают абы не пользоваться обыкновенным кросскомпилером

AF ★★★
()

Включи репозиторий deb-src. Затем:

# apt-get build-dep wine
$ mkdir wine-build && cd wine build
$ wget
$ http://dev.carbon-project.org/debian/wine-unstable/wine-unstable_1.5.5-0.1.debian.tar.bz2
$ wget wget http://prdownloads.sourceforge.net/wine/wine-1.5.30.tar.bz2
$ tar xf wine-1.5.30.tar.bz2
$ cd wine-1.5.30
$ mv ../wine-unstable_1.5.5-0.1.debian.tar.bz2 .
$ tar xf wine-unstable_1.5.5-0.1.debian.tar.bz2

В файле debian/rules везде меняешь «1.5.5» на «1.5.30», а «gcc-4.5» на «gcc».

$ fakeroot ./debian/rules binary
$ cd ..
# dpkg -i *.deb

Знак «$» означает выполнение команды от имени пользователя, а «#» - от администратора.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion
fakeroot ./debian/rules binary
bash debian/prep-control.sh "-unstable"
bash debian/multiarch-control.sh "n" "n"
touch control-stamp
dh_testdir
mkdir lib32 || true
bash debian/ia32.sh /emul/ia32-linux lib32
Symlinking in ia32-libs...
touch configure-ia32-stamp
dh_testdir
mkdir build32 || true
cd build32 && \
	CC="gcc-4.5" \
	CXX="g++-4.5" \
	CFLAGS="-O2 -g" \
	LDFLAGS=" -L/home/unclechu/build_wine/wine-1.5.30/lib32" \
	../configure --disable-win64 --with-x --disable-tests \
	--prefix=/usr \
	--sysconfdir=/etc \
	--bindir=/usr/bin \
	--libdir=/usr/lib32 \
	--mandir=/usr/share/man \
	--infodir=/usr/share/info
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-4.5
checking whether the C compiler works... no
configure: error: in `/home/unclechu/build_wine/wine-1.5.30/build32':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** [configure-arch32-stamp] Ошибка 77

Мне бы под 64 бита.

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

А ты точно установил все зависимости для сборки командой apt-get build-dep wine? При этом в /etc/apt/sources.list репозитории должны быть как со словом «deb» в начале, так и со словом «deb-src». После редактирования репозиториев нужно делать apt-get update. И тогда все зависимости для сборки будут установлены.

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

Ты забыл отредактировать debian/rules:

checking for gcc... gcc-4.5

Так быть не должно. Замени везде в этом файле «gcc-4.5» на «gcc». В нём даже есть комментарий о том, почему задан именно gcc-4.5.

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

apt-get build-dep wine сделал,

cat sources.list

deb http://mirror.mephi.ru/debian/ wheezy main
deb-src http://mirror.mephi.ru/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

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

Отредактировал debian/rules, всё ок, он теперь идёт дальше, но он хочет 32-битный xorg-dev, и вообще он там под 32 собирает, а мне 64 надо.

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

Мне нужно кое-чего пособирать через winegcc

и вообще он там под 32 собирает, а мне 64 надо.

Т.е. твоё кое-что должно быть 64-битным вин-приложением? Вайн используют преимущественно для пуска 32-битных программ, поэтому он собирается под 32 бита, а работает и на 64-битном дебиане благодаря multiarch.

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

c/Для ./configure можно дописать --win64, но лично у меня в 64-битном Wine мало что работает.

В multiarch Debian'а я ещё не разбирался. Раньше там было просто: bin, lib64, lib32. А теперь ещё и bin32 и bin64. Попробуй:

# apt-get install xorg-dev:i386

Или вообще:

# apt-get build-dep wine:i386

Сработает ли или нет я ещё не знаю.

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

В общем роясь я в различных интернетах и пробуя на другой ОС собрать под 64 вижу следующую ситуацию: всё сводится к тому, что даже если я соберу (а я собирал под 64), то оно не пройдёт через regsvr32, потому что regsvr как я понял рассчитан только на 32. Может я чего-то путаю, но собрав под убунтой 64-битный dll.so — оно не регистрируется через regsvr32, при том что всё 64-битное (wine тоже). А сама эта либа зависит от другой в системе, которая 64, так что юзать 32-битный вайн тут не лучшее решение, тогда весь софт последующий нужно для i386 сливать. Тёмный лес в общем. Либо я что-то не понимаю, либо вино при всей своей 64-битности под этой архитектурой не пригоден для нужд чуть шире, чем просто запустить вендобинарник.

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

Внезапно после того как написал — наткнулся на ссылку: http://www.linuxmusicians.com/viewtopic.php?f=6&t=10821 Получилось зарегистрировать:

wine64 regsvr32 wineasio.dll.so
Собирал я в общем WineASIO. Оно появилось в x64 Reaper-е, но порты не видит почему-то.

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

64-битный Wine вряд ли работает. Так что советую использовать 32-битный и только его. Попробуй скачать 32-битный Debian LiveCD, сделать там sudo apt-get build-dep wine и скомпилировать Wine по моему совету. Можно даже в виртуальной машине VirtualBox. А готовые пакеты установи в систему.

ZenitharChampion ★★★★★
()

Поставь уже хубунту и не ковыряйся, уже всё расковыряли, у валва спроси.

amorpher ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.