Re: [Harbour] openSUSE 32-bit build on 64-bit [update#1]
Hi Guy, Thanks for the tip, this looks good. I tried it with openSUSE, couldn't find debootstrap package for it (in std repository), so I can give it a try after I migrated to Ubuntu x64. Anyway, if someone feels like trying this and report results it'd certainly be a useful experience. Brgds, Viktor On 2010 Jan 10, at 09:48, Guy Roussin wrote: > Hi Viktor, > >> Anyhow until then my advice is to keep both 32-bit and 64-bit hosts if there >> is a need to produce for both targets. Debian is indeed even worse, and >> process varies from distro to distro and version by version. Hopefully one >> day distro makers will talk to each other and sort out the lib/lib32/lib64 >> mess. >> >> > > With debian/ubuntu you can use debootstrap to compile 32bits debian/ubuntu > packages on 64bits distro (debian, ubuntu, redhat, opensuse, ...) > > For exemple (sorry don't test) : > > First install debootstrap package (depend on your distrib.: debootstrap is in > all distribs) > # aptitude install debootstrap > > # mkdir /home/guy/debian32 > # debootstrap --arch i386 lenny /home/guy/debian32 > http://ftp.us.debian.org/debian/ > # chroot /home/guy/debian32 > > Install package to compile harbour : > # aptitude install gcc binutils debhelper ... subversion ... > > get harbour (you can also copy it from your host ) : > # svn ... > > compile harbour with dpkg-buildpackage ... > # cd .../harbour > # dpkg-buildpackage -b > > exit chroot : > # exit > > > With this, you can create debian/ubuntu package (32 and 64bits) on your > opensuse :-) > > Hopes it help. > > Guy > > > ___ > Harbour mailing list (attachment size limit: 40KB) > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] openSUSE 32-bit build on 64-bit [update#1]
Hi Viktor, Anyhow until then my advice is to keep both 32-bit and 64-bit hosts if there is a need to produce for both targets. Debian is indeed even worse, and process varies from distro to distro and version by version. Hopefully one day distro makers will talk to each other and sort out the lib/lib32/lib64 mess. With debian/ubuntu you can use debootstrap to compile 32bits debian/ubuntu packages on 64bits distro (debian, ubuntu, redhat, opensuse, ...) For exemple (sorry don't test) : First install debootstrap package (depend on your distrib.: debootstrap is in all distribs) # aptitude install debootstrap # mkdir /home/guy/debian32 # debootstrap --arch i386 lenny /home/guy/debian32 http://ftp.us.debian.org/debian/ # chroot /home/guy/debian32 Install package to compile harbour : # aptitude install gcc binutils debhelper ... subversion ... get harbour (you can also copy it from your host ) : # svn ... compile harbour with dpkg-buildpackage ... # cd .../harbour # dpkg-buildpackage -b exit chroot : # exit With this, you can create debian/ubuntu package (32 and 64bits) on your opensuse :-) Hopes it help. Guy ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] openSUSE 32-bit build on 64-bit [update#1]
> On Sat, 9 Jan 2010, Viktor Szakáts wrote: > >> I'm not sure if it's missing package or something missing from our .mk >> files. [TOFIX?] >> As far as I can tell, a libX11.so lib _was_ installed in 32-bit lib dir. >> This can be solved using this ugly hack: [update#1] >> $ cd /usr/lib >> $ sudo ln -s libX11.so.6 libX11.so > > i personally have feelings against this, but it seems to be in line > with the how to compile wine64 on suse document at > http://wiki.winehq.org/WineOn64bit, which in it's own right might be > useful, given the sort-of similarity of the situation. I have serious trouble to accept such solution either, so I really just posted it here to give a feel about the process (which is quite like pissing against the wind), and to give a full coverage of the issues I met, plus in the hope that maybe someone can suggest anything better. Anyhow until then my advice is to keep both 32-bit and 64-bit hosts if there is a need to produce for both targets. Debian is indeed even worse, and process varies from distro to distro and version by version. Hopefully one day distro makers will talk to each other and sort out the lib/lib32/lib64 mess. The wine link pretty much paints the picture in its whole sadness. Brgds, Viktor ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
Re: [Harbour] openSUSE 32-bit build on 64-bit [update#1]
On Sat, 9 Jan 2010, Viktor Szakáts wrote: > I'm not sure if it's missing package or something missing from our .mk > files. [TOFIX?] > As far as I can tell, a libX11.so lib _was_ installed in 32-bit lib dir. > This can be solved using this ugly hack: [update#1] > $ cd /usr/lib > $ sudo ln -s libX11.so.6 libX11.so i personally have feelings against this, but it seems to be in line with the how to compile wine64 on suse document at http://wiki.winehq.org/WineOn64bit, which in it's own right might be useful, given the sort-of similarity of the situation. -- [-] mkdir /nonexistent ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour
[Harbour] openSUSE 32-bit build on 64-bit [update#1]
> So to reiterate, what is the 'official' way to build an 32-bit > .rpm on a 64-bit host? [update#1] I finished the cross 32-bit/64-bit build on openSUSE, with following list of issues: - '-32bit' postfixed packages had to be installed first. Now documented in INSTALL. - gpm-devel isn't recognized on openSUSE 11.2, it uses the name 'gpm' [TOFIX] - '--without x11' had to be used, otherwise it fails with error in dynlib generation phase. I'm not sure if it's missing package or something missing from our .mk files. [TOFIX?] As far as I can tell, a libX11.so lib _was_ installed in 32-bit lib dir. This can be solved using this ugly hack: [update#1] $ cd /usr/lib $ sudo ln -s libX11.so.6 libX11.so - curl had to be manually deleted from harbour.spec, since I found no better way to suppress it and it causes problems because libcurl developers decided (around 7.19.x) to use to platform dependent header files, which fail in cross-platform situations. [ pretty bad direction, so it's good to look around for a better replacement. ] This was the error, for reference: /usr/include/curl/curlrules.h:144: error: size of array ‘__curl_rule_01__’ is negative /usr/include/curl/curlrules.h:154: error: size of array ‘__curl_rule_02__’ is negative [TOFIX: Find a way to suppress it for such cross-builds] - -m32 option had to be manually added to harbour.spec CFLAFGS/LDFLAGS/DFLAGS build options to force 32-bit build. [TOFIX] - the generated .rpm had the postfix 'sus112.x86_64' because mpkg_rpm.sh doesn't recognize this cross-build situation. [TOFIX] - another crucial issue that inside the generated .rpm the lib dir is lib64, which is wrong, and most probably a --target=i386 (or simiar) rpmbuild switch is also required to mark their architecture. [update#1] [TOFIX] I'd appreciate if Linux experts could help addressing these. Brgds, Viktor ___ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour