I am having difficulty installing scidb on Ubuntu Linux 20.04.4.

There is a suggestion in the Discussion forum for removing a certain line
from one of the source files. I did that but it had no effect. I'm
attaching the messages generated by make install.

Thanks for any installation help that you can provide
$ sudo make install
Install man pages
Compiling db_consumer.cpp                 [-Wall -g -I/usr/include/tcl8.6 
-DSCI_NAMEBASE_FIX=1]
In file included from ../mstl/m_bitset.h:266,
                 from db_annotation.h:34,
                 from db_consumer.cpp:29:
../mstl/m_bitset.ipp: In member function ‘void 
mstl::bitset::fill(mstl::bitset::size_type, mstl::bitset::size_type, unsigned 
char)’:
../mstl/m_bitset.ipp:385:66: warning: ‘void* memset(void*, int, size_t)’ 
writing to an object of non-trivial type ‘mstl::bitset::bitfield’ {aka ‘class 
mstl::bitfield<long unsigned int>’}; use assignment instead [-Wclass-memaccess]
  385 |  ::memset(m_bits + first, value, sizeof(m_bits[0])*(last - first));
      |                                                                  ^
In file included from db_common.h:32,
                 from db_provider.h:30,
                 from db_consumer.h:30,
                 from db_consumer.cpp:27:
../mstl/m_bitfield.h:25:7: note: ‘mstl::bitset::bitfield’ {aka ‘class 
mstl::bitfield<long unsigned int>’} declared here
   25 | class bitfield
      |       ^~~~~~~~
In file included from ../mstl/m_memblock.h:71,
                 from ../mstl/m_vector.h:24,
                 from db_move_info_set.h:34,
                 from db_consumer.h:34,
                 from db_consumer.cpp:27:
../mstl/m_memblock.ipp: In instantiation of ‘mstl::memblock<U>& 
mstl::memblock<T>::operator=(mstl::memblock<T>&&) [with T = db::Mark]’:
../mstl/m_vector.ipp:790:35:   required from ‘mstl::vector<T>& 
mstl::vector<T>::operator=(mstl::vector<T>&&) [with T = db::Mark]’
db_mark_set.ipp:124:34:   required from here
../mstl/m_memblock.ipp:134:22: error: no matching function for call to 
‘mstl::memblock<db::Mark>::~memblock()’
  134 |   memblock::~memblock();
      |   ~~~~~~~~~~~~~~~~~~~^~
../mstl/m_memblock.ipp:45:1: note: candidate: ‘mstl::memblock<T>::~memblock() 
[with T = db::Mark]’
   45 | memblock<T>::~memblock() throw()
      | ^~~~~~~~~~~
../mstl/m_memblock.ipp:45:1: note:   candidate expects 1 argument, 0 provided
In file included from ../mstl/m_vector.h:189,
                 from db_move_info_set.h:34,
                 from db_consumer.h:34,
                 from db_consumer.cpp:27:
../mstl/m_vector.ipp: In instantiation of ‘void 
mstl::vector<T>::insert_aux(mstl::vector<T>::iterator, 
mstl::vector<T>::const_reference) [with T = mstl::pair<mstl::string, unsigned 
int>; mstl::vector<T>::iterator = 
mstl::pointer_iterator<mstl::pair<mstl::string, unsigned int> >; 
mstl::vector<T>::const_reference = const mstl::pair<mstl::string, unsigned 
int>&; mstl::vector<T>::value_type = mstl::pair<mstl::string, unsigned int>]’:
../mstl/m_vector.ipp:519:2:   required from ‘mstl::vector<T>::iterator 
mstl::vector<T>::insert(mstl::vector<T>::iterator, 
mstl::vector<T>::const_reference) [with T = mstl::pair<mstl::string, unsigned 
int>; mstl::vector<T>::iterator = 
mstl::pointer_iterator<mstl::pair<mstl::string, unsigned int> >; 
mstl::vector<T>::const_reference = const mstl::pair<mstl::string, unsigned 
int>&; mstl::vector<T>::value_type = mstl::pair<mstl::string, unsigned int>]’
../mstl/m_map.ipp:233:5:   required from ‘mstl::map<K, V>::mapped_type& 
mstl::map<K, V>::operator[](mstl::map<K, V>::const_key_ref) [with K = 
mstl::string; V = unsigned int; mstl::map<K, V>::mapped_type = unsigned int; 
mstl::map<K, V>::const_key_ref = const mstl::string&]’
db_consumer.cpp:147:24:   required from here
../mstl/m_vector.ipp:699:13: warning: ‘void* memmove(void*, const void*, 
size_t)’ writing to an object of type 
‘mstl::pointer_iterator<mstl::pair<mstl::string, unsigned int> >::value_type’ 
{aka ‘class mstl::pair<mstl::string, unsigned int>’} with no trivial 
copy-assignment; use copy-assignment or copy-initialization instead 
[-Wclass-memaccess]
  699 |    ::memmove( pointer(position) + 1,
      |    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
  700 |        pointer(position),
      |        ~~~~~~~~~~~~~~~~~~
  701 |        mstl::distance(position, end())*sizeof(value_type));
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../mstl/m_map.h:23,
                 from db_engine_list.h:28,
                 from db_consumer.h:35,
                 from db_consumer.cpp:27:
