public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
* Error on compile Glibc 2.34 (32 bit) on 64 bit
@ 2022-06-30 23:41 Miguel Bernal Marin
  2022-07-01  6:52 ` Florian Weimer
  0 siblings, 1 reply; 3+ messages in thread
From: Miguel Bernal Marin @ 2022-06-30 23:41 UTC (permalink / raw)
  To: libc-help

Hi,

I'm trying to build a 32 bit glibc 2.34 (Centos Stream 9 GLIBC),
using a 64 bit OS.

I do "rpmbuild -ba SPECS/glibc.spec --target i686", which give me
the following error:

make[2]: Entering directory '/workspace/rpmbuild/BUILD/glibc-2.34/csu'                                                                                        
gcc ../sysdeps/i386/start.S -c     -I../include -I/workspace/rpmbuild/BUILD/glibc-2.34/build-i686-redhat-linux/csu  -I/workspace/rpmbuild/BUILD/glibc-2.34/bui
ld-i686-redhat-linux  -I../sysdeps/unix/sysv/linux/i386/i686  -I../sysdeps/i386/i686/nptl  -I../sysdeps/unix/sysv/linux/i386  -I../sysdeps/unix/sysv/linux/x86
/include -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/x86/nptl  -I../sysdeps/i386/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -
I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/i386  -I../sysdeps/unix  -I../sysd
eps/posix  -I../sysdeps/i386/i686/fpu  -I../sysdeps/i386/i686  -I../sysdeps/i386/fpu  -I../sysdeps/x86/fpu  -I../sysdeps/i386  -I../sysdeps/x86/include -I../s
ysdeps/x86  -I../sysdeps/wordsize-32  -I../sysdeps/ieee754/float128  -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/d
bl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/11/inc
lude -isystem /usr/include -D_LIBC_REENTRANT -include /workspace/rpmbuild/BUILD/glibc-2.34/build-i686-redhat-linux/libc-modules.h -DMODULE_NAME=libc -include 
../include/libc-symbols.h  -DPIC     -DTOP_NAMESPACE=glibc -DASSEMBLER -I/workspace/rpmbuild/BUILD/glibc-2.34/build-i686-redhat-linux/csu/. -DGAS_SYNTAX -fcf-
protection -include cet.h -g -Wa,--generate-missing-build-notes=yes -Werror=undef -Wa,--noexecstack  -Wa,-mtune=i686 -o /workspace/rpmbuild/BUILD/glibc-2.34/b
uild-i686-redhat-linux/csu/start.o -MD -MP -MF /workspace/rpmbuild/BUILD/glibc-2.34/build-i686-redhat-linux/csu/start.o.dt -MT /workspace/rpmbuild/BUILD/glibc
-2.34/build-i686-redhat-linux/csu/start.o                                                                                                                     
../sysdeps/i386/start.S: Assembler messages:                                                                                                                  
../sysdeps/i386/start.S:59: Error: bad register expression                                                                                                    
../sysdeps/i386/start.S:67: Error: invalid instruction suffix for `pop'                                                                                       
../sysdeps/i386/start.S:75: Error: invalid instruction suffix for `push'                                                                                      
../sysdeps/i386/start.S:80: Error: invalid instruction suffix for `push'                                                                                      
../sysdeps/i386/start.S:82: Error: invalid instruction suffix for `push'                                                                                      
../sysdeps/i386/start.S:91: Error: invalid instruction suffix for `push'                                                                                      
../sysdeps/i386/start.S:92: Error: invalid instruction suffix for `push'                                                                                      
../sysdeps/i386/start.S:94: Error: invalid instruction suffix for `push'
../sysdeps/i386/start.S:95: Error: invalid instruction suffix for `push'
../sysdeps/i386/start.S:105: Error: relocated field and relocation type differ in signedness
../sysdeps/i386/start.S:106: Error: invalid instruction suffix for `push'
make[2]: *** [/workspace/rpmbuild/BUILD/glibc-2.34/build-i686-redhat-linux/sysd-rules:653: /workspace/rpmbuild/BUILD/glibc-2.34/build-i686-redhat-linux/csu/st
art.o] Error 1


I could see -Wa,-mtune=i686, but do not know if a -m32 is missing.

Any advice?

-- 
Thanks,

Miguel Bernal Marin           Instituto Tecnológico José Mario Molina 
http://zapopan.tecmm.edu.mx   Pasquel y Henriquez      Campus Zapopan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Error on compile Glibc 2.34 (32 bit) on 64 bit
  2022-06-30 23:41 Error on compile Glibc 2.34 (32 bit) on 64 bit Miguel Bernal Marin
@ 2022-07-01  6:52 ` Florian Weimer
  2022-07-01 15:45   ` Miguel Bernal Marin
  0 siblings, 1 reply; 3+ messages in thread
From: Florian Weimer @ 2022-07-01  6:52 UTC (permalink / raw)
  To: Miguel Bernal Marin; +Cc: libc-help

* Miguel Bernal Marin:

> I'm trying to build a 32 bit glibc 2.34 (Centos Stream 9 GLIBC),
> using a 64 bit OS.
>
> I do "rpmbuild -ba SPECS/glibc.spec --target i686", which give me
> the following error:

For some CentOS packages, you need to use the i386/i686 buildroot and
mock, not an installed operating system.  The --target option does not
work with all packages.

