Bug#584172: Disabling GetIDMapper inlining for building VISU

Denis Barbier bouzim at gmail.com
Mon Jun 7 16:06:58 UTC 2010


On 2010/6/7 Andre Espaze wrote:
[...]
>    $ patch -p1 < no-template-function-inline.patch
>    $ patch -p1 < debian/patches/visu-no-template-inline.patch

Thanks André for these detailed explanations, but why do you apply
both patches?  I thought that visu-no-template-inline.patch was
superseding no-template-function-inline.patch. (Adam too since he
committed only the former)
To make it clear, my point is that #if macro can be dropped from
visu-no-template-inline.patch, the result will be unchanged:
 * When compiled in debug mode, functions are not inlined and 4
symbols are exported.
 * When compiled with optimization, only one symbol is exported.
Since those macros do nothing, it is better to strip them off and
follow what is described in the C++ faq.

If you want no-template-function-inline.patch to be applied, then
visu-no-template-inline.patch should be dropped.

>    $ cd VISU_SRC_5.1.3/src/CONVERTOR
>    $ mv Makefile.orig Makefile
>    $ make
>    $ readelf -s .libs/libVisuConvertor_la-VISU_MergeFilterUtilities.o | \
>    grep GetIDMapper
>    89: 0000000000000000   113 FUNC    WEAK   DEFAULT   48 _ZN4VISU11GetIDMapperINS_
>    95: 0000000000000000    54 FUNC    WEAK   DEFAULT   50 _ZN4VISU11GetIDMapperINS_
>    96: 0000000000000000    54 FUNC    WEAK   DEFAULT   52 _ZN4VISU11GetIDMapperINS_
>    97: 0000000000000000   113 FUNC    WEAK   DEFAULT   54 _ZN4VISU11GetIDMapperINS_
[...]

These symbols are exported because of
no-template-function-inline.patch, not visu-no-template-inline.patch.

Denis





More information about the debian-science-maintainers mailing list