[lvm-devel] [PATCH] makefile: fail to compile if there are more than one exported symbols.
Lidong Zhong
lzhong at suse.com
Tue Jun 16 02:24:01 UTC 2015
Hi Zdenek,
Sorry I forgot to check the latest source, and this has been fixed in your latest commit of make.tmpl.in.
Sorry for the noise :(
Regards,
Lidong
>>> On 6/15/2015 at 05:43 PM, in message <557E9E4A.6060001 at redhat.com>, Zdenek
Kabelac <zkabelac at redhat.com> wrote:
> Dne 15.6.2015 v 11:26 Lidong Zhong napsal(a):
> > Hi ,
> >
> > Without this patch, I would get the following error:
> >
> > set -e;\
> > R=dm_lv_simple_resume dm_lv_simple_suspend dm_replace_mirror_table;\
> > test -z "$R" || { echo "Mismatch between symbols in shared library and lists
> in .exported_symbols.* files: $R"; false; } ;\
> > (for i in ./.exported_symbols.Base ./.exported_symbols.DM_1_02_97 ; do\
> > echo "${i##*.} {"; echo " global:";\
> > /usr/bin/sed "s/^/ /;s/$/;/" < $i;\
> > test "$i" = Base && { echo " local:"; echo " *;"; };\
> > echo "};";\
> > done ) > .export.sym
> > /bin/sh: line 1: dm_lv_simple_suspend: command not found
> > ../make.tmpl:508: recipe for target '.export.sym' failed
> > make[1]: *** [.export.sym] Error 127
> > make[1]: Leaving directory '/home/lwang/LVM2.2.02.120/libdm'
> > make.tmpl:323: recipe for target 'libdm.device-mapper' failed
> > make: *** [libdm.device-mapper] Error 2
>
> Hmmm interesting - in my case I get:
>
> ---
> set -e;\
> R=$(sort .exported_symbols_generated .exported_symbols.Base
> .exported_symbols.DM_1_02_98 .exported_symbols.DM_1_02_97 | uniq -u);\
> test -z "$R" || { echo "Mismatch between symbols in shared library and lists
> in .exported_symbols.* files: $R"; false; } ;\
> ---
>
> While you get directly assigned result.
>
> So how is possible that in your case you get already 'translated' string,
> while in my case I get regular shell evaluation R=$(sort....) which should
>
> not need "".
>
> Are you testing against latest 'git' HEAD ?
>
> Do you this in make.tmpl.in?
>
> .export.sym: .exported_symbols_generated $(EXPORTED_SYMBOLS)
> ifeq (,$(firstword $(EXPORTED_SYMBOLS)))
> set -e; (echo "Base {"; echo " global:";\
> $(SED) "s/^/ /;s/$$/;/" $<;\
> echo " local:"; echo " *;"; echo "};") > $@
> else
> set -e;\
> R=$$(sort $^ | uniq -u);\
> test -z "$$R" || { echo "Mismatch between symbols in shared library and lists
>
> in .exported_symbols.* files: $$R"; false; } ;\
> for i in $(EXPORTED_SYMBOLS); do\
> echo "$${i##*.} {"; echo " global:";\
> $(SED) "s/^/ /;s/$$/;/" $$i;\
> test "$$i" = Base && { echo " local:"; echo " *;"; };\
> echo "};";\
> done > $@
> endif
>
>
> Zdenek
>
> --
> lvm-devel mailing list
> lvm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/lvm-devel
>
>
More information about the lvm-devel
mailing list