News:

When registered with our forums, feel free to send a "here I am" post here to differ human beings from SPAM bots.

Main Menu

build bot in the github, I see one nice project

Started by ollydbg, August 16, 2024, 03:20:16 PM

Previous topic - Next topic

ollydbg

Quote from: Михаил Агарков on October 16, 2024, 11:27:22 PM
Can this build bot work outside of GitHub (e.g. Gitea Runner, Woodpecker CI)?

Do you know if those CI systems support running msys2 environment, I think they can be used if msys2 is supported.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Grit Clef

#106
Quote from: ollydbg on October 17, 2024, 12:45:45 AM
Quote from: Grit Clef on October 16, 2024, 06:19:43 AM
Now it might work; my hope.

In the latest error message from github action, I see this:

g++.exe -std=gnu++11  -pipe -mthreads -fmessage-length=0 -fexceptions -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DNOPCH -DwxUSE_UNICODE -DBOOST_SYSTEM_NO_DEPRECATED  -I..\..\..\include -I..\..\..\include\tinyxml -I..\..\..\sdk\wxscintilla\include -ID:/msys64/opt/wxwidgets3.2/include -ID:/msys64/opt/wxwidgets3.2/lib\gcc_dll\mswu -ID:/msys64/opt/boost_1_86_0/boost -c CParser.cpp -o ..\\..\\..\\.objs32\\plugins\\contrib\\NassiShneiderman\\CParser.o
CParser.cpp:5:10: fatal error: boost/spirit/include/classic.hpp: No such file or directory
    5 | #include <boost/spirit/include/classic.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
mingw32-make[1]: *** [NassiShneiderman_wx32.cbp.mak:108: ..\\..\\..\\.objs32\\plugins\\contrib\\NassiShneiderman\\CParser.o] Error 1
mingw32-make[1]: Leaving directory 'D:/a/winstyle-codeblocks-bins/winstyle-codeblocks-bins/codeblocks_sfmirror/src/plugins/contrib/NassiShneiderman'
mingw32-make: *** [Makefile_plugins:40: plugins_contrib_nassishneiderman_nassishneiderman_wx32] Error 2
Error: Process completed with exit code 2.


You have already installed the header files from the boost library?
Maybe you need to tweak the compiler search paths of the boost, as I can see that this search path is already included.

D:/msys64/opt/boost_1_86_0/

So, do you have a folder named below?

D:/msys64/opt/boost_1_86_0/boost/spirit/include/classic.hpp

Maybe, as a workaround, you can exclude this plugin from the workspace to makefile generation.
That might be a further problem; now the cland_client still can't be built.

cmd /c "cd src\resources && zip -rq9 ..\..\clangd_client.zip images && cd ..\.."
Microsoft Windows [Version 10.0.20348.2700]
(c) Microsoft Corporation. All rights reserved.

D:\a\winstyle-codeblocks-bins\winstyle-codeblocks-bins\codeblocks_sfmirror\src\plugins\contrib\clangd_client>cmd /c copy ./clangd_client.zip ../../../devel32/share/CodeBlocks/clangd_client.zip
The syntax of the command is incorrect.
mingw32-make[1]: *** [clangd_client_wx32.cbp.mak:63: after_default] Error 1


I found that if you call cmd.exe inside MSYS2, there will be a strange problem; in some cases there're no errors, though. I'm not clear what made that.
-Windows 7, 32-bit
-CodeBlocks r13542, gcc 14.2.0, debug version

ollydbg

I think you can run the mingw32-make.exe inside the cmd.exe shell, not the msys2's shell.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

MichaelAgarkov

#108
I made a repo in codeberg to test if the build bot can work in Woodpecker CI, just need to wait for the repo to get approved to use actions.
https://codeberg.org/MichaelAgarkov/x86-codeblocks-builds

Edit: removed the repo because they didn't respond, if it works on GitHub then it probably will work in any GitHub Actions' compatible CI/CD.

ollydbg

