← Back to team overview

kicad-developers team mailing list archive

Re: Error regarding mutex?

 

On 6/5/19 5:50 PM, Steven A. Falco wrote:
> I just started getting the following error on Linux.  Is anyone else seeing this?

Looks like it is coming from commit 6fab7cc02512ddc47d42403d4d1ea3f88f832d14.  If I remove that one, the build works.

> 
> 	Steve
> 
> [ 59%] Building CXX object pcbnew/connectivity/CMakeFiles/connectivity.dir/connectivity_algo.cpp.o
> cd /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity && /usr/bin/c++  -DGLM_FORCE_CTOR_INIT -DHAVE_STDINT_H -DKICAD_CONFIG_DIR=kicad -DKICAD_SCRIPTING -DKICAD_SCRIPTING_ACTION_MENU -DKICAD_SCRIPTING_MODULES -DKICAD_SCRIPTING_PYTHON3 -DKICAD_SCRIPTING_WXPYTHON -DKICAD_SCRIPTING_WXPYTHON_PHOENIX -DKICAD_SPICE -DKICAD_USE_OCE -DPCBNEW -DUSE_WX_OVERLAY -DWXUSINGDLL -DWX_COMPATIBILITY -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/builddir/build/BUILD/kicad-r16003-6fab7cc0/include -I/builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/. -I/builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/.. -I/builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../../include -I/builddir/build/BUILD/kicad-r16003-6fab7cc0 -I/usr/include/python3.7m -I/builddir/build/BUILD/kicad-r16003-6fab7cc0/scripting -I/builddir/build/BUILD/kicad-r16003-6fab7cc0/bitmaps_png/include -I/builddir/build/BUILD/kicad-r16003-6fab7cc0/polygon/include -isystem /usr/lib64/wx/include/gtk3-unicode-3.0 -isystem /usr/include/wx-3.0  -Wall -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wsuggest-override -Werror=vla -pthread -g3 -ggdb3 -DDEBUG -Wno-deprecated-declarations -fPIC -fvisibility=hidden -fvisibility-inlines-hidden   -std=gnu++11 -o CMakeFiles/connectivity.dir/connectivity_algo.cpp.o -c /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/connectivity_algo.cpp
> make[2]: Leaving directory '/builddir/build/BUILD/kicad-r16003-6fab7cc0'
> BUILDSTDERR: In file included from /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_algo.h:47,
> BUILDSTDERR:                  from /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/connectivity_algo.cpp:25:
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_data.h:238:10: error: 'mutex' in namespace 'std' does not name a type
> BUILDSTDERR:   238 |     std::mutex& GetLock()
> BUILDSTDERR:       |          ^~~~~
> BUILDSTDERR: In file included from /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_algo.h:47,
> BUILDSTDERR:                  from /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/connectivity_algo.cpp:25:
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_data.h:1:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
> BUILDSTDERR:   +++ |+#include <mutex>
> BUILDSTDERR:     1 | /*
> BUILDSTDERR: In file included from /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_algo.h:47,
> BUILDSTDERR:                  from /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/connectivity_algo.cpp:25:
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_data.h:262:10: error: 'mutex' in namespace 'std' does not name a type
> BUILDSTDERR:   262 |     std::mutex m_lock;
> BUILDSTDERR:       |          ^~~~~
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_data.h:262:5: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
> BUILDSTDERR:   262 |     std::mutex m_lock;
> BUILDSTDERR:       |     ^~~
> BUILDSTDERR: In file included from /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_algo.h:48,
> BUILDSTDERR:                  from /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/connectivity_algo.cpp:25:
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h:176:10: error: 'mutex' in namespace 'std' does not name a type
> BUILDSTDERR:   176 |     std::mutex m_listLock;
> BUILDSTDERR:       |          ^~~~~
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h:1:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
> BUILDSTDERR:   +++ |+#include <mutex>
> BUILDSTDERR:     1 | /*
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h: In member function 'void CN_ITEM::Connect(CN_ITEM*)':
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h:316:14: error: 'lock_guard' is not a member of 'std'
> BUILDSTDERR:   316 |         std::lock_guard<std::mutex> lock( m_listLock );
> BUILDSTDERR:       |              ^~~~~~~~~~
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h:316:14: note: 'std::lock_guard' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h:316:30: error: 'mutex' is not a member of 'std'
> BUILDSTDERR:   316 |         std::lock_guard<std::mutex> lock( m_listLock );
> BUILDSTDERR:       |                              ^~~~~
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h:316:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h:316:43: error: 'm_listLock' was not declared in this scope
> BUILDSTDERR:   316 |         std::lock_guard<std::mutex> lock( m_listLock );
> BUILDSTDERR:       |                                           ^~~~~~~~~~
> BUILDSTDERR: /builddir/build/BUILD/kicad-r16003-6fab7cc0/pcbnew/connectivity/../connectivity/connectivity_items.h:316:37: error: 'lock' was not declared in this scope; did you mean 'flock'?
> BUILDSTDERR:   316 |         std::lock_guard<std::mutex> lock( m_listLock );
> BUILDSTDERR:       |                                     ^~~~
> BUILDSTDERR:       |                                     flock
> BUILDSTDERR: make[2]: *** [pcbnew/connectivity/CMakeFiles/connectivity.dir/build.make:66: pcbnew/connectivity/CMakeFiles/connectivity.dir/connectivity_algo.cpp.o] Error 1
> BUILDSTDERR: make[1]: *** [CMakeFiles/Makefile2:2188: pcbnew/connectivity/CMakeFiles/connectivity.dir/all] Error 2
> BUILDSTDERR: make[1]: *** Waiting for unfinished jobs....
> 


Follow ups

References