Bug #710
Problems Compiling Exiv2 Under SGI IRIX
100%
Description
I've downloaded Exiv2-0.20 and have been trying to compile it for the past
several days. I've got a C++ compiler that has very strict ANSI compliance
and this has been giving me problems compiling the source.
I've worked around a number of problems, but my C++ is very rusty, and
I've finally hit a road block that I can't get around. I thought may be this
group could help. For brevity, at the moment I'll only post the problem I
can't get around. Here are the errors I don't know how to fix. Any help
would be greatly appreciated. Thanks.
----------------------------- src/basicio.cpp -----------------------------
/usr/bin/CC -DEFAULT:abi=n32:isa=mips4:proc=r10k -n32 -mips4 -LANG:std -I/usr/local/include -I/usr/local/include/openssl -O3
-OPT:Olimit=0 -TARG:processor=r10000:platform=ip28 -I. -I/usr/local/include -I/usr/local/include/openssl -I/usr/local/include
"-DEXV_LOCALEDIR=\"/usr/local/share/locale\"" -I../xmpsdk/include -c -DEXV_BUILDING_LIB=1 -DPIC basicio.cpp -o .libs/basicio.o
cc-3234 CC: ERROR File = error.cpp, Line = 120
Explicit specialization of function "Exiv2::BasicError<char>::setMsg" must
precede its first use.
void BasicError<char>::setMsg()
^
cc-1166 CC: ERROR File = error.cpp, Line = 142
Expected a declaration.
if (pos != std::string::npos) {
^
cc-1012 CC: WARNING File = error.cpp, Line = 145
Parsing restarts here after previous syntax error.
}
^
cc-1077 CC: ERROR File = error.cpp, Line = 146
The indicated declaration has no storage class or type specifier.
msg_ = msg;
^
cc-1020 CC: ERROR File = error.cpp, Line = 146
The identifier "msg" is undefined.
msg_ = msg;
^
cc-1166 CC: ERROR File = error.cpp, Line = 150
Expected a declaration.
}
^
cc-1012 CC: WARNING at end of source
Parsing restarts here after previous syntax error.
cc-1174 CC: WARNING File = basicio.cpp, Line = 31
The variable "rcsId" was declared but never referenced.
static const char* rcsId = "@(#) $Id: basicio.cpp 2045 2010-04-03 07:53:30Z ahuggel $";
^
cc-1174 CC: WARNING File = error.cpp, Line = 45
The function "<unnamed>::ErrMsg::operator==" was declared but never referenced.
bool operator==(int code) const { return code_ == code; }
^
cc-1174 CC: WARNING File = error.cpp, Line = 52
The variable "<unnamed>::errList" was declared but never referenced.
const ErrMsg errList[] = {
-----------------------------------------------------------------------------
If you have any questions or need more information, please let me know.
I'd really like to start using this software now. Thanks.
Related issues
History
Updated by Robin Mills about 6 years ago
- Status changed from New to Closed
- Assignee set to Robin Mills
- Priority changed from Urgent to Normal
- Target version set to 0.26
We don't support this compiler because I don't have access to such a system. We support GCC, Clang and MSVC. Tooling up to support another compiler is a considerable undertaking. We have a build server which builds and tests trunk (and selected branches) when code is submitted. Supporting additional build systems requires continuous access to the platform.
While it desirable that Exiv2 builds and runs perfectly on any compiler and platform, that goal cannot be reached because implementations of C++ are so variable.