[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help needed for cross-building tsocks



Hi Helmut,

On 15 August 2025 01:09:57 GMT+05:30, Helmut Grohne <helmut@subdivi.de> wrote:
>On Thu, Aug 14, 2025 at 11:22:27PM +0530, Nilesh Patra wrote:
>> tsocks fails to cross build with [1]:
>
>Thank you for fixing so many packages!

Interestingly, your mail arrived now (after 3 days) and headers suggest that there was a lot of delay b/w your SMTP and debian relay servers.

But thanks for responding!

>> |   dh_builtusing -a
>> | dh_builtusing: error: libc-dev-bin should match one installed package, got:
>> | glibc,2.41-8,amd64
>> 
>> >From my reading of dh-builtusing code, it queries dpkg database for libc-dev-bin package
>> which returns amd64 and tries to match it with hostarch which in this case is arm64.
>> 
>> I suppose this is due to libc-dev-bin being "M-A: foreign". So I tried replacing the field
>> in d/control with:
>> 
>> -Built-Using: ${dh-builtusing:libc-dev-bin}
>> +Built-Using: ${dh-builtusing:libc6-dev}
>> 
>> and it seems to work and resolves the correct variable in B-U field. I am however not
>> fully sure if this is the right thing to do.
>
>I mostly concur with your analysis. What ends up in the Built-Using
>field is a source package and its version. As far as I understand it, it
>does not matter which binary package we use for the lookup. This
>suggests that your change would be correct. Unfortunately, it'll break
>on alpha and hurd-any as those do not have a libc6-dev package. I guess
>that libc-dev-bin has been chosen here as its name is the same across
>architectures. I fear there is no simple solution here. You might try
>${dh-builtusing:libc-dev} as all of the libc*-dev packages provide
>libc-dev, but I don't have high hopes. I guess we'll have to resort to
>something more manual here.

I did try it before sending this email. However, since libc-dev is a provides (and not an actual binary package) of libc6-dev, dpkg-query can't really find a version for it and determine an architecture for it, and it FTBFS as a result.

Do you find it acceptable to use libc6-dev instead? It would at least make the package cross build on release architectures (if not ports) and is incrementally better than current situation.


Best,
Nilesh


Reply to: