Re: [opensuse] Howto build matching 32-bit package on x86_64?
On 12/29/2016 01:52 AM, David C. Rankin wrote:
On 12/29/2016 12:25 AM, Andrei Borzenkov wrote:
Devs,
I can easily build 64-bit packages from the leap sources via srpm install, (modify sources/spec), then 'rpmbuild -bb specfile.spec'. But howto (what) to specify as the --target to create the associated foo-32-bit.rpm? Normally "--target i386" should suffice (pick your flavor - i486, i586, ...)
Andrei,
I get all the way to linking against harfbuzz, then run into an error:
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../libharfbuzz.so when searching for -lharfbuzz /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lharfbuzz collect2: error: ld returned 1 exit status
I've searched for a 32-bit version (and 32-bit devel) version of the package, but cannot find one. Does one exist under another name?
Andrei, I branched the package to my obs account and triggered a build for leap 42.2. I assumed that since leap 42.2 provided the libfreetype6-32bit package that this would be build by the obs build by default -- I was wrong. The build produced: freetype2-2.6.3-5.1.src.rpm freetype2-devel-2.6.3-5.1.x86_64.rpm libfreetype6-2.6.3-5.1.x86_64.rpm but it did not produce the libfreetype6-32bit package. How do I generate this 32-bit package. On my local build, it is not generated by adding --target i386 due to the failure to find a 32-bit version of harfbuzz. I don't know what I would need to do on obs to generate this package. However, it is generated for OSS, so I'm a bit confused how to build it? Anybody know what is required to tell obs to generate a corresponding 32-bit package on leap 42.2. E.g. libfreetype6-32bit-2.6.3-5.1.x86_64.rpm ?? -- David C. Rankin, J.D.,P.E. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
31.12.2016 08:00, David C. Rankin пишет:
On 12/29/2016 01:52 AM, David C. Rankin wrote:
On 12/29/2016 12:25 AM, Andrei Borzenkov wrote:
Devs,
I can easily build 64-bit packages from the leap sources via srpm install, (modify sources/spec), then 'rpmbuild -bb specfile.spec'. But howto (what) to specify as the --target to create the associated foo-32-bit.rpm? Normally "--target i386" should suffice (pick your flavor - i486, i586, ...)
Andrei,
I get all the way to linking against harfbuzz, then run into an error:
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../libharfbuzz.so when searching for -lharfbuzz /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lharfbuzz collect2: error: ld returned 1 exit status
I've searched for a 32-bit version (and 32-bit devel) version of the package, but cannot find one. Does one exist under another name?
Andrei,
I branched the package to my obs account and triggered a build for leap 42.2. I assumed that since leap 42.2 provided the libfreetype6-32bit package that this would be build by the obs build by default -- I was wrong. The build produced:
freetype2-2.6.3-5.1.src.rpm freetype2-devel-2.6.3-5.1.x86_64.rpm libfreetype6-2.6.3-5.1.x86_64.rpm
but it did not produce the libfreetype6-32bit package. How do I generate this 32-bit package. On my local build, it is not generated by adding --target i386 due to the failure to find a 32-bit version of harfbuzz. I don't know what I would need to do on obs to generate this package. However, it is generated for OSS, so I'm a bit confused how to build it?
Anybody know what is required to tell obs to generate a corresponding 32-bit package on leap 42.2. E.g.
libfreetype6-32bit-2.6.3-5.1.x86_64.rpm
There is rather obscure feature called "baselibs.conf" that allows "importing" of 32 bit packages (or in general, different architecture) into 64 bit environment. See https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf http://opensuse.opensuse.narkive.com/jErc7NBA/installing-both-i586-and-x86-6... -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 12/30/2016 11:59 PM, Andrei Borzenkov wrote:
There is rather obscure feature called "baselibs.conf" that allows "importing" of 32 bit packages (or in general, different architecture) into 64 bit environment.
See https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf http://opensuse.opensuse.narkive.com/jErc7NBA/installing-both-i586-and-x86-6...
OBS, "obscure"? -- never... ;p This looks promising. I'll digest the information and give it a go and report back with any problems I stumble into. The only quandary I have going in, is "What is it that adds the '-32bit' to the file name? Will that be controllable through baselibs.conf? I guess I'll find out... Thank you again for the link Andrei! -- David C. Rankin, J.D.,P.E. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
31.12.2016 11:41, David C. Rankin пишет:
On 12/30/2016 11:59 PM, Andrei Borzenkov wrote:
There is rather obscure feature called "baselibs.conf" that allows "importing" of 32 bit packages (or in general, different architecture) into 64 bit environment.
See https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf http://opensuse.opensuse.narkive.com/jErc7NBA/installing-both-i586-and-x86-6...
OBS, "obscure"? -- never... ;p
This looks promising. I'll digest the information and give it a go and report back with any problems I stumble into. The only quandary I have going in, is "What is it that adds the '-32bit' to the file name? Will that be controllable through baselibs.conf? I guess I'll find out...
From the first link:
arch <arch> targets <target_arch>[:<target_type>] [<target_arch>[:<target_type>]...] ... <target_type> sets the <targettype> macro and is typically used as the suffix for the baselibs created packages
From the https://github.com/openSUSE/obs-build/blob/master/baselibs_global.conf
arch i586 targets x86_64:32bit arch i686 targets x86_64:32bit ... targetname <name>-<targettype> "targetname" directive is conveniently not documented :) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (2)
-
Andrei Borzenkov
-
David C. Rankin