Multiple declaration for rcsId
building exiv2 (0.22, but also in previous versions) fails with the below error:
cd src && /usr/bin/gmake
gmake1: Entering directory `/var/tmp/exiv2/exiv2-0.22/src'
sed 's/#define \([A-Z]\)/#define EXV_\1/; s/#undef \([A-Z]\)/#undef EXV_\1/' < ../config/config.h > exv_conf.h
libtool: compile: /opt/test2/SolarisStudio12.3-solaris-x86-bin/solarisstudio12.3/bin/CC -xldscope=hidden -I. "-DEXV_LOCALEDIR=\"/usr/local/share/locale\"" -I../xmpsdk/include -c -DEXV_BUILDING_LIB=1 basicio.cpp -KPIC -DPIC -o .libs/basicio.o
"error.cpp", line 29: Error: Multiple declaration for rcsId.
1 Error(s) detected.
I don't know what purpose the line 'const char* rcsId = getRcsId(rcsId);' has, rcsId is not mentioned anywhere else in the project ...
This is on Solaris 11, using the Solaris Studio 12.3 compiler, x86
Updated by Andreas Huggel almost 10 years ago
This is an old way to mark each object file. See the comments in rcsid_int.hpp and man ident(1) for more info. It has been there in this exact form for as long as I can remember but I must say I've never used that marker in any way, maybe it should be cleaned out one of these days.