On 2/24/21 10:59 AM, Sebastiaan Couwenberg wrote:
> On 2/23/21 7:25 PM, Sebastiaan Couwenberg wrote:
>> On 2/23/21 5:51 AM, Sebastiaan Couwenberg wrote:
>>> On 2/22/21 11:42 PM, Wookey wrote:
>>>> On 2021-02-22 18:23 +0100, Bas Couwenberg wrote:
>>>>> Your package FTBFS with PROJ 8.0.0, it hung at `make samples`:
>>>>>  faketime "" /usr/bin/make samples
>>>>
>>>> This is an issue with faketime, which was added to make the package
>>>> reproducible. For some reason I don't understand it works on the
>>>> buildds bug hangs under a local sbuild build unless you do that build
>>>> as root.
>>>>
>>>> Fiddling with Rule-Requires-Root doesn't seem to affect this. 
>>>>
>>>> So I am pretty certain that this is an artifact of the way you are
>>>> doing the build test, rather than a genuine issue with Proj v8. 
>>>>
>>>> I would like to remove this issue because I have to remember to do
>>>> builds as root. Knowing why it works OK on the real buildds would be 
>>>> helpful. 
>>>
>>> You can close this issue as notfound if you can confirm that it builds
>>> successfully with proj from experimental.
>>>
>>> I don't use sbuild. I used pdebuild with --use-pdebuild-internal to not
>>> require the build dependencies outside the chroot for the clean target.
>>
>> Logging in to the chroot and building as root doesn't resolve the issue,
>> sed still hangs.
> 
> This change helps to not pass an empty string to faketime:
> 
> --- a/debian/rules        2021-01-04 03:47:31.000000000 +0100
> +++ b/debian/rules        2021-02-24 10:44:56.455089240 +0100
> @@ -2,6 +2,8 @@
> 
>  export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow future=+lfs
>  export DH_VERBOSE=1
> +export FAKETIME_DATE=$(shell dpkg-parsechangelog -S Date)
> +
>  %:
>         dh $@
> 
> @@ -11,7 +13,7 @@
>         # We need therion itself to build the samples
>         $(MAKE) therion
>         # create HTML documentation for samples
> -       faketime "$(dpkg-parsechangelog -S Date)" $(MAKE) samples
> +       faketime "$(FAKETIME_DATE)" $(MAKE) samples
>  endif
>         $(MAKE) thbook
> 
> Now we see:
> 
>  faketime "Sat, 06 Feb 2021 16:24:25 +0000" /usr/bin/make samples
> 
> Instead of:
> 
>  faketime "" /usr/bin/make samples
> 
> The build still hangs on the sed call to get the PROJ major version, though.

If awk is used instead of sed like so:

--- therion-5.5.7ds1.orig/Makefile
+++ therion-5.5.7ds1/Makefile
@@ -159,7 +159,7 @@ ifneq ($(filter $(PROJ_VER),$(PROJ_UNSUP
     $(error unsupported Proj version: $(PROJ_VER))
 endif
 PROJ_LIBS ?= $(shell $(CROSS)pkg-config proj --libs)
-PROJ_MVER ?= $(shell echo $(PROJ_VER) | sed 's/\..*//')
+PROJ_MVER ?= $(shell echo $(PROJ_VER) | awk -F. '{print $$1}')
 ifeq ($(shell [ "$(PROJ_MVER)" -gt 5 ] && [ "$(THPLATFORM)" = "WIN32" ]
&& [ -z "$(CROSS)" ]; echo $$?),0)
   PROJ_LIBS += -lsqlite3
 endif

There is some progress, but then the build hangs with 100% CPU on:

 mkdir -p ./extern/poly2tri/sweep/

It's proving hard to fix the arch-indep target.

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1

Reply via email to