2008-03-19 21:30:05

by Gabor Z. Papp

[permalink] [raw]
Subject: nfs-utils-1.1.2

Hello,

I'm trying to compile nfs-utils 1.1.2 with nfs4 support, but in the
following environment:

Linux 2.4
glibc 2.3.5
static libevent and libnfsidmap

I'm getting the following problem:

/bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -Wstrict-prototypes -pipe -g -O2 -o idmapd atomicio.o cfg.o idmapd.o strlcat.o strlcpy.o -lrt -levent -lnfsidmap ../../support/nfs/libnfs.a
gcc -Wall -Wstrict-prototypes -pipe -g -O2 -o idmapd atomicio.o cfg.o idmapd.o strlcat.o strlcpy.o -lrt -levent -lnfsidmap ../../support/nfs/libnfs.a
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_begin':
/home/gzp/src/libnfsidmap-0.20/cfg.c:641: multiple definition of `conf_begin'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:628: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_decode_base64':
/home/gzp/src/libnfsidmap-0.20/cfg.c:558: multiple definition of `conf_decode_base64'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:545: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o):(.rodata+0x60): multiple definition of `asc2bin'
cfg.o:(.rodata+0x60): first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_report':
/home/gzp/src/libnfsidmap-0.20/cfg.c:829: multiple definition of `conf_report'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:816: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_free_list':
/home/gzp/src/libnfsidmap-0.20/cfg.c:622: multiple definition of `conf_free_list'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:609: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_remove_section':
/home/gzp/src/libnfsidmap-0.20/cfg.c:738: multiple definition of `conf_remove_section'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:725: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_remove':
/home/gzp/src/libnfsidmap-0.20/cfg.c:707: multiple definition of `conf_remove'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:694: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_set':
/home/gzp/src/libnfsidmap-0.20/cfg.c:666: multiple definition of `conf_set'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:653: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_get_tag_list':
/home/gzp/src/libnfsidmap-0.20/cfg.c:524: multiple definition of `conf_get_tag_list'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:509: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_get_str':
/home/gzp/src/libnfsidmap-0.20/cfg.c:435: multiple definition of `conf_get_str'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:435: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_get_list':
/home/gzp/src/libnfsidmap-0.20/cfg.c:471: multiple definition of `conf_get_list'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:454: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_match_num':
/home/gzp/src/libnfsidmap-0.20/cfg.c:410: multiple definition of `conf_match_num'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:410: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_get_num':
/home/gzp/src/libnfsidmap-0.20/cfg.c:399: multiple definition of `conf_get_num'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:399: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_end':
/home/gzp/src/libnfsidmap-0.20/cfg.c:761: multiple definition of `conf_end'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:748: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_reinit':
/home/gzp/src/libnfsidmap-0.20/cfg.c:328: multiple definition of `conf_reinit'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:328: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_init':
/home/gzp/src/libnfsidmap-0.20/cfg.c:316: multiple definition of `conf_init'
cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:316: first defined here
/pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o):(.rodata+0x0): multiple definition of `bin2asc'
cfg.o:(.rodata+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [idmapd] Error 1


2008-03-19 22:03:55

by Kevin Coffman

[permalink] [raw]
Subject: Re: nfs-utils-1.1.2

Yes, both idmapd and libnfsidmap have cfg.[ch] to process the config
file. The version in idmapd has been enhanced to add a new function,
conf_get_str_with_def.

To get around the problem you're seeing, I'd suggest removing cfg.c
from the list of files in libnfsidmap.

I'll have to think about a permanent solution, which may be to have
idmapd use the code in libnfsidmap.

BTW, why do you need to statically link libnfsidmap?

K.C.

On Wed, Mar 19, 2008 at 7:40 AM, Gabor Z. Papp <gzp-2g/[email protected]> wrote:
> Hello,
>
> I'm trying to compile nfs-utils 1.1.2 with nfs4 support, but in the
> following environment:
>
> Linux 2.4
> glibc 2.3.5
> static libevent and libnfsidmap
>
> I'm getting the following problem:
>
> /bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -Wstrict-prototypes -pipe -g -O2 -o idmapd atomicio.o cfg.o idmapd.o strlcat.o strlcpy.o -lrt -levent -lnfsidmap ../../support/nfs/libnfs.a
> gcc -Wall -Wstrict-prototypes -pipe -g -O2 -o idmapd atomicio.o cfg.o idmapd.o strlcat.o strlcpy.o -lrt -levent -lnfsidmap ../../support/nfs/libnfs.a
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_begin':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:641: multiple definition of `conf_begin'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:628: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_decode_base64':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:558: multiple definition of `conf_decode_base64'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:545: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o):(.rodata+0x60): multiple definition of `asc2bin'
> cfg.o:(.rodata+0x60): first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_report':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:829: multiple definition of `conf_report'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:816: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_free_list':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:622: multiple definition of `conf_free_list'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:609: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_remove_section':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:738: multiple definition of `conf_remove_section'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:725: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_remove':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:707: multiple definition of `conf_remove'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:694: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_set':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:666: multiple definition of `conf_set'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:653: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_get_tag_list':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:524: multiple definition of `conf_get_tag_list'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:509: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_get_str':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:435: multiple definition of `conf_get_str'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:435: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_get_list':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:471: multiple definition of `conf_get_list'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:454: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_match_num':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:410: multiple definition of `conf_match_num'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:410: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_get_num':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:399: multiple definition of `conf_get_num'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:399: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_end':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:761: multiple definition of `conf_end'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:748: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_reinit':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:328: multiple definition of `conf_reinit'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:328: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o): In function `conf_init':
> /home/gzp/src/libnfsidmap-0.20/cfg.c:316: multiple definition of `conf_init'
> cfg.o:/home/gzp/src/nfs-utils-1.1.2/utils/idmapd/cfg.c:316: first defined here
> /pkg/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../libnfsidmap.a(cfg.o):(.rodata+0x0): multiple definition of `bin2asc'
> cfg.o:(.rodata+0x0): first defined here
> collect2: ld returned 1 exit status
> make: *** [idmapd] Error 1
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>