← Back to team overview

kicad-developers team mailing list archive

Re: Error regarding mutex?

 

Yep, it seems somehow <mutex> was being included for that file from a file
that Jeff just removed it from. This patch adds it where it should be, so
it now can compile on my machine.

On Wed, Jun 5, 2019 at 11:27 PM Nick Østergaard <oe.nick@xxxxxxxxx> wrote:

> I see the same.
>
> tor. 6. jun. 2019 00.04 skrev Steven A. Falco <stevenfalco@xxxxxxxxx>:
>
>> 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....
>> >
>>
>> _______________________________________________
>> 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
>
From 7311a028eed2508c62f57ee69d82fad0e84ee620 Mon Sep 17 00:00:00 2001
From: Ian McInerney <Ian.S.McInerney@xxxxxxxx>
Date: Wed, 5 Jun 2019 22:56:35 +0000
Subject: [PATCH] Fix missing header

---
 pcbnew/connectivity/connectivity_data.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pcbnew/connectivity/connectivity_data.h b/pcbnew/connectivity/connectivity_data.h
index 2f6905153..a3993cc44 100644
--- a/pcbnew/connectivity/connectivity_data.h
+++ b/pcbnew/connectivity/connectivity_data.h
@@ -32,6 +32,7 @@
 #include <wx/string.h>
 #include <vector>
 #include <memory>
+#include <mutex>
 
 #include <math/vector2d.h>
 #include <geometry/shape_poly_set.h>
-- 
2.17.2


Follow ups

References