Potential GiGi replacements: Godot

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderator: Committer

Message
Author
User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#76 Post by Geoff the Medio »

o01eg wrote: Sun Apr 18, 2021 6:11 am I suppose than lines from https://github.com/o01eg/freeorion/blob ... #L816-L822 should copy freeoriongodot.dll to sensible location
Not sure what your point is... Those lines are already present, so why isn't it already in a sensible location? And what about all the other outputs from building the various FreeOrion projects? They should all be put in the directory next to /default.
For godot binary itself we could download it into $<TARGET_FILE_DIR:freeoriond> and unpack zip here. Not sure what to do if freeoriond is disabled.
Shouldn't it just be in the SDK like all the other external dependencies? Preferably built as part of it?

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#77 Post by o01eg »

Geoff the Medio wrote: Sun Apr 18, 2021 9:42 am
o01eg wrote: Sun Apr 18, 2021 6:11 am I suppose than lines from https://github.com/o01eg/freeorion/blob ... #L816-L822 should copy freeoriongodot.dll to sensible location
Not sure what your point is... Those lines are already present, so why isn't it already in a sensible location? And what about all the other outputs from building the various FreeOrion projects? They should all be put in the directory next to /default.
target_dependent_data_symlink_to_build(freeorion... ${PROJECT_SOURCE_DIR}/default) should link default here. But I don't know why it doesn't work on Windows. It should call mklink /J "${DESTINATION}" "${SOURCE_PATH}" . Maybe default got linked to /build/default/ instead of /build/Release/default/. Could you check it?
Geoff the Medio wrote: Sun Apr 18, 2021 9:42 am
For godot binary itself we could download it into $<TARGET_FILE_DIR:freeoriond> and unpack zip here. Not sure what to do if freeoriond is disabled.
Shouldn't it just be in the SDK like all the other external dependencies? Preferably built as part of it?
Not sure if we need to build Godot executable from sources.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#78 Post by Geoff the Medio »

o01eg wrote: Sun Apr 18, 2021 9:52 amMaybe default got linked to /build/default/ instead of /build/Release/default/. Could you check it?
Not sure exactly what you mean, but

Code: Select all

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrionG\build>dir /ad /w
 Volume in drive C is Windows
 Volume Serial Number is XXXX-XXXX

 Directory of C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrionG\build

[.]                     [..]                    [check]                 [client]                [CMakeFiles]
[combat]                [doc]                   [Empire]                [freeorion.dir]         [freeorionca.dir]
[freeorioncommon.dir]   [freeoriond.dir]        [freeoriongodot.dir]    [freeorionparse.dir]    [freeorionparseobj.dir]
[GG]                    [godot]                 [godot-cpp]             [godot-cpp-build]       [godotcpp-prefix]
[network]               [parse]                 [python]                [Release]               [server]
[test]                  [UI]                    [universe]              [util]                  [Win32]
               0 File(s)              0 bytes
              30 Dir(s)  212,998,410,240 bytes free

Code: Select all

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrionG\build\Release>dir /ad /w
 Volume in drive C is Windows
 Volume Serial Number is XXXX-XXXX

 Directory of C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrionG\build\Release

[.]  [..]
               0 File(s)              0 bytes
               2 Dir(s)  212,998,418,432 bytes free
But even if there were some links to /default it still wouldn't work if all the binary dependencies from the SDK are elsewhere. Can everything just be put into the root repository directory like for the MSVC project files built in the IDE after running bootstrap.bat from the SDK?
Not sure if we need to build Godot executable from sources.
Everything else in the SDK is, so presumably Godot should be as well?

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#79 Post by o01eg »

I've added diagnostic messages to CI and it shows:

Code: Select all

2021-04-18T11:10:57.8187735Z     15>PostBuildEvent:
2021-04-18T11:10:57.8188466Z          -- Link from D:/a/freeorion/freeorion/build/Release/default to D:/a/freeorion/freeorion/default
At the same time it doesn't show if link present in D:\a\freeorion\freeorion\build\Release

Code: Select all

