- HowTo Compile a 32-bit Application Using gcc On the 64-bit Linux Version
- You can pass -m64 or -m32 options as follows to Gnu gcc
- Sample code – hello.c
- A note about glibc-devel on 64 bit systems
- Mint: correct way to install /lib/i386-linux-gnu/libgmp.so.3
- 1 Answer 1
- Update
- Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
- Re: Установка Debian GNU/Linux 4.0 на i386
HowTo Compile a 32-bit Application Using gcc On the 64-bit Linux Version
I had to compile a 32-bit application using GNU gcc on the 64-bit version of Linux.
Luckily, gcc man page directed me to the ‘-m32’ and ‘-m64’ options. These options generate code for 32-bit or 64-bit environments, respectively.
- The 32-bit environment sets int, long and pointer to 32 bits and generates code that runs on any i386 system.
- The 64-bit environment sets int to 32 bits and long and pointer to 64 bits and generates code for AMD’s x86-64 architecture.
You can pass -m64 or -m32 options as follows to Gnu gcc
For 32 bit version:
$ gcc -m32 -o output32 hello.c
For 64 bit version :
$ gcc -m64 -o output64 hello.c
Run it as follows:
$ ./output32
Output:
Now let us see 64 bit output:
$ ./output64
Sample code – hello.c
A note about glibc-devel on 64 bit systems
You may see an error as follows on 64 bit system when you try to build 32 bit app:
This error message shows up on the 64 bit systems where GCC multilib feature is enabled, and it indicates that 32 bit version of libc is not installed. To fix this problem, on a CentOS/RHEL 5.x type the following yum command:
# yum -y install glibc-devel.i386 libstdc++-devel.i386
To fix this problem, on a CentOS/RHEL 6.x type the following yum command:
# yum -y install glibc-devel.i686 glibc-devel ibstdc++-devel.i686
To fix this problem on a Debian or Ubuntu Linux type the following apt-get command:
$ sudo apt-get install g++-multilib libc6-dev-i386
To fix this problem on a Suse (SLES) / OpenSUSE Linux type the following zypper command:
# zypper in glibc-devel-32bit
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
See also
# Additional correction by Braden B and others; Editing by VG – log #
Источник
Mint: correct way to install /lib/i386-linux-gnu/libgmp.so.3
I have a 32-bit binary that needs libgmp.so.3 on an x86_64 installation.
The cheating way would be copying libgmp.so.3 from an i386 installation and placing it in /lib/i386-linux-gnu/. But what is the proper way to install a 32-bit libgmp.so.3 on a 64-bit installation?
I tried aptitude install ia32-libs and while that does install a lot of 32-bit libs it does not install libgmp.so.3.
1 Answer 1
If you want to find out which package contains a particular file, you can use apt-file . If you want to search archives for a different architecture, you have to use the -a option, first to create/update the cache for that architecture (normal updating only creates/updates the default one) and then when searching. You can try:
This should tell you the correct package to install. If the i386 isn’t enabled for you system, you will have to enable it. You should be able to check with:
If i386 isn’t listed, you can add it with:
The above should work for newer Ubuntu versions, but for older ones you might have to do:
After adding, update the package lists:
Then you should be able to install the package found from your apt-file search like this:
If apt-file doesn’t find anything, then it could mean that the library installs to a different place. You could try:
Then install whatever package it finds. If you do this and you program still doesn’t work, you could try symlinking /lib/i386-linux-gnu/libgmp.so.3 to wherever it does install to. Otherwise, if apt-file doesn’t find anything, it likely means that there is no package which contains that version of the library in the repositories. You could then look for a package from a different version of Mint/Ubuntu (or the backports for your release may be a good place to start looking if the release’s version is older). If you are really stuck, you would have to cross-compile and install from source.
Update
Your apt-file output, shows your distro libgmp package is libgmp10 which contains libgmp.so.10 . Since you are looking for libgmp.so.3 , there is no prizes for guessing this is an older version. No point looking in backports, since this is for newer packages.
A search on http://packages.ubuntu.com/ shows there is a libgmp3 in Ubuntu 12.04. The package page with links to the list of files is here — http://packages.ubuntu.com/precise/libgmp3c2. Installing the 32 bit package on 64 bit Ubuntu/Mint will put the files in different places though (ie libraries in /lib/i386-linux-gnu . You can download it here — http://packages.ubuntu.com/precise/i386/libgmp3c2/download
Usually this is can be problematic due to possible conflicts, but since the package has a different name it shouldn’t conflict with any current libgmp . It also has only one dependency on libc6 which is the same as what is in Ubuntu 13.04 (the base for Olivia). There will be a different minor version, which may cause some odd bugs, but most likely you will be ok.
You can install like:
You may also have to install the i386 version of libc6 if you don’t have it already:
Источник
Установка Debian GNU/Linux 4.0 на i386
Предварительная документация по установке Debian GNU/Linux 4.0 (etch) на i386
Re: Установка Debian GNU/Linux 4.0 на i386
а что кто-то еще балуется установкой Linux на ★★★★★ ( 30.08.06 21:53:20 )
Re: Установка Debian GNU/Linux 4.0 на i386
чот я не заметил отличий от инструкции по установке сарджа. пс: а ктонить вабще читает инструкцию по установке linux? 😀
Re: Установка Debian GNU/Linux 4.0 на i386
а ты попробуй lfs руководствуясь интуицией поставить;)
Re: Установка Debian GNU/Linux 4.0 на i386
через alfs можно (:
Re: Установка Debian GNU/Linux 4.0 на i386
> а ты попробуй lfs руководствуясь интуицией поставить;)
Как раз согласно повеленьям интуиции влегкую и получается, а если мастдаиться, жестко буквоедствуя — можно отловить тучу глюков и несостыковок 😉
Re: Установка Debian GNU/Linux 4.0 на i386
>а что кто-то еще балуется установкой Linux на ( 30.08.06 22:21:28 )
Re: Установка Debian GNU/Linux 4.0 на i386
Я, конечно, знаю, что на ЛОРе подробности читать не принято.
> Данный документ содержит инструкции по установке системы Debian GNU/Linux 4.0 («etch») для архитектуры Intel x86 («i386»). Кроме того, в нём указаны источники более подробной информации и описаны методы наиболее эффективного применения системы Debian.
Re: Установка Debian GNU/Linux 4.0 на i386
———-
>а что кто-то еще балуется установкой Linux на ☆ ( 30.08.06 22:28:50 )
Re: Установка Debian GNU/Linux 4.0 на i386
если x86 у них называется i386, значит скорее всего обеспечивается совместимость пакетов с поколением «трешек», пару лет назад, я замечал, что i586 мандрейк работал быстрее i386 RH, субъективно конечно же.
Re: Установка Debian GNU/Linux 4.0 на i386
> не гентууушные флаги оптимизации.
в том то и дело, что гцц’шные, а гцц у нас один на всех:)
Re: Установка Debian GNU/Linux 4.0 на i386
В дебиане насколько помню, пакеты собираются с i486
Re: Установка Debian GNU/Linux 4.0 на i386
>если x86 у них называется i386, значит скорее всего обеспечивается совместимость пакетов с поколением «трешек»
долго и задумчиво смотрим на имена файлов с пакетами в репозитарии
debian ( в данном случае ubuntu ):
% apt-cache show zsh | grep File
Filename: pool/main/z/zsh/zsh_4.3.2-13ubuntu1_i386.deb
Filename: pool/main/z/zsh/zsh_4.2.5-23ubuntu3_i386.deb
после чего пишем
% apt-config dump | grep Architecture
APT::Architecture «i386»;
APT::FTPArchive::Release::Architectures «i386»;
и удивляемся еще больше
Re: Установка Debian GNU/Linux 4.0 на i386
дурак! есть трансляция в команды процессора, а есть оптимизация
Re: Установка Debian GNU/Linux 4.0 на i386
>дурак! есть трансляция в команды процессора, а есть оптимизация
идиот, при чем тут я? научись, сцуко, форумом пользоваться.
Re: Установка Debian GNU/Linux 4.0 на i386
> жестко буквоедствуя — можно отловить тучу глюков и несостыковок
Огласите список глюков и несостыковок в руководстве по сборке LFS.
Re: Установка Debian GNU/Linux 4.0 на i386
> i586 мандрейк работал быстрее i386 RH, субъективно конечно же.
а i386 слака легко обгоняла мандрейк i586. Тоже конечно, субъективно. И компилятор в слаке не зависал и не глючил.
Re: Установка Debian GNU/Linux 4.0 на i386
Архитектура: Intel x86
Обозначение в Debian: i386
«Debian GNU/Linux etch не работает на процессорах 386 и более ранних. Несмотря на то, что название архитектуры «i386″, в Debian Sarge была выключена поддержка для процессоров 80386 (и их клонов), которые поддерживались предыдущими выпусками дистрибутива[2]. (Ни одна версия Linux не поддерживает процессор 286 и более ранние в этой серии.) Все процессоры i486 и более поздние поддерживаются»
Re: Установка Debian GNU/Linux 4.0 на i386
> > жестко буквоедствуя — можно отловить тучу глюков и несостыковок
> Огласите список глюков и несостыковок в руководстве по сборке LFS.
Разогнался, сына, список ему подавай. поспешай медленно:
Глюк первый — Binutils-2.17 не собираются, если не передать сонфигури флага —disable-werror, и понятно почему. В мануале — нифига не отражено никак, в последний момент убрали из стабли. Не наводит на мысли?
Re: Установка Debian GNU/Linux 4.0 на i386
Куда смотрят модераторы.
Re: Установка Debian GNU/Linux 4.0 на i386
distri pod 286 est. na distrowatch posmotri.
Re: Установка Debian GNU/Linux 4.0 на i386
>а не гентууушные флаги оптимизации.
Они не гентушные, а GCC-шные. учи мат часть 🙂
Re: Установка Debian GNU/Linux 4.0 на i386
да знаю я про это
просто следует отличать -march/-mcpu от того что задается с помощью -b (target machine)
Re: Установка Debian GNU/Linux 4.0 на i386
Реально ниасилил. Одна сплошная пена. Я так понимаю, что руководство расчитано на нюбов или нердов.
Re: Установка Debian GNU/Linux 4.0 на i386
К стати я столкнулся с проблемой при установки etch на бук. Не находился hdd. Пришлось вытаскивать винт ставить и на стационарном компе, потом ставить опять на бук. Может еще кто сталкивался с такой трабалой?
Re: Установка Debian GNU/Linux 4.0 на i386
Re: Установка Debian GNU/Linux 4.0 на i386 ->
TERRANZ >чот я не заметил отличий от инструкции по установке сарджа. пс: а ктонить вабще читает инструкцию по установке linux? 😀
Обячно лучше всемто задавания тупых вопросов инструкцию почитать. И когда возникают проблемы — прочесть стоит, так как у некоторых дистрибутивов есть свои особенности.
Gharik >Как раз согласно повеленьям интуиции влегкую и получается, а если мастдаиться, жестко буквоедствуя — можно отловить тучу глюков и несостыковок 😉
Представляю себе начинающего пользователя, который сразу интуитивно запускает ./configure && ./make && ./make install, собирает ядро, делает пакеты. =)
Это ж просто сказка была бы: не было бы ламеров, секретарши делали бы текстовый процессор сами, венде бы просто не было. =) Так что руководство нужно 😉
Re: Установка Debian GNU/Linux 4.0 на i386
не думаю что установка дебиана чем-то отличается от установки любого другого популярного бинарного дистрибутива
Re: Установка Debian GNU/Linux 4.0 на i386
«Образы дисков — это файлы, содержащие полный слепок дискеты в сыром виде.»
«Запись образов дисков из DOS, Windows или OS/2» — про OS/2 ни слова
«Программа rwwrtwin работает под Windows 95, NT, 98, 2000, ME, XP и, вероятно, с более поздними версиями. Для её использования вам надо распаковать diskio.dll в тот же самый каталог.» — тот же это какой?
Re: Установка Debian GNU/Linux 4.0 на i386
Недавно в debian-russian@l.d.o как раз пинали переводчиков. Переводчики сказали, что будут рады увидеть замечания в debian-l10n-ru@l.d.o
Re: Установка Debian GNU/Linux 4.0 на i386
Читать учимся: «Предварительная документация. «.
Re: Установка Debian GNU/Linux 4.0 на i386
А переводчику всё равно низачот. за сырые образы дискет. Никто не знает, когда Debian наконец-то начнёт поддерживать варёные образы, которые можно писать без геморроя?
Re: Установка Debian GNU/Linux 4.0 на i386
> Многие продукты под известными торговыми марками без проблем работают в Linux. Кроме того, работа с аппаратным обеспечением в Linux ежедневно улучшается. Однако, Linux всё равно пока не может сравниться по количеству поддерживаемой аппаратуры с другими операционными системами.
НУ ВАШУ Ж МАТЬ! На дворе 2006-й год, а эту мантру до сих пор повторяют. Кто-нибудь, пришлите переводчикам вот эту ссылку: http://www.linux.org.ru/jump-message.jsp?msgid=1509741
Re: Установка Debian GNU/Linux 4.0 на i386
> А переводчику всё равно низачот.
С линухом я начинал знакомиться на убунте. Когда локализованная версия спросила «Сохранить пароль на брелке», я с совершенно искренними глазами воткнул в комп усб-шную флэшку.
Re: Установка Debian GNU/Linux 4.0 на i386
>К стати я столкнулся с проблемой при установки etch на бук. Не находился hdd. Пришлось вытаскивать винт ставить и на стационарном компе, потом ставить опять на бук. Может еще кто сталкивался с такой трабалой?
а диск случаем не sata?
Re: Установка Debian GNU/Linux 4.0 на i386
Господа, столкнулся с такой проблемой при установке Этча.
1. Скачал 5 образов с помощью jigdo. Записал первый исошник, с него поставил базовую систему.
2. Остальные исо-образы раскатал на жесткий диск в директорию /home. Таким образом там лежат все 5 дисков с бинарниками. Директории имеют путь /home/cd1. 5
3. Прописал путь в /etc/apt/sources.list к этим директориям. Пути выглядят так:
deb file:///home/cd1/cdrom etch main
.
deb file:///home/cd5/cdrom etch main
4. После этого говорю:
#apt-get update
Ign file: etch Release.gpg (5 таких строк одна под другой)
Получено: 1 file: etch Release [631B]
Ign file: etch/main Packages
Получено: 2 file: etch Release [631B]
Ign file: etch/main Packages
Получено: 3 file: etch Release [484B]
Ign file: etch/main Packages
Получено: 4 file: etch Release [484B]
Ign file: etch/main Packages
Получено: 4 file: etch Release [806B]
Ign file: etch/main Packages
Чтение списков пакетов. Готово
5. После этого при попытке поставить KDE командой
#apt-get install kde*
Следует список всех пакетов, которые будут поставлены, а затем следует такая надпись:
«Некоторые пакеты невозможно установить. Вызможно, Вы просите невозможного, или же используете нестабильный дистрибутив, и запрошенные Вами пакеты еще не созданы или были утеряны из Incoming.
Так как Вы просили выполнить только одну операцию, то вероятнее всего, что пакет просто не может быть установлен из-за ошибок в самом пакете. Необходимо послать отчет об этой ошибке. Следующая информация возможно поможет Вам:
Пакеты, имеющие неудовлетворенные зависимости:
kdeaddons: Зависит: noatun-plugins (>=4:3.5.2-1) но он не будет установлен
.
Е: Сломанные пакеты»
На этом все. Прошу помощи у debian-общественности.
Источник