thomas-maeder / popeye

Popeye is a chess problem solving and testing software with strong support for fairy chess and heterodox genres. For more information cf. topic "Popeye (chess)" on http://en.wikipedia.org/
31 stars 14 forks source link

Problem to compile C++ source. Whit the GNU C-Compiler Version 4.xx in ANSI-mode no more available ... #229

Open regis-henri opened 6 years ago

regis-henri commented 6 years ago

Hello chess friends.

I present myself as a specialist of the fantastic Visual Studio 2010/2012/2015/2017 ... platefrom.

Popeye works fine in a shell cmd inside my data objet oriented program. But the C++ is very poor and need to be changed in Visual C++ objet oriented. So I must previously test popeye sources.

1/ The popeye readme .txt say ;

"There is no C code portable to every compiler and every machine. Nevertheless we want to provide C code as portable as possible. But there are some problems which can be avoided if you read these few lines, before compiling POPEYE by yourself. If you do not want to read any further, take a glance at the makefile.unx . A lot of compiling this sources was done with the GNU C-Compiler Version 4.xx in ANSI-mode."

OK so can you please give a complete procedure to make it work and wher to find GNU correct ?

2/ When I try the differents GNU on https://www.thefreecountry.com/compilers/cpp.shtml nothing works also.

Hope you can help then after I will translate to Visual C++.

Thanks for help.

Henri

regis-henri commented 6 years ago

Hello

No some help please ?

Have nice end year fairys !

thomas-maeder commented 6 years ago

Dear Henri

Yes, that readme.txt document needs a bit of brush-up, it seems.

First of all, Popeye is (currently) written in C, not C++. May that be the source of your problems?

I am currently using gcc 5 (not 4 as readme.txt says) to compile the sources.

Can you elaborate on the errors you get on the platform that you use?

Henri-France commented 4 years ago

Hello

With Visual C++ 6.0 when I compile pymain.c the 14 errors are :

--------------------Configuration: pymain - Win32 Debug-------------------- Linking... pymain.obj : error LNK2001: unresolved external symbol _assert_no_leaked_slices pymain.obj : error LNK2001: unresolved external symbol _dealloc_slices pymain.obj : error LNK2001: unresolved external symbol _dispatch pymain.obj : error LNK2001: unresolved external symbol _slice_insertion_insert pymain.obj : error LNK2001: unresolved external symbol _output_plaintext_alloc_writer pymain.obj : error LNK2001: unresolved external symbol _alloc_pipe pymain.obj : error LNK2001: unresolved external symbol _alloc_command_line_options_parser pymain.obj : error LNK2001: unresolved external symbol _init_moves_children_visitors pymain.obj : error LNK2001: unresolved external symbol _init_structure_children_visitors pymain.obj : error LNK2001: unresolved external symbol _initialise_slice_properties pymain.obj : error LNK2001: unresolved external symbol _platform_set_nice_priority pymain.obj : error LNK2001: unresolved external symbol _enforce_piecename_uniqueness pymain.obj : error LNK2001: unresolved external symbol _check_hash_assumptions Debug/pymain.exe : fatal error LNK1120: 13 unresolved externals Error executing link.exe.

pymain.exe - 14 error(s), 0 warning(s)

Hope you can help? Is pymain the page to be compiled ?

Henri-France commented 4 years ago

I guess their is something to do as it is explained in readme.txt :

  1. Microsoft Visual C++ Copy or link the file makefile.unx to makefile. Make sure that the C++BuilderX (e.g. bcc32.exe) executables are in your PATH of a Cygwin bash shell. Do make TOOLCHAIN=MSVC6 As "MSVC6" tells you, this was tested with Visual C++ 6. In principle, later Visual C++s (Visual Studios) should work as well, but they haven't been tested; feedback is welcome!

But My computer is 64 bits so I believe th compilation neads bcc64.exe of Borland ?

2/ "Make sure that the C++BuilderX (e.g. bcc32.exe) executables are in your PATH of a Cygwin bash shell."

Can you explain with an example ?

3/ "Do make TOOLCHAIN=MSVC6"

Were please ?

To read about you

sincerly

Henri

thomas-maeder commented 4 years ago

Hi

I'm afraid that the following won't be really helpful, but here goes anyway.

It's a very long time since I used Visual C++ to compile the Popeye source code. At that time, I didn't use the IDE but compiled from the command line (probably cygwin).

For several years now, the Windows executables that are part of Popeye releases have been produced using a cross compiler based on gcc that runs on Linux.

You really should not need anything related to C++ Builder for building using Visual C++. The two products were rivals on the Windows platform 15 years ago. If the documentation gives indications in this direction, the documentation is wrong.

Henri-France commented 4 years ago

Hello Thomas,

Thanks for your answer. I mind that their was something wrong with it ! Hope you are well and also your relativ in this complicate time. I will retire on september so I will have a much 'lot of time' (hope so!) to do chess problems and computing.

My idea was translate to modern  Visual C++ IDE and then to Visual C# ! Because then Visual Studio gives you automatic translation to VB.net or Fox or better Python ! Why Python? My idea is to multithread pywin64.

So I can try by other ways : 1/ Have you the organigram of Popeye in pdf or doc or jpg? If not it can be done with your C sources by using VISUSTIN or other similare programm if you have ? I don't have any of this tools.

2/ Is it possible for you to send me the complete actual tools you use gcc ... and complet description of configuration (Linux configuration, version...) ? You can send me them on WETRANSFER it is free for big files ? I use 64 bits processors.

3/ Can you give me a description of how pymain start popeye and specialy the check hands with outdoor world. There is no indication in the comments. Take care of you Sincerly Henri NOUGUIER

Le dimanche 12 avril 2020 à 23:01:37 UTC+2, Thomas Maeder <notifications@github.com> a écrit :  

Hi

I'm afraid that the following won't be really helpful, but here goes anyway.

It's a very long time since I used Visual C++ to compile the Popeye source code. At that time, I didn't use the IDE but compiled from the command line (probably cygwin).

For several years now, the Windows executables that are part of Popeye releases are produced using a cross compiler based on gcc that runs on Linux.

You really should not need anything related to C++ Builder for building using Visual C++. The two products were rivals on the Windows platform 15 years ago. If the documentation gives indications in this direction, the documentation is wrong.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.