2021-04-18T11:12:03.7627002Z     Directory: D:\a\freeorion\freeorion\build\Release
2021-04-18T11:12:03.7627485Z 
2021-04-18T11:12:03.7628465Z Mode                 LastWriteTime         Length Name
2021-04-18T11:12:03.7629180Z ----                 -------------         ------ ----
2021-04-18T11:12:03.7629958Z -a---           4/18/2021 10:55 AM          50688 boost_date_time.dll
2021-04-18T11:12:03.7632525Z -a---           4/18/2021 10:55 AM         108032 boost_filesystem.dll
2021-04-18T11:12:03.7635796Z -a---           4/18/2021 11:03 AM          76288 boost_iostreams.dll
2021-04-18T11:12:03.7638870Z -a---           4/18/2021 10:55 AM         436224 boost_locale.dll
2021-04-18T11:12:03.7642217Z -a---           4/18/2021 10:55 AM         645632 boost_log.dll
2021-04-18T11:12:03.7645426Z -a---           4/18/2021 10:55 AM         536064 boost_log_setup.dll
2021-04-18T11:12:03.7649088Z -a---           4/18/2021 11:03 AM         208896 boost_python35.dll
2021-04-18T11:12:03.7652365Z -a---           4/18/2021 10:55 AM         684032 boost_regex.dll
2021-04-18T11:12:03.7655299Z -a---           4/18/2021 10:55 AM         210432 boost_serialization.dll
2021-04-18T11:12:03.7658172Z -a---           4/18/2021 10:55 AM          84992 boost_thread.dll
2021-04-18T11:12:03.7661543Z -a---           4/18/2021 10:45 AM         495616 boost_unit_test_framework.dll
2021-04-18T11:12:03.7664516Z -a---           4/18/2021 10:52 AM      112424032 Common.lib
2021-04-18T11:12:03.7667724Z -a---           4/18/2021 10:47 AM        1247516 fo_acceptance_runner.lib
2021-04-18T11:12:03.7670830Z -a---           4/18/2021 10:48 AM         119808 fo_acceptance_text_control.exe
2021-04-18T11:12:03.7673733Z -a---           4/18/2021 10:54 AM        9390592 fo_systemtest_game.exe
2021-04-18T11:12:03.7676723Z -a---           4/18/2021 10:54 AM        2848924 fo_systemtest_game.exp
2021-04-18T11:12:03.7679579Z -a---           4/18/2021 10:54 AM        4778152 fo_systemtest_game.lib
2021-04-18T11:12:03.7682497Z -a---           4/18/2021 11:07 AM        5360640 fo_unittest_parse.exe
2021-04-18T11:12:03.7685360Z -a---           4/18/2021 11:07 AM          26904 fo_unittest_parse.exp
2021-04-18T11:12:03.7688127Z -a---           4/18/2021 11:07 AM          45622 fo_unittest_parse.lib
2021-04-18T11:12:03.7691209Z -a---           4/18/2021 10:42 AM          20992 fo_unittest_util.exe
2021-04-18T11:12:03.7694122Z -a---           4/18/2021 11:12 AM       15093248 FreeOrion.exe
2021-04-18T11:12:03.7697105Z -a---           4/18/2021 11:11 AM        2848895 FreeOrion.exp
2021-04-18T11:12:03.7699907Z -a---           4/18/2021 11:11 AM        4745042 FreeOrion.lib
2021-04-18T11:12:03.7703152Z -a---           4/18/2021 11:04 AM       11021312 FreeOrionCA.exe
2021-04-18T11:12:03.7706091Z -a---           4/18/2021 11:04 AM        2849207 FreeOrionCA.exp
2021-04-18T11:12:03.7709286Z -a---           4/18/2021 11:04 AM        4752664 FreeOrionCA.lib
2021-04-18T11:12:03.7712886Z -a---           4/18/2021 11:02 AM       12823552 FreeOrionD.exe
2021-04-18T11:12:03.7715944Z -a---           4/18/2021 11:02 AM        2883870 FreeOrionD.exp
2021-04-18T11:12:03.7719431Z -a---           4/18/2021 11:02 AM        4807970 FreeOrionD.lib
2021-04-18T11:12:03.7723116Z -a---           4/18/2021 11:09 AM        9812992 freeoriongodot.dll
2021-04-18T11:12:03.7726100Z -a---           4/18/2021 11:09 AM        2849340 freeoriongodot.exp
2021-04-18T11:12:03.7729138Z -a---           4/18/2021 11:09 AM        4764686 freeoriongodot.lib
2021-04-18T11:12:03.7732016Z -a---           4/18/2021 11:12 AM         629760 freetype.dll
2021-04-18T11:12:03.7740007Z -a---           4/18/2021 10:47 AM         100352 gg_unittest.exe
2021-04-18T11:12:03.7742988Z -a---           4/18/2021 10:46 AM        2496000 GiGi.dll
2021-04-18T11:12:03.7745844Z -a---           4/18/2021 10:46 AM         502181 GiGi.exp
2021-04-18T11:12:03.7748736Z -a---           4/18/2021 10:46 AM         813254 GiGi.lib
2021-04-18T11:12:03.7752653Z -a---           4/18/2021 11:12 AM         477184 glew32.dll
2021-04-18T11:12:03.7755589Z -a---           9/17/2020  6:53 AM       72540568 Godot_v3.2.3-stable_win32.exe
2021-04-18T11:12:03.7758405Z -a---           4/18/2021 11:12 AM          36864 libogg.dll
2021-04-18T11:12:03.7761633Z -a---           4/18/2021 11:12 AM         207360 libpng16.dll
2021-04-18T11:12:03.7764550Z -a---           4/18/2021 11:12 AM         825344 libvorbis.dll
2021-04-18T11:12:03.7767936Z -a---           4/18/2021 11:12 AM          50176 libvorbisfile.dll
2021-04-18T11:12:03.7770711Z -a---           4/18/2021 11:12 AM         688640 OpenAL32.dll
2021-04-18T11:12:03.7773797Z -a---           4/18/2021 10:41 AM      109174418 Parsers.lib
2021-04-18T11:12:03.7778868Z -a---           4/18/2021 11:03 AM        2994688 python35.dll
2021-04-18T11:12:03.7781992Z -a---           4/18/2021 11:12 AM        6210909 python35.zip
2021-04-18T11:12:03.7784554Z -a---           4/18/2021 11:12 AM         992256 SDL2.dll
2021-04-18T11:12:03.7787338Z -a---           4/18/2021 11:03 AM         101888 zlib1.dll
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#80 Post by Geoff the Medio »

