Наш производственный сервер работает под управлением 64-разрядной архитектуры CentOS5.
Поскольку в настоящее время для последней версии SQLite (v3.7.3) нет доступных RPM, я создал RPM, используя rpmbuild в первый раз, следуя данным инструкциям Вот. Мне удалось успешно создать RPM для 64-битной (x86_64) архитектуры. Но я не могу создать RPM для 32-битной (i386) архитектуры. Не удалось со следующими ошибками:
...
...
...
+ ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --enable-threadsafe
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for x86_64-redhat-linux-gnu-gcc... no
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
error: Bad exit status from /var/tmp/rpm-tmp.73141 (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.73141 (%build)
Я вызвал эту команду: rpmbuild --target i386 -ba sqlite.spec
У меня вопрос: как мне создать RPM для 32-битной архитектуры с 64-битного сервера архива?
mock -r fedora-14-i386 --rebuild foo.srpm
Установите отсутствующую 32-битную библиотеку:
$ sudo yum install glibc-devel.i386
mock
выполнит сборку x86 в системе x86-64, если вы укажете ему использовать 32-битный корень.