У меня есть старое программное обеспечение, которое компилируется только с gcc-4.6, который больше не работает в репозитории Ubuntu. Поэтому я нашел исходные пакеты gb-4 Ubuntu и попытался перестроить. Тем не менее, я столкнулся с проблемами, потому что источник gcc-4.6 (от Ubuntu trusty) имеет множество специальных возможностей для построения систем i386.
Теперь я использую только 64-битную (amd64) цель сборки, но когда я пытаюсь построить gcc-4.6, она терпит неудачу, потому что требуется сборка на пакете, попросите кучу i386, о котором я не хочу беспокоиться. Обратите внимание, что хотя моя арка является amd64, она все еще запрашивает libc6-dev-i386.
$ dpkg-buildpackage -rfakeroot
dpkg-buildpackage: info: source package gcc-4.6
dpkg-buildpackage: info: source version 4.6.4-6ubuntu2
dpkg-buildpackage: info: source distribution trusty
dpkg-buildpackage: info: source changed by Matthias Klose <doko@ubuntu.com>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build gcc-4.6-4.6.4
dpkg-checkbuilddeps: error: Unmet build dependencies: g++-multilib libc6-dev-i386 libcloog-ppl-dev (>= 0.16) libmpc-dev (>= 1.0) libelfg0-dev (>= 0.8.12) dejagnu autogen realpath (>= 1.9.12) doxygen (>= 1.7.2) gsfonts-x11 docbook-xsl-ns
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
Я начал копаться в папке debian, изменяя правила и элементы управления, чтобы предотвратить любую сборку 32-битные библиотеки и т. Д., Но у меня пока нет успеха.
Его забавный, поисковый запрос на помощь по этому поводу. Я нахожу массу отчетов о том, как разрешить строить 32 бита в 64-битных системах. Ничего о построении для 64 бит, только когда настройки multilib предназначены для сборки обоих.