Is there some other way I should check then?

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#81 Post by o01eg »

Geoff the Medio wrote: Sun Apr 18, 2021 12:24 pm Is there some other way I should check then?
I've add message to show result of mklink command in CI and get next error

Code: Select all

2021-04-18T12:09:42.7463456Z     12>PostBuildEvent:
2021-04-18T12:09:42.8389940Z          -- Mklink result The system cannot find the file specified output  error 
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#82 Post by Geoff the Medio »

So what should I now test?

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#83 Post by o01eg »

Geoff the Medio wrote: Sun Apr 18, 2021 1:05 pm So what should I now test?
Could you try different arguments for mklink in https://github.com/o01eg/freeorion/blob ... #L132-L138

Code: Select all

execute_process(COMMAND mklink /J "${TARGET_NAME}" "${SOURCE_PATH}"
            WORKING_DIRECTORY "${DESTINATION}"
            RESULT_VARIABLE MKLINK_RESULT
            OUTPUT_VARIABLE MKLINK_OUTPUT
            ERROR_VARIABLE MKLINK_ERROR
            ENCODING AUTO
        )
It is very slow to test it in CI as it took 1 hour for single try.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#84 Post by Geoff the Medio »

o01eg wrote: Sun Apr 18, 2021 1:56 pm Could you try different arguments for mklink
What other arguments and should I specify them?

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#85 Post by o01eg »

Could you try to use /d instead of /j?

Could you open console at D:/a/freeorion/freeorion/build/Release and execute command without cmake?

https://docs.microsoft.com/en-us/window ... nds/mklink
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#86 Post by Geoff the Medio »

o01eg wrote: Sun Apr 18, 2021 2:40 pm Could you try to use /d instead of /j?

Could you open console at D:/a/freeorion/freeorion/build/Release and execute command without cmake?

Code: Select all

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release>mklink /d "C:\users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default" "C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\default"
You do not have sufficient privilege to perform this operation.
I guess I could try with an administrator console, but we can't expect people to do that for building in general...

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#87 Post by o01eg »

Is it same for /J ?

What about:

Code: Select all

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release>mklink /j "default" "C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\default"
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13586
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#88 Post by Geoff the Medio »

Code: Select all

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release>mklink /J "C:\users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default" "C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\default"
Junction created for C:\users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default <<===>> C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\default

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release>dir /ad /w
 Volume in drive C is Windows
 Volume Serial Number is 6E60-A146

 Directory of C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release

[.]       [..]      [default]
               0 File(s)              0 bytes
               3 Dir(s)  218,457,382,912 bytes free

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release>cd default

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default>dir /ad /w
 Volume in drive C is Windows
 Volume Serial Number is 6E60-A146

 Directory of C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default

[.]            [..]           [data]         [python]       [scripting]    [shaders]      [stringtables]
               0 File(s)              0 bytes
               7 Dir(s)  218,457,092,096 bytes free

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default>

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#89 Post by o01eg »

Geoff the Medio wrote: Sun Apr 18, 2021 3:32 pm

Code: Select all

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release>mklink /J "C:\users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default" "C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\default"
Junction created for C:\users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default <<===>> C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\default

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release>dir /ad /w
 Volume in drive C is Windows
 Volume Serial Number is 6E60-A146

 Directory of C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release

[.]       [..]      [default]
               0 File(s)              0 bytes
               3 Dir(s)  218,457,382,912 bytes free

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release>cd default

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default>dir /ad /w
 Volume in drive C is Windows
 Volume Serial Number is 6E60-A146

 Directory of C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default

[.]            [..]           [data]         [python]       [scripting]    [shaders]      [stringtables]
               0 File(s)              0 bytes
               7 Dir(s)  218,457,092,096 bytes free

C:\Users\g_top\Desktop\FOSDK11_Godot\FreeOrion\build\Release\default>
Looks good. I will try to check what is wrong with CMake calls mklink.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

o01eg
Programmer
Posts: 1998
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#90 Post by o01eg »

Geoff the Medio wrote: Sun Apr 18, 2021 3:32 pm
Updated build-godot-windows-cmake. Could you try it again?
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-01-30.0dd6806.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

Post Reply