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 over 7 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.