../mstl/m_pair.h:25:7: note: ‘mstl::pointer_iterator<mstl::pair<mstl::string, 
unsigned int> >::value_type’ {aka ‘class mstl::pair<mstl::string, unsigned 
int>’} declared here
   25 | class pair
      |       ^~~~
In file included from ../mstl/m_uninitialized.h:56,
                 from ../mstl/m_vector.ipp:19,
                 from ../mstl/m_vector.h:189,
                 from db_move_info_set.h:34,
                 from db_consumer.h:34,
                 from db_consumer.cpp:27:
../mstl/m_uninitialized.ipp: In instantiation of ‘static T* 
mstl::bits::uninitialized_pod<NBytes>::copy(InputIterator, InputIterator, T*) 
[with InputIterator = mstl::pair<mstl::string, unsigned int>*; T = 
mstl::pair<mstl::string, unsigned int>; long unsigned int NBytes = 32]’:
../mstl/m_uninitialized.ipp:95:44:   required from ‘static T* 
mstl::bits::uninitialized<1>::copy(InputIterator, InputIterator, T*) [with 
InputIterator = mstl::pair<mstl::string, unsigned int>*; T = 
mstl::pair<mstl::string, unsigned int>]’
../mstl/m_uninitialized.ipp:158:56:   required from ‘T* 
mstl::uninitialized_move(T*, T*, T*) [with T = mstl::pair<mstl::string, 
unsigned int>]’
../mstl/m_vector.ipp:409:43:   required from ‘void 
mstl::vector<T>::reserve(mstl::vector<T>::size_type) [with T = 
mstl::pair<mstl::string, unsigned int>; mstl::vector<T>::size_type = long 
unsigned int]’
../mstl/m_map.ipp:32:80:   required from ‘void mstl::map<K, 
V>::reserve(mstl::map<K, V>::size_type) [with K = mstl::string; V = unsigned 
int; mstl::map<K, V>::size_type = long unsigned int]’
db_engine_list.ipp:36:69:   required from here
../mstl/m_uninitialized.ipp:60:12: warning: ‘void* memmove(void*, const void*, 
size_t)’ writing to an object of type ‘class mstl::pair<mstl::string, unsigned 
int>’ with no trivial copy-assignment; use copy-assignment or 
copy-initialization instead [-Wclass-memaccess]
   60 |   ::memmove(result, first, NBytes*(last - first));
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../mstl/m_map.h:23,
                 from db_engine_list.h:28,
                 from db_consumer.h:35,
                 from db_consumer.cpp:27:
../mstl/m_pair.h:25:7: note: ‘class mstl::pair<mstl::string, unsigned int>’ 
declared here
   25 | class pair
      |       ^~~~
In file included from ../mstl/m_uninitialized.h:56,
                 from ../mstl/m_vector.ipp:19,
                 from ../mstl/m_vector.h:189,
                 from db_move_info_set.h:34,
                 from db_consumer.h:34,
                 from db_consumer.cpp:27:
../mstl/m_uninitialized.ipp: In instantiation of ‘static T* 
mstl::bits::uninitialized_pod<NBytes>::copy(InputIterator, InputIterator, T*) 
[with InputIterator = mstl::string*; T = mstl::string; long unsigned int NBytes 
= 24]’:
../mstl/m_uninitialized.ipp:95:44:   required from ‘static T* 
mstl::bits::uninitialized<1>::copy(InputIterator, InputIterator, T*) [with 
InputIterator = mstl::string*; T = mstl::string]’
../mstl/m_uninitialized.ipp:158:56:   required from ‘T* 
mstl::uninitialized_move(T*, T*, T*) [with T = mstl::string]’
../mstl/m_vector.ipp:409:43:   required from ‘void 
mstl::vector<T>::reserve(mstl::vector<T>::size_type) [with T = mstl::string; 
mstl::vector<T>::size_type = long unsigned int]’
../mstl/m_vector.ipp:310:3:   required from ‘mstl::vector<T>& 
mstl::vector<T>::operator=(const mstl::vector<T>&) [with T = mstl::string]’
db_consumer.cpp:83:24:   required from here
../mstl/m_uninitialized.ipp:60:12: warning: ‘void* memmove(void*, const void*, 
size_t)’ writing to an object of type ‘class mstl::string’ with no trivial 
copy-assignment; use copy-assignment or copy-initialization instead 
[-Wclass-memaccess]
   60 |   ::memmove(result, first, NBytes*(last - first));
      |   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from db_move.h:38,
                 from db_move_list.h:30,
                 from db_board.h:34,
                 from db_consumer.h:31,
                 from db_consumer.cpp:27:
../mstl/m_string.h:28:7: note: ‘class mstl::string’ declared here
   28 | class string
      |       ^~~~~~
make[2]: *** [Makefile:162: db_consumer.o] Error 1
make[1]: *** [Makefile:205: recursive] Error 1
make: *** [Makefile:87: install-subdirs] Error 2
_______________________________________________
Scidb-users mailing list
Scidb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scidb-users

Reply via email to