Subject: c++ build problem with digikam
To: None <tech-pkg@netbsd.org>
From: Mark Davies <mark@mcs.vuw.ac.nz>
List: tech-pkg
Date: 02/19/2006 12:16:19
Trying to build the latest digikam on NetBSD-current I hit the problem 
demonstrated below

For file foo.cpp:

------ cut here ------
// Lib Tiff includes.

extern "C"
{
#include <tiffio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
}

// C++ includes.

#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <iostream>
------ cut here ------

trying to compile produces the following error:

% 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:16:
/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**'


Any suggestions on how to fix?

cheers
mark