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

Bug#835274: dh-text no longer needed



Control: tags -1 - moreinfo

On 11/18/2016 08:34 AM, Dmitry Bogatov wrote:
> 
> [2016-11-16 13:09] Christian Seiler <christian@iwakd.de>
>> Am 16. November 2016 10:28:41 MEZ, schrieb Dmitry Bogatov <KAction@gnu.org>:
>>>  * Drop diet libc build due issues with errno
>>
>> As a current co-maintainer of dietlibc in Debian, could you elaborate
>> here? I've spent the last couple of months fixing all sorts of bugs in
>> there (and impro ving packaging, for example dietlibc-dev is now M-A:
>> same), and if problems remain, I'd also like to see them fixed.
>>
>> Of course, you are free to use/drop usage of dietlibc for whatever
>> reason, and maybe there are others than just a specific bug. But
>> irrespective of whether y ou keep building against it, I'd like to fix
>> potential bugs.
> 
> Hm, seems things changed since last time I tried to build with diet. But
> still, it does not work:
> 
> 	./load bcrontab bcron.a -lbg-cli -lbg
> 	./load bcron-start bcron.a -lbg
> 	/usr/lib/bglibs/libbg.a(connectu.o): In function `socket_connectu':
> 	(.text+0x2f): undefined reference to `__strcpy_chk'
> 	/usr/lib/bglibs/libbg.a(mktemp.o): In function `path_mktemp':
> 	(.text+0xd7): undefined reference to `__lxstat'
> 	collect2: error: ld returned 1 exit status
> 	Makefile:66: recipe for target 'bcrontab' failed

Ah, you're trying to link code compiled against glibc headers (in
this case bglibs) with dietlibc, and that won't work. If you want
to use dietlibc in conjunction with additional libraries, all
additional libraries need to be compiled for dietlibc as well.

You can easily do that additionally, by compiling the libraries
twice: installing the libraries in /usr/lib/<triplet> directly
when compiling against glibc, and installing them in
$(diet -L ${CC:-gcc)) [1] when compiling against dietlibc.

Looking at the changelog of bglibs, they haven't compiled against
dietlibc since 2008, so unless you change bglibs, this can't
work.

I'm hence removing the moreinfo tag, because your course of action
to remove dietlibc-dev from Build-Depends of your package is the
right one. If at some point in the future bglibs are recompiled
against dietlibc (in addition to glibc preferably) it might make
sense to re-add the dietlibc-dev Build-Depends here, but for now
you can't do anything about that.

I would only ask you to alter the changelog to reflect the actual
reason why you don't use dietlibc anymore; that is use an entry
like:

 * Drop dietlibc-dev from Build-Depends for now. (Libraries
   depended upon are not compiled for dietlibc anymore.)

That makes it clear what is really going on.

Thanks!

Regards,
Christian

[1] This is Multi-Arch-aware in the current Debian package for
    dietlibc. For example, on x86_64 it will expand to
    /usr/lib/x86_64-linux-gnu/diet/lib-x86_64
    Headers need to go into /usr/include/diet, and need to be
    the same across all architectures if the package containing
    them is to be M-A: same. I'll probably need to change that
    part in the future.


Reply to: