eranif / codelite

A multi purpose IDE specialized in C/C++/Rust/Python/PHP and Node.js. Written in C++
https://codelite.org
GNU General Public License v2.0
2.09k stars 448 forks source link

[Bug]: build failure on freebsd #3277

Closed sss123next closed 8 months ago

sss123next commented 8 months ago

What happened?

[ 18%] Building CXX object sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/src/wx_pch.cpp.o
cd /tmp/ports/data/ports/editors/codelite-devel/work/.build/sdk/wxshapeframework && ccache /usr/local/bin/clang++16 -DGTK_USE_NATIVEBOOK=1 -DINSTALL_DIR=\"/usr/local/share/codelite\" -DNDEBUG -DPLUGINS_DIR=\"/usr/local/lib/codelite\" -DUSE_SFTP=1 -DUSE_UCHARDET=1 -DWXUSINGDLL -DYY_NEVER_INTERACTIVE=1 -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__WXGTK__ -DwxUSE_GUI=1 -Dwxshapeframework_EXPORTS -I/usr/local/include/gtk-3.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/atk-1.0 -I/usr/local/include/uchardet -I/tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/dtl -I/tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/sdk/wxshapeframework/include -I/tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/sdk/wxshapeframework/src -isystem /usr/local/lib/wx/include/gtk3-unicode-3.3 -isystem /usr/local/include/wx-3.3 -O2 -pipe -D_FORTIFY_SOURCE=2 -mretpoline -O2 -maes -mavx -mssse3 -msse4.2 -pipe -DSTRIP_FBSDID -DNDEBUG -I/usr/local/include/harfbuzz -pipe -isystem /usr/local/include -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -mretpoline -O2 -DSTRIP_FBSDID -maes -mavx -mssse3 -msse4.2 -pipe  -isystem /usr/local/include -isystem /usr/include/harfbuzz -pthread -fPIC -fPIC -std=c++17 -MD -MT sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/src/wx_pch.cpp.o -MF CMakeFiles/wxshapeframework.dir/src/wx_pch.cpp.o.d -o CMakeFiles/wxshapeframework.dir/src/wx_pch.cpp.o -c /tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/sdk/wxshapeframework/src/wx_pch.cpp
--- sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/src/ShapeCanvas.cpp.o ---
/tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/sdk/wxshapeframework/src/ShapeCanvas.cpp:3228:48: error: conversion from 'std::nullptr_t' to 'const wxString' is ambiguous
                                                if( lstParentsToUpdate.Find( parent ) == NULL ) lstParentsToUpdate.Append( parent );
                                                                                         ^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
/usr/local/include/wx-3.3/wx/string.h:1162:3: note: candidate constructor
  wxString(const char *psz)
  ^
/usr/local/include/wx-3.3/wx/string.h:1179:3: note: candidate constructor
  wxString(const unsigned char *psz)
  ^
/usr/local/include/wx-3.3/wx/string.h:1195:3: note: candidate constructor
  wxString(const wchar_t *pwz)
  ^
1 error generated.
*** [sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/src/ShapeCanvas.cpp.o] Error code 1

make[4]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
1 error

make[4]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
*** [sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/all] Error code 2

make[3]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
1 error

make[3]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
*** [all] Error code 2

make[2]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
1 error

make[2]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /data/ports/editors/codelite-devel
*** Error code 1

Stop.
make: stopped in /data/ports/editors/codelite-devel

Version

Self compiled

Operating system

Other

Steps to reproduce

try to compile on freebsd os

Relevant log output

[ 18%] Building CXX object sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/src/wx_pch.cpp.o
cd /tmp/ports/data/ports/editors/codelite-devel/work/.build/sdk/wxshapeframework && ccache /usr/local/bin/clang++16 -DGTK_USE_NATIVEBOOK=1 -DINSTALL_DIR=\"/usr/local/share/codelite\" -DNDEBUG -DPLUGINS_DIR=\"/usr/local/lib/codelite\" -DUSE_SFTP=1 -DUSE_UCHARDET=1 -DWXUSINGDLL -DYY_NEVER_INTERACTIVE=1 -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__WXGTK__ -DwxUSE_GUI=1 -Dwxshapeframework_EXPORTS -I/usr/local/include/gtk-3.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/atk-1.0 -I/usr/local/include/uchardet -I/tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/dtl -I/tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/sdk/wxshapeframework/include -I/tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/sdk/wxshapeframework/src -isystem /usr/local/lib/wx/include/gtk3-unicode-3.3 -isystem /usr/local/include/wx-3.3 -O2 -pipe -D_FORTIFY_SOURCE=2 -mretpoline -O2 -maes -mavx -mssse3 -msse4.2 -pipe -DSTRIP_FBSDID -DNDEBUG -I/usr/local/include/harfbuzz -pipe -isystem /usr/local/include -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -mretpoline -O2 -DSTRIP_FBSDID -maes -mavx -mssse3 -msse4.2 -pipe  -isystem /usr/local/include -isystem /usr/include/harfbuzz -pthread -fPIC -fPIC -std=c++17 -MD -MT sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/src/wx_pch.cpp.o -MF CMakeFiles/wxshapeframework.dir/src/wx_pch.cpp.o.d -o CMakeFiles/wxshapeframework.dir/src/wx_pch.cpp.o -c /tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/sdk/wxshapeframework/src/wx_pch.cpp
--- sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/src/ShapeCanvas.cpp.o ---
/tmp/ports/data/ports/editors/codelite-devel/work/codelite-635cbbbdf2ae81c916f591a341a45e3ca0cdc87e/sdk/wxshapeframework/src/ShapeCanvas.cpp:3228:48: error: conversion from 'std::nullptr_t' to 'const wxString' is ambiguous
                                                if( lstParentsToUpdate.Find( parent ) == NULL ) lstParentsToUpdate.Append( parent );
                                                                                         ^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
/usr/local/include/wx-3.3/wx/string.h:1162:3: note: candidate constructor
  wxString(const char *psz)
  ^
/usr/local/include/wx-3.3/wx/string.h:1179:3: note: candidate constructor
  wxString(const unsigned char *psz)
  ^
/usr/local/include/wx-3.3/wx/string.h:1195:3: note: candidate constructor
  wxString(const wchar_t *pwz)
  ^
1 error generated.
*** [sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/src/ShapeCanvas.cpp.o] Error code 1

make[4]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
1 error

make[4]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
*** [sdk/wxshapeframework/CMakeFiles/wxshapeframework.dir/all] Error code 2

make[3]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
1 error

make[3]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
*** [all] Error code 2

make[2]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
1 error

make[2]: stopped in /data/tmp/ports/data/ports/editors/codelite-devel/work/.build
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /data/ports/editors/codelite-devel
*** Error code 1

Stop.
make: stopped in /data/ports/editors/codelite-devel
sss123next commented 8 months ago

as quick and maybe wrong fix i have replaced (expression) == NULL to !(expression) and it compiled fine, but you should check if this is acceptable here

eranif commented 8 months ago

Actually, the correct fix is to remove this entire framework (wxShapedFramework) which is not really used by CodeLite. You workaround is also good (for now)

A PR will be awesome :)