Opened 13 months ago

Last modified 13 months ago

#72355 new defect

sleuthkit does not build: error: no matching function for call to 'std::basic_string<char>::erase(__gnu_cxx::__normal_iterator<char*, std::basic_string<char> >, std::basic_string<char>::const_iterator)'

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.5
Keywords: Cc: Schamschula (Marius Schamschula)
Port: sleuthkit

Description (last modified by barracuda156)

/bin/sh ../../libtool  --tag=CXX   --mode=compile /opt/local/bin/g++-mp-14 -std=c++14 -DHAVE_CONFIG_H -I. -I../../tsk  -I../.. -I./../.. -isystem/opt/local/include/LegacySupport -I/opt/local/include -D_THREAD_SAFE -pthread -Wall -Wextra -Wno-unused-parameter -Wmultichar -Wsign-promo -Wno-overloaded-virtual -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -MT is_image_supported.lo -MD -MP -MF .deps/is_image_supported.Tpo -c -o is_image_supported.lo is_image_supported.cpp
libtool: compile:  /opt/local/bin/g++-mp-14 -std=c++14 -DHAVE_CONFIG_H -I. -I../../tsk -I../.. -I./../.. -isystem/opt/local/include/LegacySupport -I/opt/local/include -D_THREAD_SAFE -pthread -Wall -Wextra -Wno-unused-parameter -Wmultichar -Wsign-promo -Wno-overloaded-virtual -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -MT is_image_supported.lo -MD -MP -MF .deps/is_image_supported.Tpo -c is_image_supported.cpp  -fno-common -DPIC -o .libs/is_image_supported.o
libtool: compile:  /opt/local/bin/g++-mp-14 -std=c++14 -DHAVE_CONFIG_H -I. -I../../tsk -I../.. -I./../.. -isystem/opt/local/include/LegacySupport -I/opt/local/include -D_THREAD_SAFE -pthread -Wall -Wextra -Wno-unused-parameter -Wmultichar -Wsign-promo -Wno-overloaded-virtual -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -MT auto_db.lo -MD -MP -MF .deps/auto_db.Tpo -c auto_db.cpp -o auto_db.o >/dev/null 2>&1
mv -f .deps/case_db.Tpo .deps/case_db.Plo
mv -f .deps/guid.Tpo .deps/guid.Plo
is_image_supported.cpp: In member function 'std::string TskIsImageSupported::getMessageForIsImageSupportedNat()':
is_image_supported.cpp:223:32: error: no matching function for call to 'std::basic_string<char>::erase(__gnu_cxx::__normal_iterator<char*, std::basic_string<char> >, std::basic_string<char>::const_iterator)'
  223 |                 firstLine.erase(std::remove(firstLine.begin(), firstLine.end(), '\n'), firstLine.cend());
      |                 ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/local/include/gcc14/c++/bits/basic_string.h:57,
                 from /opt/local/include/gcc14/c++/string:54,
                 from ../../tsk/auto/tsk_auto.h:35,
                 from ../../tsk/tsk_tools_i.h:22,
                 from tsk_is_image_supported.h:24,
                 from is_image_supported.cpp:23:
/opt/local/include/gcc14/c++/bits/cow_string.h:1752:7: note: candidate: 'std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::erase(size_type, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; size_type = long unsigned int]'
 1752 |       erase(size_type __pos = 0, size_type __n = npos)
      |       ^~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:1752:23: note:   no known conversion for argument 1 from '__gnu_cxx::__normal_iterator<char*, std::basic_string<char> >' to 'std::basic_string<char>::size_type' {aka 'long unsigned int'}
 1752 |       erase(size_type __pos = 0, size_type __n = npos)
      |             ~~~~~~~~~~^~~~~~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:1768:7: note: candidate: 'std::basic_string<_CharT, _Traits, _Alloc>::iterator std::basic_string<_CharT, _Traits, _Alloc>::erase(iterator) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; iterator = std::basic_string<char>::iterator]'
 1768 |       erase(iterator __position)
      |       ^~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:1768:7: note:   candidate expects 1 argument, 2 provided
/opt/local/include/gcc14/c++/bits/cow_string.h:3406:6: note: candidate: 'std::basic_string<_CharT, _Traits, _Alloc>::iterator std::basic_string<_CharT, _Traits, _Alloc>::erase(iterator, iterator) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; iterator = std::basic_string<char>::iterator]'
 3406 |      basic_string<_CharT, _Traits, _Alloc>::
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:3407:39: note:   no known conversion for argument 2 from '__normal_iterator<const char*,[...]>' to '__normal_iterator<char*,[...]>'
 3407 |      erase(iterator __first, iterator __last)
      |                              ~~~~~~~~~^~~~~~
is_image_supported.cpp:224:32: error: no matching function for call to 'std::basic_string<char>::erase(__gnu_cxx::__normal_iterator<char*, std::basic_string<char> >, std::basic_string<char>::const_iterator)'
  224 |                 firstLine.erase(std::remove(firstLine.begin(), firstLine.end(), '\r'), firstLine.cend());
      |                 ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:1752:7: note: candidate: 'std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::erase(size_type, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; size_type = long unsigned int]'
 1752 |       erase(size_type __pos = 0, size_type __n = npos)
      |       ^~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:1752:23: note:   no known conversion for argument 1 from '__gnu_cxx::__normal_iterator<char*, std::basic_string<char> >' to 'std::basic_string<char>::size_type' {aka 'long unsigned int'}
 1752 |       erase(size_type __pos = 0, size_type __n = npos)
      |             ~~~~~~~~~~^~~~~~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:1768:7: note: candidate: 'std::basic_string<_CharT, _Traits, _Alloc>::iterator std::basic_string<_CharT, _Traits, _Alloc>::erase(iterator) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; iterator = std::basic_string<char>::iterator]'
 1768 |       erase(iterator __position)
      |       ^~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:1768:7: note:   candidate expects 1 argument, 2 provided
/opt/local/include/gcc14/c++/bits/cow_string.h:3406:6: note: candidate: 'std::basic_string<_CharT, _Traits, _Alloc>::iterator std::basic_string<_CharT, _Traits, _Alloc>::erase(iterator, iterator) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; iterator = std::basic_string<char>::iterator]'
 3406 |      basic_string<_CharT, _Traits, _Alloc>::
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc14/c++/bits/cow_string.h:3407:39: note:   no known conversion for argument 2 from '__normal_iterator<const char*,[...]>' to '__normal_iterator<char*,[...]>'
 3407 |      erase(iterator __first, iterator __last)
      |                              ~~~~~~~~~^~~~~~
make[3]: *** [is_image_supported.lo] Error 1
make[3]: *** Waiting for unfinished jobs....

Issue with upstream: https://github.com/sleuthkit/sleuthkit/issues/3272

  1. S. It also needs legacysupport at least for strnlen.

Change History (2)

comment:1 Changed 13 months ago by barracuda156

Description: modified (diff)

comment:2 Changed 13 months ago by Marius Schamschula <mschamschula@…>

In d22a498aa3c41eb207d925d4dd1f09f0aa818efa/macports-ports (master):

sleuthkit: add legacysupport PortGroup

See: #72355

Note: See TracTickets for help on using tickets.