Hi Josua, > Am 26.03.2018 um 15:48 schrieb Josua Mayer <[email protected]>: > > Hi Nikolaus, > > I came across a similar question a year ago, but I had to find some time for > digging it out. > So back then I wanted to use DEB_TARGET_GNU_TYPE to identify the long > compiler name, arm-linux-gnueabihf. > > Now back in Wheezy, we only had BUILD_* and HOST_*. Quoting the Debian Wiki > Page on cross-build packaging [1]: > "HOST is the machine we are building for" > "BUILD is the machine we are building on" > > So HOST_* is what we want to use here! > > I don't fully understand what TARGET means. Reading in the gcc manual [2] > about build, host and target I understand this: > We are building software on a machine (BUILD), to execute on another machine > (HOST). And then we can have a TARGET machine that our newly built software > may produce code for, if it is a compiler, assembler or otherwise generating > tool. > > So I conclude that we should be using HOST, not only on Wheezy, but also on > later releases as this is most accurate to our use-case. > It seems to work now!
http://download.goldelico.com/letux-debian-rootfs/debian/dists/wheezy/main/ vs. http://download.goldelico.com/letux-debian-rootfs/debian/dists/jessie/main/ (watch for qt-embedded_4.8.7.*.* in binary-armhf/ or sources/) Now up to the community to make use of this result! BR and thanks, Nikolaus > br > Josua > [1] https://wiki.debian.org/CrossBuildPackagingGuidelines > <https://wiki.debian.org/CrossBuildPackagingGuidelines> > [2] https://gcc.gnu.org/onlinedocs/gcc-4.0.2/gccint/Configure-Terms.html > <https://gcc.gnu.org/onlinedocs/gcc-4.0.2/gccint/Configure-Terms.html> > > Am 26.03.2018 um 14:07 schrieb H. Nikolaus Schaller: >> Hi Jonas, >> >>> Am 26.03.2018 um 13:17 schrieb Jonas Smedegaard <[email protected]> >>> <mailto:[email protected]>: >>> >>> Quoting H. Nikolaus Schaller (2018-03-26 12:43:56) >>>> Hi, >>>> nobody with an idea or knowledge? >>>> >>>> BR, >>>> Nikolaus >>>> >>>>> Am 18.03.2018 um 15:37 schrieb H. Nikolaus Schaller <[email protected]> >>>>> <mailto:[email protected]>: >>>>> >>>>> Another topic: >>>>> >>>>> I am trying to build it on/for wheezy, but ./mkqtspec.sh fails with: >>>>> >>>>> dpkg-architecture: error: DEB_TARGET_ARCH is not a supported >>>>> variable name >>>>> >>>>> Jessie reports: >>>>> >>>>> root@letux:# dpkg-architecture >>>>> DEB_BUILD_ARCH=armhf >>>>> DEB_BUILD_ARCH_BITS=32 >>>>> DEB_BUILD_ARCH_CPU=arm >>>>> DEB_BUILD_ARCH_ENDIAN=little >>>>> DEB_BUILD_ARCH_OS=linux >>>>> DEB_BUILD_GNU_CPU=arm >>>>> DEB_BUILD_GNU_SYSTEM=linux-gnueabihf >>>>> DEB_BUILD_GNU_TYPE=arm-linux-gnueabihf >>>>> DEB_BUILD_MULTIARCH=arm-linux-gnueabihf >>>>> DEB_HOST_ARCH=armhf >>>>> DEB_HOST_ARCH_BITS=32 >>>>> DEB_HOST_ARCH_CPU=arm >>>>> DEB_HOST_ARCH_ENDIAN=little >>>>> DEB_HOST_ARCH_OS=linux >>>>> DEB_HOST_GNU_CPU=arm >>>>> DEB_HOST_GNU_SYSTEM=linux-gnueabihf >>>>> DEB_HOST_GNU_TYPE=arm-linux-gnueabihf >>>>> DEB_HOST_MULTIARCH=arm-linux-gnueabihf >>>>> DEB_TARGET_ARCH=armhf >>>>> DEB_TARGET_ARCH_BITS=32 >>>>> DEB_TARGET_ARCH_CPU=arm >>>>> DEB_TARGET_ARCH_ENDIAN=little >>>>> DEB_TARGET_ARCH_OS=linux >>>>> DEB_TARGET_GNU_CPU=arm >>>>> DEB_TARGET_GNU_SYSTEM=linux-gnueabihf >>>>> DEB_TARGET_GNU_TYPE=arm-linux-gnueabihf >>>>> DEB_TARGET_MULTIARCH=arm-linux-gnueabihf >>>>> root@letux:# >>>>> >>>>> Wheezy reports: >>>>> >>>>> root@letux:/# dpkg-architecture >>>>> DEB_BUILD_ARCH=armhf >>>>> DEB_BUILD_ARCH_BITS=32 >>>>> DEB_BUILD_ARCH_CPU=arm >>>>> DEB_BUILD_ARCH_ENDIAN=little >>>>> DEB_BUILD_ARCH_OS=linux >>>>> DEB_BUILD_GNU_CPU=arm >>>>> DEB_BUILD_GNU_SYSTEM=linux-gnueabihf >>>>> DEB_BUILD_GNU_TYPE=arm-linux-gnueabihf >>>>> DEB_BUILD_MULTIARCH=arm-linux-gnueabihf >>>>> DEB_HOST_ARCH=armhf >>>>> DEB_HOST_ARCH_BITS=32 >>>>> DEB_HOST_ARCH_CPU=arm >>>>> DEB_HOST_ARCH_ENDIAN=little >>>>> DEB_HOST_ARCH_OS=linux >>>>> DEB_HOST_GNU_CPU=arm >>>>> DEB_HOST_GNU_SYSTEM=linux-gnueabihf >>>>> DEB_HOST_GNU_TYPE=arm-linux-gnueabihf >>>>> DEB_HOST_MULTIARCH=arm-linux-gnueabihf >>>>> root@letux:/# >>>>> >>>>> So can we safely replace DEB_TARGET_ARCH by DEB_BUILD_ARCH >>>>> in DEB_TARGET_ARCH=$(dpkg-architecture -qDEB_TARGET_ARCH) ? >>> "man dpkg-architecture" says: >>> >>>> DEB_BUILD_ARCH >>>> The Debian architecture of the build machine. >> ok. >> >>> and >>> >>>> DEB_TARGET_ARCH >>>> The Debian architecture of the target machine (since dpkg 1.17.14). >> ok. So we can use the same since the build is not a cross-build or anything. >> >>> dpkg version in wheezy is too old: >>> https://packages.debian.org/source/oldoldstable/dpkg >>> <https://packages.debian.org/source/oldoldstable/dpkg> >> Well, for building a package for wheezy it should never be too old... >> Only some source code could be too new :) >> >>> If build machine is same architecture as target machine, then you can >>> reuse, else not. >> So does this mean the following? >> >> * use DEB_TARGET_ARCH if defined >> * fall back to DEB_BUILD_ARCH otherwise >> >> I.e. replace it by: >> >> DEB_TARGET_ARCH=$(dpkg-architecture -qDEB_TARGET_ARCH 2>/dev/null) >> [ "$DEB_TARGET_ARCH" ] || DEB_TARGET_ARCH=$(dpkg-architecture >> -qDEB_BUILD_ARCH >> >> BR and thanks, >> Nikolaus >> >
_______________________________________________ Community mailing list [email protected] http://lists.goldelico.com/mailman/listinfo.cgi/community http://www.tinkerphones.org