Quote from: Михаил Агарков on October 19, 2024, 09:55:36 AM
I made a repo in codeberg to test if the build bot can work in Woodpecker CI, just need to wait for the repo to get approved to use actions.
https://codeberg.org/MichaelAgarkov/x86-codeblocks-builds

Good work.

Why the repo should "get approved" to use the actions?  :)
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

MichaelAgarkov


Grit Clef

Uhh, you might have used the wrong repository. It is https://github.com/zxunge/winstyle-codeblocks-bins , not the original x86-codeblocks-bins which is successful.
-Windows 7, 32-bit
-CodeBlocks r13542, gcc 14.2.0, debug version

Grit Clef

#112
The fact is, those Makefiles generated by cbp2make are not so perfect that there are lots of bugs in build process. Many plugins can't be built owing to this or that reasons.
One problem I see often is like

...........
xcopy /Y index.ini ..\..\..\output32\share\CodeBlocks\docs
D:index.ini
1 File(s) copied
g++.exe   -Wl,--enable-auto-image-base -Wl,--add-stdcall-alias -Wl,--enable-auto-import  help_plugin.cpp before_help_plugin out_help_plugin after_help_plugin   -o help_plugin
help_plugin.cpp:10:10: fatal error: sdk.h: No such file or directory
   10 | #include "sdk.h"
      |          ^~~~~~~
compilation terminated.
mingw32-make[1]: *** [<builtin>: help_plugin] Error 1
mingw32-make[1]: Leaving directory 'D:/a/winstyle-codeblocks-bins/winstyle-codeblocks-bins/codeblocks_sfmirror/src/plugins/contrib/help_plugin'
mingw32-make: *** [Makefile_plugins:25: plugins_contrib_help_plugin_help_plugin_wx32] Error 2
............

The build commands were polluted, due to unknown reasons. The plugin had been already built, but the linking command was executed again, which was wrong.
-Windows 7, 32-bit
-CodeBlocks r13542, gcc 14.2.0, debug version

ollydbg

Quote from: Grit Clef on October 19, 2024, 12:32:53 PM
The fact is, those Makefiles generated by cbp2make are not so perfect that there are lots of bugs in build process. Many plugins can't be built owing to this or that reasons.
One problem I see often is like

...........
xcopy /Y index.ini ..\..\..\output32\share\CodeBlocks\docs
D:index.ini
1 File(s) copied
g++.exe   -Wl,--enable-auto-image-base -Wl,--add-stdcall-alias -Wl,--enable-auto-import  help_plugin.cpp before_help_plugin out_help_plugin after_help_plugin   -o help_plugin
help_plugin.cpp:10:10: fatal error: sdk.h: No such file or directory
   10 | #include "sdk.h"
      |          ^~~~~~~
compilation terminated.
mingw32-make[1]: *** [<builtin>: help_plugin] Error 1
mingw32-make[1]: Leaving directory 'D:/a/winstyle-codeblocks-bins/winstyle-codeblocks-bins/codeblocks_sfmirror/src/plugins/contrib/help_plugin'
mingw32-make: *** [Makefile_plugins:25: plugins_contrib_help_plugin_help_plugin_wx32] Error 2
............

The build commands were polluted, due to unknown reasons. The plugin had been already built, but the linking command was executed again, which was wrong.

Maybe you can show us the generated makefile? So that the cb2make author or other devs can help on this.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Grit Clef

Hey, does anyone know what packages to install to obtain TeX?

'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
-Windows 7, 32-bit
-CodeBlocks r13542, gcc 14.2.0, debug version

ollydbg

Quote from: Grit Clef on October 19, 2024, 12:48:46 PM
Hey, does anyone know what packages to install to obtain TeX?

'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.


My guess under msys2, it is the texlive package.

Package: mingw-w64-x86_64-texlive-bin - MSYS2 Packages

But please note that this package(group of packages) are huge, I guess it should takes about 4G or 8G bytes size.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Grit Clef

-Windows 7, 32-bit
-CodeBlocks r13542, gcc 14.2.0, debug version

