Hi,
I'm trying to compile QtCreator under Sun Sparc Solaris 5.10 but I've got a lot of issues, I've solved some adapting the code to Sun Studio 12 CC :
1. "src/libs/3rdparty/botan/build/botan/stl_util.h", line 81:
Error: Could not find a match for
std::multimap<std::string,
std::string, std::less<std::string>,
std::allocator< std::pair<const std::string, std::string> >
>::insert(std::pair<std::string, std::string>)
needed in
Botan::multimap_insert<std::string, std::string>( std::multimap<std::string,
std::string,
std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> >
>&, const std::string &, const std::string &).
original:
multimap.insert(std::make_pair(key, value));
changed in:
multimap.insert(std::make_pair<const K, V>(key, value));
2. "src/libs/3rdparty/botan/src/utils/datastor/datastor.cpp", line 56:
Error: Could not find a match for
std::multimap<std::string,
std::string, std::less<std::string>,
std::allocator<std::pair<const std::string, std::string> >
>::insert(std::pair<std::string, std::string>)
needed in
Botan::Data_Store::search_with(const Botan::Data_Store::Matcher&) const.
I needed to changed these files :
/src/libs/3rdparty/botan/src/utils/datastor/datastor.h:31
original:
virtual std::pair<std::string, std::string>
changed in:
virtual std::pair<const std::string, std::string>
src/libs/3rdparty/botan/build/botan/datastor.h:31
original:
virtual std::pair<std::string, std::string>
changed in:
virtual std::pair<const std::string, std::string>
src/libs/3rdparty/botan/src/utils/datastor/datastor.cpp:19
original:
std::pair<std::string, std::string>
Data_Store::Matcher::transform(const std::string& key,
const std::string& value) const
{
return std::make_pair(key, value);
}
changed in:
std::pair<const std::string, std::string>
Data_Store::Matcher::transform(const std::string& key,
const std::string& value) const
{
return std::make_pair<const std::string, std::string>(key, value);
}
3. src/libs/3rdparty/botan/src/alloc/alloc_mmap/mmap_mem.cpp, line 116:
Error: Formal argument 1 of type char* in call to msync(char*, unsigned, int) is being passed void*.
original:
if(ptr, n, MS_SYNC))
changed in:
if(::msync(reinterpret_cast<char*>(ptr), n, MS_SYNC))
4. src/libs/3rdparty/botan/src/alloc/alloc_mmap/mmap_mem.cpp, line 120:
Error: Formal argument 1 of type char* in call to munmap(char*, unsigned) is being passed void*.
original:
if(::munmap(ptr, n))
changed in:
if(::munmap(reinterpret_cast<char*>(ptr), n))
But now I've found one that it seems too big to solve with a "minor patch" :
src/libs/3rdparty/botan/build/botan/freestore.h", line 37: Error: Could not find Botan::SharedPointer<Botan::T>::SharedPointer(cons t Botan::SharedPointer<Botan::T>) to initialize ptr.
Has someone already done a patch for Solaris compilation ?
Thank,
Regards,
Giulio
Bookmarks