Bug 222990 - devel/codeblocks need to move math.h above local header files on base/stable/11 r324443
Summary: devel/codeblocks need to move math.h above local header files on base/stable/...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-13 18:41 UTC by Trond Endrestøl
Modified: 2018-01-02 17:23 UTC (History)
1 user (show)

See Also:
lbartoletti: maintainer-feedback-


Attachments
Patch for src/sdk/scripting/squirrel/sqvm.cpp (358 bytes, patch)
2017-10-13 18:41 UTC, Trond Endrestøl
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Trond Endrestøl 2017-10-13 18:41:11 UTC
Created attachment 187147 [details]
Patch for src/sdk/scripting/squirrel/sqvm.cpp

===>  License GPLv3 LGPL3 accepted by the user
===>   codeblocks-16.01_8 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by codeblocks-16.01_8 for building
===>  Extracting for codeblocks-16.01_8
=> SHA256 Checksum OK for codeblocks_16.01.tar.gz.
===>  Patching for codeblocks-16.01_8
===>  Applying FreeBSD patches for codeblocks-16.01_8
===>   codeblocks-16.01_8 depends on executable: zip - found
===>   codeblocks-16.01_8 depends on executable: autoconf-2.69 - found
===>   codeblocks-16.01_8 depends on executable: autoheader-2.69 - found
===>   codeblocks-16.01_8 depends on executable: autoreconf-2.69 - found
===>   codeblocks-16.01_8 depends on executable: aclocal-1.15 - found
===>   codeblocks-16.01_8 depends on executable: automake-1.15 - found
===>   codeblocks-16.01_8 depends on executable: libtoolize - found
===>   codeblocks-16.01_8 depends on executable: update-desktop-database - found
===>   codeblocks-16.01_8 depends on package: pkgconf>=1.3.0_1 - found
===>   codeblocks-16.01_8 depends on executable: update-mime-database - found
===>   codeblocks-16.01_8 depends on executable: gtk-update-icon-cache - found
===>   codeblocks-16.01_8 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found
===>   codeblocks-16.01_8 depends on shared library: libboost_system.so - found (/usr/local/lib/libboost_system.so)
===>   codeblocks-16.01_8 depends on shared library: libfontconfig.so - found (/usr/local/lib/libfontconfig.so)
===>   codeblocks-16.01_8 depends on shared library: libfreetype.so - found (/usr/local/lib/libfreetype.so)
===>   codeblocks-16.01_8 depends on shared library: libhunspell-1.6.so - found (/usr/local/lib/libhunspell-1.6.so)
===>   codeblocks-16.01_8 depends on shared library: libfam.so.0 - found (/usr/local/lib/libfam.so.0)
===>   codeblocks-16.01_8 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>   codeblocks-16.01_8 depends on shared library: libatk-1.0.so - found (/usr/local/lib/libatk-1.0.so)
===>   codeblocks-16.01_8 depends on shared library: libcairo.so - found (/usr/local/lib/libcairo.so)
===>   codeblocks-16.01_8 depends on shared library: libgdk_pixbuf-2.0.so - found (/usr/local/lib/libgdk_pixbuf-2.0.so)
===>   codeblocks-16.01_8 depends on shared library: libglib-2.0.so - found (/usr/local/lib/libglib-2.0.so)
===>   codeblocks-16.01_8 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>   codeblocks-16.01_8 depends on shared library: libgtk-x11-2.0.so - found (/usr/local/lib/libgtk-x11-2.0.so)
===>   codeblocks-16.01_8 depends on shared library: libpango-1.0.so - found (/usr/local/lib/libpango-1.0.so)
===>   codeblocks-16.01_8 depends on shared library: libwx_baseu-2.8.so - found (/usr/local/lib/libwx_baseu-2.8.so)
===>  Configuring for codeblocks-16.01_8

...

===>  Building for codeblocks-16.01_8
--- all-recursive ---
Making all in src

...

