Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

build bot in the github, I see one nice project

<< < (15/26) > >>

ollydbg:
I searched all the usage of PLUGIN_EXPORT in our source code base, and I see the only usage of the PLUGIN_EXPORT is in the wxSmith, such as:

"class PLUGIN_EXPORT wxsAdvQPP : public wxsQuickPropsPanel"

Basically, I think the other plugin just export all the symbols of the classes and functions. While, for wxsmith, only a limited symbols will be exported (because we can only exported the symbols with "__declspec (dllexport)").

So, when you define the "EXPORT_LIB", you add the "__declspec (dllexport)" to that symbol.

But export all the symbols of the whole dll is not a good idea, because not every symbol should be exported, and the total symbols resolution take extra time for the dll loader.

If I remember correctly, under wxWidgets, the dll only export a limited number of symbols, and it also reduce the dll size.

ollydbg:
I have applied Tim's all patches in my git repo: https://github.com/asmwarrior/codeblocks_sfmirror

and when building the C::B, it looks OK.

But when I run the "mv" command, it failed in this line:


--- Code: ---./bootstrap
./configure --disable-pch --with-contrib-plugins=all,-Valgrind --prefix=/opt/codeblocks
make -j$(nproc) install
mv /opt/codeblocks/lib/codeblocks/bin/*.dll /opt/codeblocks/bin/
mv /opt/codeblocks/lib/*.dll /opt/codeblocks/bin/

--- End code ---


--- Code: ---2024-09-26T12:43:53.9461424Z + mv /opt/codeblocks/lib/codeblocks/bin/libwxchartctrl-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxcustombutton-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxflatnotebook-0.dll /opt/codeblocks/lib/codeblocks/bin/libwximagepanel-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxkwic-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxled-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxmathplot-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxspeedbutton-0.dll /opt/codeblocks/bin/
2024-09-26T12:43:53.9636034Z + mv '/opt/codeblocks/lib/*.dll' /opt/codeblocks/bin/
2024-09-26T12:43:53.9781662Z mv: cannot stat '/opt/codeblocks/lib/*.dll': No such file or directory
2024-09-26T12:43:53.9845301Z ##[error]Process completed with exit code 1.

--- End code ---

It looks like there is no file: /opt/codeblocks/lib/*.dll

@Grit Clef
Maybe, this mv line should be removed?

stahta01:

--- Quote from: ollydbg on September 26, 2024, 03:18:53 pm ---I have applied Tim's all patches in my git repo: https://github.com/asmwarrior/codeblocks_sfmirror

and when building the C::B, it looks OK.

But when I run the "mv" command, it failed in this line:


--- Code: ---./bootstrap
./configure --disable-pch --with-contrib-plugins=all,-Valgrind --prefix=/opt/codeblocks
make -j$(nproc) install
mv /opt/codeblocks/lib/codeblocks/bin/*.dll /opt/codeblocks/bin/
mv /opt/codeblocks/lib/*.dll /opt/codeblocks/bin/

--- End code ---


--- Code: ---2024-09-26T12:43:53.9461424Z + mv /opt/codeblocks/lib/codeblocks/bin/libwxchartctrl-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxcustombutton-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxflatnotebook-0.dll /opt/codeblocks/lib/codeblocks/bin/libwximagepanel-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxkwic-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxled-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxmathplot-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxspeedbutton-0.dll /opt/codeblocks/bin/
2024-09-26T12:43:53.9636034Z + mv '/opt/codeblocks/lib/*.dll' /opt/codeblocks/bin/
2024-09-26T12:43:53.9781662Z mv: cannot stat '/opt/codeblocks/lib/*.dll': No such file or directory
2024-09-26T12:43:53.9845301Z ##[error]Process completed with exit code 1.

--- End code ---

It looks like there is no file: /opt/codeblocks/lib/*.dll

@Grit Clef
Maybe, this mv line should be removed?

--- End quote ---

I think you likely had an wxContribItems build error because memory says that is what plugin has dlls in that place.
Edit: Looks like your dlls went to a different place; so, removing it should be okay. Unless that is the location for the wxsmith dll.
Edit2: Find where the "libwxsmithlib.dll" is located because I think it should be in that location.

Tim S.

ollydbg:

--- Quote from: stahta01 on September 26, 2024, 04:39:46 pm ---
--- Quote from: ollydbg on September 26, 2024, 03:18:53 pm ---I have applied Tim's all patches in my git repo: https://github.com/asmwarrior/codeblocks_sfmirror

and when building the C::B, it looks OK.

But when I run the "mv" command, it failed in this line:


--- Code: ---./bootstrap
./configure --disable-pch --with-contrib-plugins=all,-Valgrind --prefix=/opt/codeblocks
make -j$(nproc) install
mv /opt/codeblocks/lib/codeblocks/bin/*.dll /opt/codeblocks/bin/
mv /opt/codeblocks/lib/*.dll /opt/codeblocks/bin/

--- End code ---


--- Code: ---2024-09-26T12:43:53.9461424Z + mv /opt/codeblocks/lib/codeblocks/bin/libwxchartctrl-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxcustombutton-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxflatnotebook-0.dll /opt/codeblocks/lib/codeblocks/bin/libwximagepanel-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxkwic-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxled-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxmathplot-0.dll /opt/codeblocks/lib/codeblocks/bin/libwxspeedbutton-0.dll /opt/codeblocks/bin/
2024-09-26T12:43:53.9636034Z + mv '/opt/codeblocks/lib/*.dll' /opt/codeblocks/bin/
2024-09-26T12:43:53.9781662Z mv: cannot stat '/opt/codeblocks/lib/*.dll': No such file or directory
2024-09-26T12:43:53.9845301Z ##[error]Process completed with exit code 1.

--- End code ---

It looks like there is no file: /opt/codeblocks/lib/*.dll

@Grit Clef
Maybe, this mv line should be removed?

--- End quote ---

I think you likely had an wxContribItems build error because memory says that is what plugin has dlls in that place.
Edit: Looks like your dlls went to a different place; so, removing it should be okay. Unless that is the location for the wxsmith dll.
Edit2: Find where the "libwxsmithlib.dll" is located because I think it should be in that location.

Tim S.

--- End quote ---

Thanks.

I see the "libwxsmithlib.dll" (actually the name is libwxsmithlib-0.dll) is not in the lib folder, but in the bin folder, see the log below:


--- Code: ---Line 8135: 2024-09-26T12:40:09.5700956Z libtool: install:  /usr/bin/install -c .libs/libwxsmithlib-0.dll /opt/codeblocks/lib/../bin/libwxsmithlib-0.dll
--- End code ---

So, I just comment out the second "mv" command, and run the github action again.

BTW:


--- Quote ---I think you likely had an wxContribItems build error because memory says that is what plugin has dlls in that place.
--- End quote ---

I don't think there is a build error.  :)


EDIT:

It looks like removing the second "mv" command solved the github action failure.

Grit Clef:

--- Quote from: ollydbg on September 25, 2024, 04:12:44 am ---Well, I see your patch's content is too large, and I apply it locally, and I see only two line changes:

see below:


--- Code: ---diff --git a/src/plugins/contrib/wxSmith/Makefile.am b/src/plugins/contrib/wxSmith/Makefile.am
index 38262bf..dfe9df2 100644
--- a/src/plugins/contrib/wxSmith/Makefile.am
+++ b/src/plugins/contrib/wxSmith/Makefile.am
@@ -7,7 +7,7 @@ AM_CPPFLAGS = $(WX_CXXFLAGS) \
 
 lib_LTLIBRARIES = libwxsmithlib.la
 
-libwxsmithlib_la_LDFLAGS = -version-info 0:1:0 -shared
+libwxsmithlib_la_LDFLAGS = @MODULE_SHARED_LDFLAGS@ -version-info 0:1:0 -no-undefined -avoid-version
 
 libwxsmithlib_la_LIBADD = ../../../sdk/libcodeblocks.la \
  properties/libwxsmith_properties.la \


--- End code ---

I think this is exactly the patch file in msys2 here:

https://github.com/msys2/MINGW-packages/blob/f47229e160e1f31f24fdc6142be7b4df99b1a4c3/mingw-w64-codeblocks/001-makefile-wxsmith-add-no-undefined.patch

Another change line is here:


--- Code: ---diff --git a/src/src/Makefile.am b/src/src/Makefile.am
index 49d5dd9..d59889b 100644
--- a/src/src/Makefile.am
+++ b/src/src/Makefile.am
@@ -75,7 +75,7 @@ codeblocks_LDADD += resources.$(OBJEXT) -lexchndl -lcomctl32
 codeblocks_DEPENDENCIES = resources.$(OBJEXT)
 codeblocks_SOURCES += associations.cpp
 resources.$(OBJEXT): resources/resources.rc resources/amd64_dpi_aware_on.manifest
- $(WINDRES) $(WX_CXXFLAGS) -DcbDPI_AWARE_ON --include-dir $(top_srcdir)/src $< $@
+ $(WINDRES) $(WX_CPPFLAGS) -DcbDPI_AWARE_ON --include-dir $(top_srcdir)/src $< $@
 endif
 
 noinst_HEADERS = app.h \

--- End code ---

This is the command line option you changed for compiling the resource rc file. I don't see a similar patch in msys2's codeblocks folder:
https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-codeblocks

Another patch I see is here:
https://github.com/msys2/MINGW-packages/blob/f47229e160e1f31f24fdc6142be7b4df99b1a4c3/mingw-w64-codeblocks/005-codeblocks-plugin-fix.patch


--- Code: ------ a/src/sdk/configmanager.cpp (revision 13538)
+++ b/src/sdk/configmanager.cpp (working copy)
@@ -1497,7 +1497,7 @@
     if (plugin_path_global.IsEmpty())
     {
         if (platform::windows)
-            ConfigManager::plugin_path_global = app_path + _T("/../lib/codeblocks/plugins");
+            ConfigManager::plugin_path_global = app_path + _T("\\..\\lib\\codeblocks\\plugins");
         else if (platform::macosx)
             ConfigManager::plugin_path_global = data_path_global + _T("/plugins");
         else

--- End code ---

@Tim, can you say something about this code change? If we don't change this, what will happen? I don't see this code change in my github action's code.

Thanks.

--- End quote ---

The patch is intended to solve some problems on building, especially when building a 32bit codeblocks. I have tried those patches, like those in msys2, but git always gives me an error. So, I added the all-in-one patch to my repository.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version