Re: Error building 32 bit on 64 bit linux system

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: Error building 32 bit on 64 bit linux system
Дата
Msg-id 47B99AAF.7080501@dunslane.net
обсуждение исходный текст
Ответ на Error building 32 bit on 64 bit linux system  (Doug Knight <dknight@wsi.com>)
Ответы Re: Error building 32 bit on 64 bit linux system  (Doug Knight <dknight@wsi.com>)
Список pgsql-hackers

Doug Knight wrote:
> All,
> I am trying to build 8.2.5, forcing to a 32 bit build on a 64 bit 
> system. I have set CFLAGS=-m32, and I run the configure and make/make 
> install as follows:
>
> setarch i386 ./configure
> setarch i386 make
> setarch i386 make install
>
> However, I get the following error (using timezone for example):
>
> $ make
> gcc -m32 -Wall -Wmissing-prototypes -Wpointer-arith -Winline 
> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing 
> -I../../src/include -D_GNU_SOURCE   -c -o localtime.o localtime.c
> gcc -m32 -Wall -Wmissing-prototypes -Wpointer-arith -Winline 
> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing 
> -I../../src/include -D_GNU_SOURCE   -c -o strftime.o strftime.c
> gcc -m32 -Wall -Wmissing-prototypes -Wpointer-arith -Winline 
> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing 
> -I../../src/include -D_GNU_SOURCE   -c -o pgtz.o pgtz.c
> /usr/bin/ld -r -o SUBSYS.o localtime.o strftime.o pgtz.o
> /usr/bin/ld: Relocatable linking with relocations from format 
> elf32-i386 (localtime.o) to format elf64-x86-64 (SUBSYS.o) is not 
> supported
> make: *** [SUBSYS.o] Error 1
>
> Funny thing is, there is no SUBSYS.o in my current directory. If I 
> build from the top, I see this same error in each dirctory/makefile 
> where a SUBSYS.o is linked with. If I search my build tree after a 
> top-down build, I do not see any SUBSYS.O files at all. Where is this 
> SUBSYS.o getting created, and why isn't it being created as a 32 bit 
> file instead of 64 bit?
>

"man ld" IYF.

It looks like you need the --oformat option to tell the linker you want 
32bit output.

Of course you won't find the SUBSYS.o files - it it the creation of 
those that is failing.

cheers

andrew


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Zdenek Kotala
Дата:
Сообщение: Re: Error building 32 bit on 64 bit linux system
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: Error"Failed to run initdb: 128!"