kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #34189
Re: kicad compile error on FreeBSD
-
To:
<kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
From:
Maciej Suminski <maciej.suminski@xxxxxxx>
-
Date:
Fri, 23 Feb 2018 00:53:19 +0100
-
Authentication-results:
spf=pass (sender IP is 188.184.36.46) smtp.mailfrom=cern.ch; lists.launchpad.net; dkim=none (message not signed) header.d=none;lists.launchpad.net; dmarc=bestguesspass action=none header.from=cern.ch;
-
In-reply-to:
<67ccb7ae-1075-98e0-c4b8-4a0c78797472@gmail.com>
-
Spamdiagnosticmetadata:
NSPM
-
Spamdiagnosticoutput:
1:99
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2
I am sorry about that. I swear it would not have happened if I got a
single warning message from the compiler, but both clang 4.0.0 and gcc
7.1.1 had merrily compiled the code, so I have not expected such
problems. Thank you for quick reaction Jean-Pierre.
Regards,
Orson
On 02/22/2018 09:33 PM, Wayne Stambaugh wrote:
> This shouldn't have happened. We are not c++14 project. We are c++11
> project until it is deemed safe to move up to the next c++ standard.
> Please be more careful about this.
>
> On 2/22/2018 3:15 PM, Jon Evans wrote:
>> Also broken on MacOS. Hashing of enum types (and therefore using them
>> as unordered_map keys) doesn't work on all compilers until C++14. Patch
>> attached that should fix it (tested on MacOS)
>>
>>
>>
>> On Thu, Feb 22, 2018 at 1:05 PM, Foo Barmann <foo.barmann@xxxxxxxxx
>> <mailto:foo.barmann@xxxxxxxxx>> wrote:
>>
>> Hi,
>> while trying to compile the current kicad sources under FreeBSD
>> 11-stable (compiler is clang 4.0) I get the attached errors:
>>
>> The used WxGtk Packages are:
>> py27-wxPython-common-3.0.2.0_4 GUI toolkit for the Python
>> programming language
>> py27-wxPython30-3.0.2.0_4 GUI toolkit for the Python
>> programming language
>> wx30-gtk2-3.0.2_7 The wxWidgets GUI toolkit with GTK+
>> bindings
>>
>> Error:
>> ...
>> FAILED: common/CMakeFiles/common.dir/confirm.cpp.o
>> /usr/local/libexec/ccache/c++ -DHAVE_STDINT_H -DKICAD_SCRIPTING
>> -DKICAD_SCRIPTING_MODULES -DKICAD_SCRIPTING_WXPYTHON -DWXUSINGDLL
>> -DWX_COMPATIBILITY -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__WXGTK__
>> -Iinclude -Icommon/. -isystem
>> /usr/local/lib/wx/include/gtk2-unicode-3.0 -isystem
>> /usr/local/include/wx-3.0 -Icommon/./dialogs -Icommon/./widgets
>> -Icommon/./dialog_about -I/usr/local/include/cairo
>> -I/usr/local/include/pixman-1 -I/usr/local/include
>> -Icommon/../3d-viewer -Icommon/../pcbnew -Icommon/../polygon -I.
>> -I/usr/local/include/python2.7 -Iscripting -Wall -O2 -pipe
>> -fstack-protector -fno-strict-aliasing --std=c++11
>> -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-source-mirror-2e42d5c0065c2c0b4a537f48fca8746c4f61548a/include
>> -I/usr/local/include -msse -Wno-unused-local-typedefs
>> -Wno-strict-aliasing -pthread -Wshadow -O2 -pipe -fstack-protector
>> -fno-strict-aliasing --std=c++11
>> -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-source-mirror-2e42d5c0065c2c0b4a537f48fca8746c4f61548a/include
>> -I/usr/local/include -msse -fPIC -fvisibility=hidden
>> -fvisibility-inlines-hidden -std=gnu++11 -MD -MT
>> common/CMakeFiles/common.dir/confirm.cpp.o -MF
>> common/CMakeFiles/common.dir/confirm.cpp.o.d -o
>> common/CMakeFiles/common.dir/confirm.cpp.o -c common/confirm.cpp
>> In file included from common/confirm.cpp:30:
>> In file included from /usr/local/include/wx-3.0/wx/stockitem.h:16:
>> In file included from /usr/local/include/wx-3.0/wx/string.h:46:
>> In file included from /usr/local/include/wx-3.0/wx/strvararg.h:22:
>> In file included from /usr/local/include/wx-3.0/wx/unichar.h:15:
>> In file included from /usr/local/include/wx-3.0/wx/stringimpl.h:66:
>> In file included from /usr/include/c++/v1/string:470:
>> In file included from /usr/include/c++/v1/string_view:171:
>> In file included from /usr/include/c++/v1/__string:56:
>> In file included from /usr/include/c++/v1/algorithm:637:
>> /usr/include/c++/v1/type_traits:1474:38: error: implicit
>> instantiation of undefined template 'std::__1::hash<KI_DIALOG::TYPE>'
>> : public integral_constant<bool, __is_empty(_Tp)> {};
>> ^
>> /usr/include/c++/v1/unordered_map:383:18: note: in instantiation of
>> template class 'std::__1::is_empty<std::__1::hash<KI_DIALOG::TYPE>
>> >' requested here
>> bool = is_empty<_Hash>::value &&
>> !__libcpp_is_final<_Hash>::value
>> ^
>> /usr/include/c++/v1/unordered_map:765:13: note: in instantiation of
>> default argument for '__unordered_map_hasher<KI_DIALOG::TYPE,
>> std::__1::__hash_value_type<KI_DIALOG::TYPE, wxString>,
>> std::__1::hash<KI_DIALOG::TYPE> >' required here
>> typedef __unordered_map_hasher<key_type, __value_type, hasher>
>> __hasher;
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> common/confirm.cpp:72:46: note: in instantiation of template class
>> 'std::__1::unordered_map<KI_DIALOG::TYPE, wxString,
>> std::__1::hash<KI_DIALOG::TYPE>,
>> std::__1::equal_to<KI_DIALOG::TYPE>,
>> std::__1::allocator<std::__1::pair<const KI_DIALOG::TYPE, wxString>
>> > >' requested here
>> const std::unordered_map<TYPE, wxString> stdTitle = {
>> ^
>> /usr/include/c++/v1/type_traits:397:50: note: template is declared here
>> template <class _Tp> struct _LIBCPP_TEMPLATE_VIS hash;
>> ^
>> In file included from common/confirm.cpp:35:
>> In file included from include/html_messagebox.h:34:
>> In file included from
>> include/../common/dialogs/dialog_display_info_HTML_base.h:14:
>> In file included from include/dialog_shim.h:29:
>> In file included from include/hashtables.h:103:
>> In file included from /usr/include/c++/v1/unordered_map:369:
>> /usr/include/c++/v1/__hash_table:1952:21: error: called object type
>> 'hasher' (aka 'int') is not a function or function pointer
>> size_t __hash = hash_function()(__k);
>> ^~~~~~~~~~~~~~~
>> /usr/include/c++/v1/__hash_table:1113:16: note: in instantiation of
>> function template specialization
>> 'std::__1::__hash_table<std::__1::__hash_value_type<KI_DIALOG::TYPE,
>> wxString>, int, std::__1::__unordered_map_equal<KI_DIALOG::TYPE,
>> std::__1::__hash_value_type<KI_DIALOG::TYPE, wxString>,
>> std::__1::equal_to<KI_DIALOG::TYPE>, true>,
>> std::__1::allocator<std::__1::__hash_value_type<KI_DIALOG::TYPE,
>> wxString> > >::__emplace_unique_key_args<KI_DIALOG::TYPE, const
>> std::__1::pair<const KI_DIALOG::TYPE, wxString> &>' requested here
>> return __emplace_unique_key_args(_NodeTypes::__get_key(__x),
>> __x);
>> ^
>> /usr/include/c++/v1/unordered_map:1414:18: note: in instantiation of
>> member function
>> 'std::__1::__hash_table<std::__1::__hash_value_type<KI_DIALOG::TYPE,
>> wxString>, int, std::__1::__unordered_map_equal<KI_DIALOG::TYPE,
>> std::__1::__hash_value_type<KI_DIALOG::TYPE, wxString>,
>> std::__1::equal_to<KI_DIALOG::TYPE>, true>,
>> std::__1::allocator<std::__1::__hash_value_type<KI_DIALOG::TYPE,
>> wxString> > >::__insert_unique' requested here
>> __table_.__insert_unique(*__first);
>> ^
>> /usr/include/c++/v1/unordered_map:1332:5: note: in instantiation of
>> function template specialization
>> 'std::__1::unordered_map<KI_DIALOG::TYPE, wxString,
>> std::__1::hash<KI_DIALOG::TYPE>,
>> std::__1::equal_to<KI_DIALOG::TYPE>,
>> std::__1::allocator<std::__1::pair<const KI_DIALOG::TYPE, wxString>
>> > >::insert<const std::__1::pair<const KI_DIALOG::TYPE, wxString>
>> *>' requested here
>> insert(__il.begin(), __il.end());
>> ^
>> common/confirm.cpp:77:53: note: in instantiation of member function
>> 'std::__1::unordered_map<KI_DIALOG::TYPE, wxString,
>> std::__1::hash<KI_DIALOG::TYPE>,
>> std::__1::equal_to<KI_DIALOG::TYPE>,
>> std::__1::allocator<std::__1::pair<const KI_DIALOG::TYPE, wxString>
>> > >::unordered_map' requested here
>> const std::unordered_map<TYPE, wxArtID> icons = {
>> ^
>> In file included from common/confirm.cpp:35:
>> In file included from include/html_messagebox.h:34:
>> In file included from
>> include/../common/dialogs/dialog_display_info_HTML_base.h:14:
>> In file included from include/dialog_shim.h:29:
>> In file included from include/hashtables.h:103:
>> In file included from /usr/include/c++/v1/unordered_map:369:
>> /usr/include/c++/v1/__hash_table:2203:21: error: called object type
>> 'hasher' (aka 'int') is not a function or function pointer
>> size_t __hash = hash_function()(__k);
>> ^~~~~~~~~~~~~~~
>> /usr/include/c++/v1/unordered_map:1114:69: note: in instantiation of
>> function template specialization
>> 'std::__1::__hash_table<std::__1::__hash_value_type<KI_DIALOG::TYPE,
>> wxString>, int, std::__1::__unordered_map_equal<KI_DIALOG::TYPE,
>> std::__1::__hash_value_type<KI_DIALOG::TYPE, wxString>,
>> std::__1::equal_to<KI_DIALOG::TYPE>, true>,
>> std::__1::allocator<std::__1::__hash_value_type<KI_DIALOG::TYPE,
>> wxString> > >::find<KI_DIALOG::TYPE>' requested here
>> const_iterator find(const key_type& __k) const {return
>> __table_.find(__k);}
>> ^
>> /usr/include/c++/v1/unordered_map:1468:26: note: in instantiation of
>> member function 'std::__1::unordered_map<KI_DIALOG::TYPE, wxString,
>> std::__1::hash<KI_DIALOG::TYPE>,
>> std::__1::equal_to<KI_DIALOG::TYPE>,
>> std::__1::allocator<std::__1::pair<const KI_DIALOG::TYPE, wxString>
>> > >::find' requested here
>> const_iterator __i = find(__k);
>> ^
>> common/confirm.cpp:92:49: note: in instantiation of member function
>> 'std::__1::unordered_map<KI_DIALOG::TYPE, wxString,
>> std::__1::hash<KI_DIALOG::TYPE>,
>> std::__1::equal_to<KI_DIALOG::TYPE>,
>> std::__1::allocator<std::__1::pair<const KI_DIALOG::TYPE, wxString>
>> > >::at' requested here
>> wxArtProvider::GetBitmap( icons.at
>> <http://icons.at>( aType ), wxART_CMN_DIALOG ) );
>> ^
>> 3 errors generated.
>> [63/1070] /usr/local/libexec/ccache/c++ -DHAVE_STDINT_H
>> -DKICAD_SCRIPTING -DKICAD_SCRIPTING_MODULES
>> -DKICAD_SCRIPTING_WXPYTHON -DWXUSINGDLL -DWX_COMPATIBILITY
>> -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__WXGTK__ -DPCBNEW -Iinclude
>> -Icommon/. -isystem /usr/local/lib/wx/include/gtk2-unicode-3.0
>> -isystem /usr/local/include/wx-3.0 -Icommon/./dialogs
>> -Icommon/./widgets -Icommon/./dialog_about
>> -I/usr/local/include/cairo -I/usr/local/include/pixman-1
>> -I/usr/local/include -Icommon/../3d-viewer -Icommon/../pcbnew
>> -Icommon/../polygon -I. -I/usr/local/include/python2.7 -Iscripting
>> -Wall -O2 -pipe -fstack-protector -fno-strict-aliasing --std=c++11
>> -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-source-mirror-2e42d5c0065c2c0b4a537f48fca8746c4f61548a/include
>> -I/usr/local/include -msse -Wno-unused-local-typedefs
>> -Wno-strict-aliasing -pthread -Wshadow -O2 -pipe -fstack-protector
>> -fno-strict-aliasing --std=c++11
>> -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-source-mirror-2e42d5c0065c2c0b4a537f48fca8746c4f61548a/include
>> -I/usr/local/include -msse -fPIC -fvisibility=hidden
>> -fvisibility-inlines-hidden -std=gnu++11 -MD -MT
>> common/CMakeFiles/pcbcommon.dir/widgets/widget_net_selector.cpp.o
>> -MF
>> common/CMakeFiles/pcbcommon.dir/widgets/widget_net_selector.cpp.o.d
>> -o common/CMakeFiles/pcbcommon.dir/widgets/widget_net_selector.cpp.o
>> -c common/widgets/widget_net_selector.cpp
>> [64/1070] /usr/local/libexec/ccache/c++ -DHAVE_STDINT_H
>> -DKICAD_SCRIPTING -DKICAD_SCRIPTING_MODULES
>> -DKICAD_SCRIPTING_WXPYTHON -DWXUSINGDLL -DWX_COMPATIBILITY
>> -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__WXGTK__ -Iinclude
>> -Icommon/. -isystem /usr/local/lib/wx/include/gtk2-unicode-3.0
>> -isystem /usr/local/include/wx-3.0 -Icommon/./dialogs
>> -Icommon/./widgets -Icommon/./dialog_about
>> -I/usr/local/include/cairo -I/usr/local/include/pixman-1
>> -I/usr/local/include -Icommon/../3d-viewer -Icommon/../pcbnew
>> -Icommon/../polygon -I. -I/usr/local/include/python2.7 -Iscripting
>> -Wall -O2 -pipe -fstack-protector -fno-strict-aliasing --std=c++11
>> -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-source-mirror-2e42d5c0065c2c0b4a537f48fca8746c4f61548a/include
>> -I/usr/local/include -msse -Wno-unused-local-typedefs
>> -Wno-strict-aliasing -pthread -Wshadow -O2 -pipe -fstack-protector
>> -fno-strict-aliasing --std=c++11
>> -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-source-mirror-2e42d5c0065c2c0b4a537f48fca8746c4f61548a/include
>> -I/usr/local/include -msse -fPIC -fvisibility=hidden
>> -fvisibility-inlines-hidden -std=gnu++11 -MD -MT
>> common/CMakeFiles/common.dir/draw_frame.cpp.o -MF
>> common/CMakeFiles/common.dir/draw_frame.cpp.o.d -o
>> common/CMakeFiles/common.dir/draw_frame.cpp.o -c common/draw_frame.cpp
>> [65/1070] /usr/local/libexec/ccache/c++ -DHAVE_STDINT_H
>> -DKICAD_SCRIPTING -DKICAD_SCRIPTING_MODULES
>> -DKICAD_SCRIPTING_WXPYTHON -DWXUSINGDLL -DWX_COMPATIBILITY
>> -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__WXGTK__ -Iinclude
>> -Icommon/. -isystem /usr/local/lib/wx/include/gtk2-unicode-3.0
>> -isystem /usr/local/include/wx-3.0 -Icommon/./dialogs
>> -Icommon/./widgets -Icommon/./dialog_about
>> -I/usr/local/include/cairo -I/usr/local/include/pixman-1
>> -I/usr/local/include -Icommon/../3d-viewer -Icommon/../pcbnew
>> -Icommon/../polygon -I. -I/usr/local/include/python2.7 -Iscripting
>> -Wall -O2 -pipe -fstack-protector -fno-strict-aliasing --std=c++11
>> -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-source-mirror-2e42d5c0065c2c0b4a537f48fca8746c4f61548a/include
>> -I/usr/local/include -msse -Wno-unused-local-typedefs
>> -Wno-strict-aliasing -pthread -Wshadow -O2 -pipe -fstack-protector
>> -fno-strict-aliasing --std=c++11
>> -I/wrkdirs/usr/ports/cad/kicad-devel/work/kicad-source-mirror-2e42d5c0065c2c0b4a537f48fca8746c4f61548a/include
>> -I/usr/local/include -msse -fPIC -fvisibility=hidden
>> -fvisibility-inlines-hidden -std=gnu++11 -MD -MT
>> common/CMakeFiles/common.dir/draw_panel.cpp.o -MF
>> common/CMakeFiles/common.dir/draw_panel.cpp.o.d -o
>> common/CMakeFiles/common.dir/draw_panel.cpp.o -c common/draw_panel.cpp
>> ninja: build stopped: subcommand failed.
>> ===> Compilation failed unexpectedly.
>> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the
>> failure to
>> the maintainer.
>> *** Error code 1
>>
>> Stop.
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> <https://launchpad.net/~kicad-developers>
>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> <https://launchpad.net/~kicad-developers>
>> More help : https://help.launchpad.net/ListHelp
>> <https://help.launchpad.net/ListHelp>
>>
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help : https://help.launchpad.net/ListHelp
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References