rpmbuild with target i386 on x86_64 sets %{_libdir} to lib64.

Andy Green andy at warmcat.com
Fri Sep 22 10:04:35 UTC 2006


Rob Andrews wrote:
> On 22-Sep-2006 08:54.24 (BST), Andy Green wrote:
>  > I see, that would be convenient...
>  > 
>  >       --target PLATFORM
>  >               When building the package, interpret PLATFORM as 
>  > arch-vendor-os and  set  the  macros
>  >               %_target, %_target_cpu, and %_target_os accordingly.
>  > 
>  > What happens at the moment when you try to use --target then?
> 
> Well, using --target i386 on an x86_64 installation, it managed to build
> i386 binaries (using g++ -m32). But obviously, the library path was wrong.
> 
> It most likely managed to build for the correct architecture because it
> passed --target=%{_target} to the configure script.

Using strace on rpmbuild it seems to look always at the host 
/usr/lib/rpm/<targetdir>, ie on an x86 host for

strace rpmbuild -ba --target=arm-linux tinylogin-1.4.spec 2>&1 | grep macros

open("/usr/lib/rpm/macros", O_RDONLY|O_LARGEFILE) = 3
read(3, "#/*! \\page config_macros Default"..., 8192) = 8192
open("/usr/lib/rpm/i386-linux/macros", O_RDONLY|O_LARGEFILE) = 3
...

-Andy




More information about the fedora-devel-list mailing list