lukasmonk / lucaschessR2

Lucas Chess R Version 2
GNU General Public License v3.0
255 stars 36 forks source link

Rodent IV? #149

Open TapioOfTapiola opened 2 weeks ago

TapioOfTapiola commented 2 weeks ago

Hi,

can you support Rodent 4 in your UI? Currently it is Rodent 2 and its personalities that you use. R4 has personalities independent from ELO. I.e., strength is set via UCI_ELO.

https://github.com/nescitus/rodent-iv

Thx

lukasmonk commented 2 weeks ago

There are two problems:

  1. The distribution would increase by 23 Mb, which is excessive. The cause is the books it uses. By working on this, perhaps by reusing the books in Rodent II, it might be possible to reduce it a lot.
  2. There is no compiled version for Linux. I have tried to compile it and there are bugs that I don't know how to fix.
tissatussa commented 2 weeks ago

There is no compiled version for Linux. I'll see if I can compile it.

it's possible, i once did it for Rodent IV v0.32

lukasmonk commented 2 weeks ago

Compiles without errors. When linking, it comes up with a bunch of errors: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.o: in functionstd::thread::~thread()': main.cpp:(.text._ZNSt6threadD2Ev[_ZNSt6threadD5Ev]+0x1d): undefined reference to std::terminate()' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.o: in functioncEngine::WaitThinkThread()': main.cpp:(.text._ZN7cEngine15WaitThinkThreadEv[_ZN7cEngine15WaitThinkThreadEv]+0x30): undefined reference to std::thread::join()' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.o: in functionvoid std::cxx11::list<cEngine, std::allocator >::_M_insert<int&>(std::_List_iterator, int&)': main.cpp:(.text._ZNSt7cxx114listI7cEngineSaIS1_EE9_M_insertIJRiEEEvSt14_List_iteratorIS1EDpOT[_ZNSt7cxx114listI7cEngineSaIS1_EE9_M_insertIJRiEEEvSt14_List_iteratorIS1EDpOT]+0x45): undefined reference to `std::detail::_List_node_base::_M_hook(std::detail::_List_node_base*)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.o: in function `void std::__cxx11::list<cEngine, std::allocator >::_M_insert<>(std::_List_iterator)': main.cpp:(.text._ZNSt7cxx114listI7cEngineSaIS1_EE9_M_insertIJEEEvSt14_List_iteratorIS1EDpOT[_ZNSt7cxx114listI7cEngineSaIS1_EE9_M_insertIJEEEvSt14_List_iteratorIS1EDpOT]+0x2f): undefined reference to `std::__detail::_List_node_base::_M_hook(std::detail::_List_node_base)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.o: in function `__gnu_cxx::new_allocator<std::_List_node >::deallocate(std::_List_node, unsigned long)': main.cpp:(.text._ZN9gnu_cxx13new_allocatorISt10_List_nodeI7cEngineEE10deallocateEPS3_m[_ZN9gnu_cxx13new_allocatorISt10_List_nodeI7cEngineEE10deallocateEPS3_m]+0x1c): undefined reference to operator delete(void*)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.o: in functiongnu_cxx::new_allocator<std::_List_node >::allocate(unsigned long, void const*)': main.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt10_List_nodeI7cEngineEE8allocateEmPKv[_ZN9gnu_cxx13new_allocatorISt10_List_nodeI7cEngineEE8allocateEmPKv]+0x2c): undefined reference to std::__throw_bad_alloc()' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt10_List_nodeI7cEngineEE8allocateEmPKv[_ZN9__gnu_cxx13new_allocatorISt10_List_nodeI7cEngineEE8allocateEmPKv]+0x3f): undefined reference tooperator new(unsigned long)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: main.o:(.eh_frame+0x14b): undefined reference to __gxx_personality_v0' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.o: in functionPrintGenericTaunt()': taunt.cpp:(.text+0x169): undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x173): undefined reference tostd::cout' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x178): undefined reference to std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x18a): undefined reference tostd::basic_ostream<char, std::char_traits >& std::operator<< <char, std::char_traits, std::allocator >(std::basic_ostream<char, std::char_traits >&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x18f): undefined reference to std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x197): undefined reference tostd::ostream::operator<<(std::ostream& (*)(std::ostream&))' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x1a3): undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x1b4): undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::~basic_string()' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.o: in function PrintCaptureTaunt()': taunt.cpp:(.text+0x227): undefined reference tostd::__cxx11::basic_string<char, std::char_traits, std::allocator >::basic_string(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x231): undefined reference to std::cout' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x236): undefined reference tostd::basic_ostream<char, std::char_traits >& std::operator<< <std::char_traits >(std::basic_ostream<char, std::char_traits >&, char const*)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: taunt.cpp:(.text+0x248): undefined reference to `std::basic_ostream<char, std::char_traits >& std::operator<< <char, std::char_traits, std::allocator >(std::basic_ostream<char, std::char_traits >&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/ .... `

tissatussa commented 2 weeks ago

Compiles without errors. When linking, it comes up with a bunch of errors..

i don't remember how i did it, but sometimes i just have to invoke not g++-11 but g++-13 to prevent such errors !?

lukasmonk commented 2 weeks ago

I couldn't link it without errors, I tried with g++-13, and I couldn't link it with g++-13 either, Most likely, I have done it incorrectly.

TapioOfTapiola commented 2 weeks ago

I'd recommend to include it only if the personality books will work, because it is an existential feature of it. Rodent 2 personality books AFAICS don't seem to work in Lucaschess. They are not being used.

lukasmonk commented 2 weeks ago

In personalities are used.

TapioOfTapiola commented 2 weeks ago

My statement "Rodent 2 personality books AFAICS don't seem to work" is wrong. I had the "Humanize time" option on and so Rodent took a while to move, I misinterpreted it and thought it's not using the book. Aww, the many options. This software is such a great gift.