Grit Clef

Another common problem is:

g++.exe -shared  -L..\..\..\devel32 -LD:/msys64/opt/wxwidgets3.2/lib -LD:/msys64/opt/wxwidgets3.2/lib\gcc_dll ..\\..\\..\\.objs32\\plugins\\contrib\\DoxyBlocks\\DoxyBlocksLogger.o ..\\..\\..\\.objs32\\plugins\\contrib\\DoxyBlocks\\ExtractDocs.o ..\\..\\..\\.objs32\\plugins\\contrib\\DoxyBlocks\\AutoDoc.o ..\\..\\..\\.objs32\\plugins\\contrib\\DoxyBlocks\\DoxyBlocks.o
                                                                                     ∧∧∧∧∧∧
..\\..\\..\\.objs32\\plugins\\contrib\\DoxyBlocks\\DoxyBlocks.o ..\\..\\..\\.objs32\\plugins\\contrib\\DoxyBlocks\\ConfigPanel.o ..\\..\\..\\.objs32\\plugins\\contrib\\DoxyBlocks\\Config.o  -o ..\\..\\..\\devel32\\share\\CodeBlocks\\plugins\\DoxyBlocks.dll  -Wl,--enable-auto-import -mthreads  -lcodeblocks -lwxmsw32u
D:/msys64/opt/mingw32/bin/../lib/gcc/i686-w64-mingw32/14.2.0/../../../../i686-w64-mingw32/bin/ld.exe: ..\..\..\.objs32\plugins\contrib\DoxyBlocks\DoxyBlocks.o:DoxyBlocks.cpp:(.text+0x0): multiple definition of `DoxyBlocks::GetEventTable() const'; ..\..\..\.objs32\plugins\contrib\DoxyBlocks\DoxyBlocks.o:DoxyBlocks.cpp:(.text+0x0): first defined here
D:/msys64/opt/mingw32/bin/../lib/gcc/i686-w64-mingw32/14.2.0/../../../../i686-w64-mingw32/bin/ld.exe: ..\..\..\.objs32\plugins\contrib\DoxyBlocks\DoxyBlocks.o:DoxyBlocks.cpp:(.text+0x10): multiple definition of `DoxyBlocks::GetEventHashTable() const'; ..\..\..\.objs32\plugins\contrib\DoxyBlocks\DoxyBlocks.o:DoxyBlocks.cpp:(.text+0x10): first defined here
...........

There are multiple same object files provided.
-Windows 7, 32-bit
-CodeBlocks r13542, gcc 14.2.0, debug version

Grit Clef

Quote from: ollydbg on October 19, 2024, 12:56:19 PM
Quote from: Grit Clef on October 19, 2024, 12:48:46 PM
Hey, does anyone know what packages to install to obtain TeX?

'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.
error: Problems running epstopdf. Check your TeX installation!
'epstopdf' is not recognized as an internal or external command,
operable program or batch file.


My guess under msys2, it is the texlive package.

Package: mingw-w64-x86_64-texlive-bin - MSYS2 Packages

But please note that this package(group of packages) are huge, I guess it should takes about 4G or 8G bytes size.
No, there's no 'epstopdf' in those packages; but an 'epspdf'. However, doxygen needs 'epstopdf'.
-Windows 7, 32-bit
-CodeBlocks r13542, gcc 14.2.0, debug version

stahta01

#119
$ pacman -Qo /mingw64/bin/repstopdf.exe
/mingw64/bin/repstopdf.exe is owned by mingw-w64-x86_64-texlive-core 2023.20230404-1


Some places use "repstopdf" instead of "epstopdf"

Edit: But, it did not work for me.
C:\msys64\mingw64\bin\runscript.tlu:922: C:\msys64\mingw64\bin\runscript.tlu:853: no appropriate script or program found
: epstopdf


${MINGW_PACKAGE_PREFIX}-ghostscript should have missing scripts.

But, I still could not find script

Tim S.
C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]