Subject: Re: c++ build problem with digikam
To: Christos Zoulas <christos@zoulas.com>
From: Mark Davies <mark@mcs.vuw.ac.nz>
List: tech-pkg
Date: 02/19/2006 20:37:18
On Sunday 19 February 2006 17:42, Christos Zoulas wrote:
> I wrote:
> | OK, I simply copied what was in tha actual digikam source file that had
> | the problem, however removing the extern "C" doesn't make any difference
> | to the actual problem reported: still get the invalid conversion errors.
>
> It is probably doing the same extern "C" crap in multiple places.

except that I reproduce the error with just the 8 line source file consisting 
of only those includes.  In fact I can reduce the foo.cpp down to:

-----
#include <tiffio.h>
#include <iostream>
----
and get:

% c++ -I /usr/pkg/include foo.cpp
In file included from /usr/include/g++/bits/stl_alloc.h:89,
                 from /usr/include/g++/memory:55,
                 from /usr/include/g++/string:48,
                 from /usr/include/g++/bits/locale_classes.h:47,
                 from /usr/include/g++/bits/ios_base.h:47,
                 from /usr/include/g++/ios:49,
                 from /usr/include/g++/ostream:45,
                 from /usr/include/g++/iostream:45,
                 from foo.cpp:2:
/usr/include/g++/bits/stl_threads.h: In constructor `
   std::_Refcount_Base::_Refcount_Base(unsigned int)':
/usr/include/g++/bits/stl_threads.h:74: error: invalid conversion from `void*'
   to `__pthread_st*'
/usr/include/g++/bits/stl_threads.h:74: error: invalid conversion from `void*'
   to `__pthread_st*'
/usr/include/g++/bits/stl_threads.h:74: error: invalid conversion from `void*'
   to `__pthread_st**'
/usr/include/g++/bits/stl_threads.h: At global scope:
/usr/include/g++/bits/stl_threads.h: In instantiation of `__gthread_mutex_t 
std::_Swap_lock_struct<0>::_S_swap_lock':
/usr/include/g++/bits/stl_threads.h:122:   instantiated from here
/usr/include/g++/bits/stl_threads.h:115: error: invalid conversion from 
`void*'
   to `__pthread_st*'
/usr/include/g++/bits/stl_threads.h:115: error: invalid conversion from 
`void*'
   to `__pthread_st*'
/usr/include/g++/bits/stl_threads.h:115: error: invalid conversion from 
`void*'
   to `__pthread_st**'


cheers
mark