The buildroot is published here:

  <https://kojihub.stream.centos.org/kojifiles/repos/c9s-build/latest/i386/>

I'm including a possible mock configuration file below.

Thanks,
Florian

config_opts['basedir'] = '/var/lib/mock'
config_opts['chroot_setup_cmd'] = 'groupinstall build'
config_opts['chroothome'] = '/builddir'
config_opts['dnf_warning'] = False
config_opts['package_manager'] = 'dnf'
config_opts['root'] = 'c9s-i686'
config_opts['rpmbuild_networking'] = False
config_opts['rpmbuild_timeout'] = 86400
config_opts['target_arch'] = 'i686'
config_opts['use_host_resolv'] = False
config_opts['yum.conf'] = '[main]\ncachedir=/var/cache/yum\ndebuglevel=1\nlogfile=/var/log/yum.log\nreposdir=/dev/null\nretries=20\nobsoletes=1\ngpgcheck=0\nassumeyes=1\nkeepcache=1\ninstall_weak_deps=0\nstrict=1\n\n# repos\n\n[build]\nname=build\nbaseurl=https://kojihub.stream.centos.org/kojifiles/repos/c9s-build/latest/i386/\n'

config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['root_cache_enable'] = False
config_opts['plugin_conf']['yum_cache_enable'] = True

config_opts['macros']['%_host'] = 'i686-koji-linux-gnu'
config_opts['macros']['%_host_cpu'] = 'i686'
config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'
config_opts['macros']['%_topdir'] = '/builddir/build'
config_opts['macros']['%dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el9%{?with_bootstrap:%{__bootstrap}}'
config_opts['macros']['%distribution'] = 'Koji Testing'
config_opts['macros']['%packager'] = 'Koji'
config_opts['macros']['%vendor'] = 'Koji'


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Error on compile Glibc 2.34 (32 bit) on 64 bit
  2022-07-01  6:52 ` Florian Weimer
@ 2022-07-01 15:45   ` Miguel Bernal Marin
  0 siblings, 0 replies; 3+ messages in thread
From: Miguel Bernal Marin @ 2022-07-01 15:45 UTC (permalink / raw)
  To: Florian Weimer; +Cc: libc-help

> * Miguel Bernal Marin:
> 
> > I'm trying to build a 32 bit glibc 2.34 (Centos Stream 9 GLIBC),
> > using a 64 bit OS.
> >
> > I do "rpmbuild -ba SPECS/glibc.spec --target i686", which give me
> > the following error:
> 
> For some CentOS packages, you need to use the i386/i686 buildroot and
> mock, not an installed operating system.  The --target option does not
> work with all packages.
> 
> The buildroot is published here:
> 
>   <https://kojihub.stream.centos.org/kojifiles/repos/c9s-build/latest/i386/>
> 
> I'm including a possible mock configuration file below.

Thanks, I'll try it.



> 
> Thanks,
> Florian
> 
> config_opts['basedir'] = '/var/lib/mock'
> config_opts['chroot_setup_cmd'] = 'groupinstall build'
> config_opts['chroothome'] = '/builddir'
> config_opts['dnf_warning'] = False
> config_opts['package_manager'] = 'dnf'
> config_opts['root'] = 'c9s-i686'
> config_opts['rpmbuild_networking'] = False
> config_opts['rpmbuild_timeout'] = 86400
> config_opts['target_arch'] = 'i686'
> config_opts['use_host_resolv'] = False
> config_opts['yum.conf'] = '[main]\ncachedir=/var/cache/yum\ndebuglevel=1\nlogfile=/var/log/yum.log\nreposdir=/dev/null\nretries=20\nobsoletes=1\ngpgcheck=0\nassumeyes=1\nkeepcache=1\ninstall_weak_deps=0\nstrict=1\n\n# repos\n\n[build]\nname=build\nbaseurl=https://kojihub.stream.centos.org/kojifiles/repos/c9s-build/latest/i386/\n'
> 
> config_opts['plugin_conf']['ccache_enable'] = False
> config_opts['plugin_conf']['root_cache_enable'] = False
> config_opts['plugin_conf']['yum_cache_enable'] = True
> 
> config_opts['macros']['%_host'] = 'i686-koji-linux-gnu'
> config_opts['macros']['%_host_cpu'] = 'i686'
> config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm'
> config_opts['macros']['%_topdir'] = '/builddir/build'
> config_opts['macros']['%dist'] = '%{!?distprefix0:%{?distprefix}}%{expand:%{lua:for i=0,9999 do print("%{?distprefix" .. i .."}") end}}.el9%{?with_bootstrap:%{__bootstrap}}'
> config_opts['macros']['%distribution'] = 'Koji Testing'
> config_opts['macros']['%packager'] = 'Koji'
> config_opts['macros']['%vendor'] = 'Koji'
> 

-- 
Saludos,

Miguel Bernal Marin           Instituto Tecnológico José Mario Molina 
http://zapopan.tecmm.edu.mx   Pasquel y Henriquez      Campus Zapopan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-07-01 15:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-30 23:41 Error on compile Glibc 2.34 (32 bit) on 64 bit Miguel Bernal Marin
2022-07-01  6:52 ` Florian Weimer
2022-07-01 15:45   ` Miguel Bernal Marin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).