lucaschessR2 icon indicating copy to clipboard operation
lucaschessR2 copied to clipboard

Rodent IV?

Open TapioOfTapiola opened this issue 1 year ago • 8 comments

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

TapioOfTapiola avatar Jun 16 '24 10:06 TapioOfTapiola

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.

lukasmonk avatar Jun 17 '24 06:06 lukasmonk

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

tissatussa avatar Jun 17 '24 06:06 tissatussa

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 function std::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 function cEngine::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 function void std::__cxx11::list<cEngine, std::allocator<cEngine> >::_M_insert<int&>(std::_List_iterator<cEngine>, int&)': main.cpp:(.text.ZNSt7__cxx114listI7cEngineSaIS1_EE9_M_insertIJRiEEEvSt14_List_iteratorIS1_EDpOT[ZNSt7__cxx114listI7cEngineSaIS1_EE9_M_insertIJRiEEEvSt14_List_iteratorIS1_EDpOT]+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<cEngine> >::_M_insert<>(std::_List_iterator<cEngine>)': main.cpp:(.text.ZNSt7__cxx114listI7cEngineSaIS1_EE9_M_insertIJEEEvSt14_List_iteratorIS1_EDpOT[ZNSt7__cxx114listI7cEngineSaIS1_EE9_M_insertIJEEEvSt14_List_iteratorIS1_EDpOT]+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<cEngine> >::deallocate(std::_List_node<cEngine>, unsigned long)': main.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt10_List_nodeI7cEngineEE10deallocateEPS3_m[_ZN9__gnu_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 function __gnu_cxx::new_allocator<std::_List_node<cEngine> >::allocate(unsigned long, void const)': main.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt10_List_nodeI7cEngineEE8allocateEmPKv[_ZN9__gnu_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 to operator 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 function PrintGenericTaunt()': 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 to std::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 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/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 to std::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 to std::__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 to std::__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 to std::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<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, 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/ ....

lukasmonk avatar Jun 17 '24 07:06 lukasmonk

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 !?

tissatussa avatar Jun 17 '24 07:06 tissatussa

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.

lukasmonk avatar Jun 17 '24 08:06 lukasmonk

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.

TapioOfTapiola avatar Jun 17 '24 08:06 TapioOfTapiola

In personalities are used.

lukasmonk avatar Jun 17 '24 08:06 lukasmonk

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.

TapioOfTapiola avatar Jun 17 '24 09:06 TapioOfTapiola