Your message dated Sat, 22 Jul 2017 22:26:36 +0200
with message-id 
<CAFX5sbwGeap0WVnOVfU37LZ3mM9a8DH4zyKTfDJ8FZ=s_mp...@mail.gmail.com>
and subject line Fixed some time ago
has caused the Debian Bug report #749984,
regarding configure test HAVE_VISIBILITY_ATTR unnecessarily introduces nested 
functions
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
749984: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749984
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: ntdb
Version: 1.0-4
Severity: wishlist
Usertags: goto-cc

While building the package I noticed an unexpected

[...]
Checking compiler accepts -fvisibility=hidden                                   
  : yes
Checking for HAVE_VISIBILITY_ATTR                                               
  : not found

when using a compiler that does not have support for nested functions. Yet it
seems that these aspects should not interact, but the configure check in
lib/replace/wscript uses the following:

    if conf.CHECK_CFLAGS('-fvisibility=hidden'):
        conf.env.VISIBILITY_CFLAGS = '-fvisibility=hidden'
        conf.CHECK_CODE('''void vis_foo1(void) {}
                           __attribute__((visibility("default"))) void 
vis_foo2(void) {}''',
                        cflags=conf.env.VISIBILITY_CFLAGS,
                        define='HAVE_VISIBILITY_ATTR')

with buildtools/wafsamba/samba_autoconf.py doing the following:

    if addmain:
        fragment='%s\n%s\n int main(void) { %s; return 0; }\n' % (defs, hdrs, 
code)
    else:
        fragment='%s\n%s\n%s\n' % (defs, hdrs, code)

Hence the function vis_foo1 and vis_foo2 will end up being defined within main,
resulting in nested functions. This unnecessarily breaks the build using
compilers such as Clang.

To fix the problem, conf.CHECK_CODE should be called with link=False,
addmain=False.

Best,
Michael

PS.: This configuration bit appears to exist as literal copy in several
packages, the bug report will be cloned accordingly.

Attachment: pgpKX9mci59VY.pgp
Description: PGP signature


--- End Message ---
--- Begin Message ---
Version: 2:4.3.0+dfsg-1

This was fixed by:
4683fc0f1dc5af3bcf81edaebfbd6c8d3b38df9e
52eb8854ff8535577c9282f8e4133875fbb0ed33
46fdd6221e9c64b459e0d05e6d02d89deb8dafb5

Regards

-- 
Mathieu Parent

--- End Message ---

Reply via email to