Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
build bot in the github, I see one nice project
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