Bernd Markgraf schrieb:
> On Tue, 2006-10-24 at 02:48 -0700, Damien Carbery wrote:
>> I've never tried but post a few bits of the error logs 
> /opt/SUNWspro/bin/CC -g -I. -c basicio.cpp  -KPIC -DPIC
> -o .libs/basicio.o
> "types.hpp", line 369: Error: An integer constant expression is required
> within the array subscript operator.

It is hard to say what causes this without seeing the array declaration 
(and the declaration(s) of identifiers used for defining the dimensions).

> "basicio.cpp", line 85: Error: Formal argument 1 of type char* in call
> to munmap(char*, unsigned) is being passed unsigned char*.

Simplest solution: use a cast for the argument. Better yet, check where 
that incompatibility comes from. Usually munmap takes a void*, evem on 
Solaris. Do you have some extra POSIX-compatibility options on?

> "basicio.cpp", line 136: Error: Cannot assign
> std::auto_ptr<Exiv2::FileIo> to std::auto_ptr<Exiv2::BasicIo> without
> "std::auto_ptr<Exiv2::BasicIo>::operator=(const
> std::auto_ptr<Exiv2::BasicIo>&)";.
> 

IIRC the default standard C++ library of the Sun C++ Compiler does not 
support member templates (for backward compatibility reasons). The 
conversion between different auto_ptr types requires this feature.

If your library needn't be compatible to the default Sun C++ ABI, you 
can use the stlport library that comes with the compiler instead. It 
should support this.

Otherwise if that line contains an auto_ptr assignment
   foo = bar;

you can make that
   foo = bar.release();
or
   foo.reset( bar.release() );
which should work.

> I think line 85 is fixed. types.hpp and line 136 are giving me
> headaches...
> 
>> or links to the sources and I'll give it a try. 
> http://www.exiv2.org/download.html
> 
>> Is exiv2 in Solaris?
> unfortunately not... 
> 
> maybe I should learn more about C++ 8-)
> 

This is all I can say without taking the extra time to get the code :-o

HTH
- J?rg

Reply via email to