Ethereum Build Error: Unknown Iconize Event Issue
The error you’re experiencing with 0.4.0rc1 on Ubuntu indicates that the Ethereum project is encountering an issue during the build process, specifically related to the ui.cpp file in the CMainFrame class. The warning suggests that there may be a problem with the wxIconizeEvent object.
Causes of the Issue:
- Missing or incorrect header files: Ethereum’s
ui.cppfile uses the Windows API (Win32) functions for iconizing, such asSetIconImageandDestroyIconImage. However, Ubuntu does not provide a native Windows API equivalent. This may lead to missing or incorrect header files.
- Missing or corrupted library dependencies: Ethereum’s build process relies on various libraries, including
wxWidgets(a cross-platform GUI toolkit). However, it’s possible that these libraries are not properly linked or installed on Ubuntu.
Workarounds and Solutions:
- Manually install the Windows API headers

: You can download the necessary headers for the Windows API from [Microsoft’s Developer Community]( Extract them to a directory, such as
/usr/include, and add it to your system’s include path.
- Install
wxWidgetswith the Ubuntu package manager: You can use the following command in the terminal to installwxWidgets:
sudo apt update
sudo apt install wxwidgets
- Configure Ethereum’s build process: Make sure that you have updated your
CMAKE_BUILD_TYPEvariable to match the desired configuration (e.g., release, debug). You can do this in theMakefile.unixfile:
if [ "$CMAKE_BUILD_TYPE" = "Release" ]; then
CMAKE_CXX_FLAGS -=Wl,-static-libgdi
else
CMAKE_CXX_FLAGS +=-Wl,--static-libgdi
endif
- Manually link against the
wxWidgetslibrary: You can modify theCMAKE_LINKERvariable in theMakefile.unixfile to manually specify the linking flags for thewxWidgetslibrary:
CMAKE_LINKER = $(LD) -lwxgtk-3.0 -static-libgdi -lgdi32
- Rebuild Ethereum with the updated build process: Once you’ve made the necessary changes to your
Makefile.unixfile, rebuild Ethereum using the following command:
make -f makefile.unix
Additional Tips:
- Make sure that your Ubuntu installation is up-to-date and compatible with the latest versions of the packages required by Ethereum.
- If you’re experiencing issues during build or runtime, consider creating a new build environment to isolate the problem.
By following these steps and troubleshooting strategies, you should be able to resolve the issue causing the ui.cpp error in 0.4.0rc1 on Ubuntu.
Aaradhya Textile Industry