--- sqvm.lo ---
depbase=`echo sqvm.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; /bin/sh ../../../../libtool  --tag=CXX    --mode=compile c++ -DHAVE_CONFIG_H  -I. -I../../../../src/include  -I../../../../src/include/scripting/include  -I../../../../src/include/scripting/squirrel -isystem /usr/local/include -ansi -DTIXML_USE_STL   -O2 -ffast-math -DCB_AUTOCONF -O2 -pipe -fno-omit-frame-pointer  -fstack-protector -isystem /usr/local/include -fno-strict-aliasing  -Wno-undefined-bool-conversion -isystem /usr/local/include -std=c++11  -fPIC -DPIC -fexceptions -MT sqvm.lo -MD -MP -MF $depbase.Tpo -c -o sqvm.lo sqvm.cpp && mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../src/include/scripting/include -I../../../../src/include/scripting/squirrel -isystem /usr/local/include -ansi -DTIXML_USE_STL -O2 -ffast-math -DCB_AUTOCONF -O2 -pipe -fno-omit-frame-pointer -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -Wno-undefined-bool-conversion -isystem /usr/local/include -std=c++11 -fPIC -DPIC -fexceptions -MT sqvm.lo -MD -MP -MF .deps/sqvm.Tpo -c sqvm.cpp  -fPIC -DPIC -o .libs/sqvm.o
--- sqvm.lo ---
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:148:85: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return type();}
                                                                                    ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:148:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:149:85: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
                                                                                    ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:149:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:150:88: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return type();}
                                                                                       ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:150:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:159:89: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return type();}
                                                                                        ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:159:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:160:93: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return type();}
                                                                                            ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:160:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:172:90: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type();}
                                                                                         ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:172:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:173:91: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type();}
                                                                                          ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:173:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:174:95: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type();}
                                                                                              ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:174:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:175:92: error: expected expression
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return type();}
                                                                                           ^
../../../../src/include/scripting/squirrel/sqobject.h:99:24: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                       ^
In file included from sqvm.cpp:5:
In file included from /usr/include/c++/v1/math.h:310:
/usr/include/c++/v1/limits:175:61: error: no return statement in constexpr function
    _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {return type();}
                                                            ^
/usr/include/c++/v1/limits:206:53: error: member reference base type 'int' is not a structure or union
    static _LIBCPP_CONSTEXPR const bool is_signed = type(-1) < type(0);
                                                    ^~~~~~~~
../../../../src/include/scripting/squirrel/sqobject.h:99:25: note: expanded from macro 'type'
#define type(obj) ((obj)._type)
                   ~~~~~^~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
--- sqtable.lo ---
libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../src/include/scripting/include -I../../../../src/include/scripting/squirrel -isystem /usr/local/include -ansi -DTIXML_USE_STL -O2 -ffast-math -DCB_AUTOCONF -O2 -pipe -fno-omit-frame-pointer -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -Wno-undefined-bool-conversion -isystem /usr/local/include -std=c++11 -fPIC -DPIC -fexceptions -MT sqtable.lo -MD -MP -MF .deps/sqtable.Tpo -c sqtable.cpp  -fPIC -DPIC -o .libs/sqtable.o
--- sqbaselib.lo ---
depbase=`echo sqbaselib.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; /bin/sh ../../../../libtool  --tag=CXX    --mode=compile c++ -DHAVE_CONFIG_H  -I. -I../../../../src/include  -I../../../../src/include/scripting/include  -I../../../../src/include/scripting/squirrel -isystem /usr/local/include -ansi -DTIXML_USE_STL   -O2 -ffast-math -DCB_AUTOCONF -O2 -pipe -fno-omit-frame-pointer  -fstack-protector -isystem /usr/local/include -fno-strict-aliasing  -Wno-undefined-bool-conversion -isystem /usr/local/include -std=c++11  -fPIC -DPIC -fexceptions -MT sqbaselib.lo -MD -MP -MF $depbase.Tpo -c -o sqbaselib.lo sqbaselib.cpp && mv -f $depbase.Tpo $depbase.Plo
--- sqvm.lo ---
20 errors generated.
*** [sqvm.lo] Error code 1

make[5]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release/src/sdk/scripting/squirrel
--- sqbaselib.lo ---
libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../src/include/scripting/include -I../../../../src/include/scripting/squirrel -isystem /usr/local/include -ansi -DTIXML_USE_STL -O2 -ffast-math -DCB_AUTOCONF -O2 -pipe -fno-omit-frame-pointer -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -Wno-undefined-bool-conversion -isystem /usr/local/include -std=c++11 -fPIC -DPIC -fexceptions -MT sqbaselib.lo -MD -MP -MF .deps/sqbaselib.Tpo -c sqbaselib.cpp  -fPIC -DPIC -o .libs/sqbaselib.o
1 error

make[5]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release/src/sdk/scripting/squirrel
*** [all-recursive] Error code 1

make[4]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release/src/sdk/scripting
1 error

make[4]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release/src/sdk/scripting
*** [all-recursive] Error code 1

make[3]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release/src/sdk
1 error

make[3]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release/src/sdk
*** [all-recursive] Error code 1

make[2]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release/src
1 error

make[2]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release/src
*** [all-recursive] Error code 1

make[1]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release
1 error

make[1]: stopped in /usr/ports/workdirs/usr/ports/devel/codeblocks/work/codeblocks-16.01.release
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/codeblocks

Fixed by move #include <math.h> above #include "sqpcheader.h".
Comment 1 Trond Endrestøl 2017-10-13 20:19:02 UTC
The executable still won't run:

$ codeblocks
Starting Code::Blocks Release 16.01  rev 10692 Oct 13 2017, 03:37:14 - wx2.8.12 (FreeBSD, unicode) - 64 bit
Initialize EditColourSet .....
Initialize EditColourSet: done.
Abort trap
# echo $?
134
# 

wxWidgets is sadly riddled with misceptions such as converting references to pointers and comparing said pointers to nullptr, etc. It's actually so old code it still refers to NULL. Maybe wxWidgets and Code::Blocks should be compiled with an old and forgiving compiler.
Comment 2 Loïc Bartoletti freebsd_committer freebsd_triage 2017-10-13 21:23:29 UTC
Hi,

If it doesn't run, I will not check it.

I have prepare the futur with codeblocks-devel #221703 which runs.

Regards
Comment 3 Trond Endrestøl 2017-10-14 07:32:23 UTC
(In reply to lbartoletti from comment #2)
That sounds good. I'm looking forward to having Code::Blocks work properly on FreeBSD.
Comment 4 Loïc Bartoletti freebsd_committer freebsd_triage 2018-01-02 06:07:40 UTC
See bug #224835, a new version of codeblocks is released.
Comment 5 Trond Endrestøl 2018-01-02 17:23:33 UTC
New version 17.12 fixes whatever was wrong with 16.01.