mock -r fedora-14-i386 --rebuild foo.srpm
Nosso servidor de produção está executando o arco CentOS5 de 64 bits.
Como não há RPM disponível atualmente para a versão mais recente do SQLite (v3.7.3), criei o RPM usando rpmbuild pela primeira vez seguindo as instruções dadas aqui . Consegui criar com sucesso o RPM para arquitetura de 64 bits (x86_64). Mas não sou capaz de criar RPM para arquitetura de 32 bits (i386). Ele falhou com os seguintes erros:
...
...
...
+ ./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)
Este é o comando que eu chamei: rpmbuild --target i386 -ba sqlite.spec
A minha pergunta é, como faço para criar o RPM para o arco de 32 bits a partir de um servidor de arco de 64 bits?
mock -r fedora-14-i386 --rebuild foo.srpm
mock
fará uma compilação x86 em um sistema x86-64 quando for solicitado a usar uma raiz de 32 bits.
Instale a biblioteca 32bit ausente:
$ sudo yum install glibc-devel.i386