← Back to team overview

kicad-developers team mailing list archive

Re: Build failed in Jenkins: kicad-noscript-fedora20 #1645

 

Hi all,

Sorry about that - looks like this compiler is hitting the (deleted)
copy constructor, not the move constructor. GCC 6.3.1 compiled it just
fine.

This should be constructed directly anyway. Here's a patch that should fix it.

Cheers,

John

On Thu, Mar 2, 2017 at 11:06 PM, Miguel Angel Ajo <miguelangel@xxxxxx> wrote:
> See <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/1645/display/redirect>
>
> ------------------------------------------
> Started by upstream project "linux-kicad-full-gcc-head" build number 1867
> originally caused by:
>  Started by an SCM change
>  Started by an SCM change
>  Started by an SCM change
> Building remotely on fedora21 (linux hugo fedora) in workspace <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/>
>  > git rev-parse --is-inside-work-tree # timeout=10
> Fetching changes from the remote Git repository
>  > git config remote.origin.url https://github.com/KiCad/kicad-source-mirror.git # timeout=10
> Fetching upstream changes from https://github.com/KiCad/kicad-source-mirror.git
>  > git --version # timeout=10
>  > git fetch --tags --progress https://github.com/KiCad/kicad-source-mirror.git +refs/heads/*:refs/remotes/origin/*
>  > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
>  > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
> Checking out Revision bea0a9ab6e343008773f7eeedb69da59f3ef740e (refs/remotes/origin/master)
>  > git config core.sparsecheckout # timeout=10
>  > git checkout -f bea0a9ab6e343008773f7eeedb69da59f3ef740e
>  > git rev-list bea0a9ab6e343008773f7eeedb69da59f3ef740e # timeout=10
> [kicad-noscript-fedora20] $ /bin/sh -xe /tmp/hudson6951896034122644502.sh
> + OPTS=' -DCMAKE_BUILD_TYPE=Debug -DBUILD_GITHUB_PLUGIN=OFF -DKICAD_SCRIPTING=OFF -DKICAD_SCRIPTING_MODULES=OFF -DKICAD_SCRIPTING_WXPYTHON=OFF -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-3.0 -DKICAD_USE_WEBKIT=OFF -DKICAD_SKIP_BOOST=YES'
> + '[' -d build ']'
> + cd build
> + /usr/bin/cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_GITHUB_PLUGIN=OFF -DKICAD_SCRIPTING=OFF -DKICAD_SCRIPTING_MODULES=OFF -DKICAD_SCRIPTING_WXPYTHON=OFF -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-3.0 -DKICAD_USE_WEBKIT=OFF -DKICAD_SKIP_BOOST=YES
> -- Kicad install dir: </usr/local>
> -- Found Glew: /usr/lib64/libGLEW.so
> -- Check for installed GLEW -- found
> -- Boost version: 1.55.0
> -- Found the following Boost libraries:
> --   context
> --   system
> INFO: KICADSG_VERSION_MAJOR = 2
> INFO: KICADSG_VERSION_MINOR = 0
> INFO: KICADSG_VERSION_PATCH = 0
> INFO: KICADSG_VERSION_REVI = 0
> -- Configuring done
> -- Generating done
> -- Build files have been written to: <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/build>
> + rm -f pcbnew/scripting/pcbnewPYTHON_wrap.cxx.o
> + rm -f pcbnew/scripting/pcbnewPYTHON_wrap.cxx
> + nice make -j4
> [  0%] Built target lib-dependencies
> [  1%] [  2%] Generating version string header
> Built target lib_table_lexer_source_files
> [  2%] Built target netlist_lexer_source_files
> -- Using Git to determine build version string.
> -- Found Git: /usr/bin/git (found version "2.1.0")
> [ 34%] Built target bitmaps
> -- Git hash: bea0a9ab6e343008773f7eeedb69da59f3ef740e
> -- Git branch: HEAD
> [ 34%] Built target page_layout_lexer_source_files
> -- Not updating <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/build/kicad_build_version.h>
> [ 34%] Built target version_header
> [ 34%] Built target pcb_lexer_source_files
> [ 34%] Built target pcb_plot_lexer_source_files
> [ 34%] Built target specctra_lexer_source_files
> [ 35%] Built target polygon
> [ 37%] Built target gal
> [ 38%] [ 38%] Built target dialog_bom_cfg_lexer_source_files
> Built target field_template_lexer_source_files
> [ 39%] Built target cmp_library_lexer_source_files
> [ 40%] Built target kicad_3dsg
> [ 40%] Built target pcb_calculator_lexer_source_files
> [ 40%] Built target lib_dxf
> [ 40%] Built target idf3
> [ 40%] Built target potrace
> [ 40%] Built target idfrect
> [ 41%] Built target idfcyl
> [ 42%] Built target s3d_plugin_idf
> [ 42%] Built target dxf2idf
> [ 44%] Built target s3d_plugin_vrml
> [ 44%] Built target idf2vrml
> [ 48%] Built target pcbcommon
> [ 57%] Built target common
> [ 58%] Built target pl_editor_kiface
> [ 59%] Built target bitmap2component
> [ 63%] Built target 3d-viewer
> [ 66%] Built target gerbview_kiface
> [ 67%] Built target kicad
> [ 69%] Built target pcb_calculator_kiface
> [ 69%] Building CXX object tools/io_benchmark/CMakeFiles/io_benchmark.dir/stdstream_line_reader.cpp.o
> Linking CXX executable gerbview
> [ 70%] Built target pcad2kicadpcb
> [ 72%] Built target pnsrouter
> [ 83%] Built target eeschema_kiface
> Linking CXX executable pl_editor
> Linking CXX executable pcb_calculator
> <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>: In constructor ‘IFSTREAM_LINE_READER::IFSTREAM_LINE_READER(const wxString&)’:
> <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:71:47: error: use of deleted function ‘std::basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)’
>          m_fStream( std::ifstream( aFileName ) )
>                                                ^
> In file included from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.h>:30:0,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:24:
> /usr/include/c++/4.9.2/fstream:430:11: note: ‘std::basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
>      class basic_ifstream : public basic_istream<_CharT, _Traits>
>            ^
> /usr/include/c++/4.9.2/fstream:430:11: error: use of deleted function ‘std::basic_istream<char>::basic_istream(const std::basic_istream<char>&)’
> In file included from /usr/include/c++/4.9.2/iterator:65:0,
>                  from /usr/include/wx-3.0/wx/arrstr.h:116,
>                  from /usr/include/wx-3.0/wx/wx.h:21,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/include/richio.h>:37,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.h>:27,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:24:
> /usr/include/c++/4.9.2/istream:58:11: note: ‘std::basic_istream<char>::basic_istream(const std::basic_istream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
>      class basic_istream : virtual public basic_ios<_CharT, _Traits>
>            ^
> /usr/include/c++/4.9.2/istream:58:11: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
> In file included from /usr/include/c++/4.9.2/ios:44:0,
>                  from /usr/include/c++/4.9.2/ostream:38,
>                  from /usr/include/c++/4.9.2/iterator:64,
>                  from /usr/include/wx-3.0/wx/arrstr.h:116,
>                  from /usr/include/wx-3.0/wx/wx.h:21,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/include/richio.h>:37,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.h>:27,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:24:
> /usr/include/c++/4.9.2/bits/basic_ios.h:66:11: note: ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’ is implicitly deleted because the default definition would be ill-formed:
>      class basic_ios : public ios_base
>            ^
> In file included from /usr/include/c++/4.9.2/ios:42:0,
>                  from /usr/include/c++/4.9.2/ostream:38,
>                  from /usr/include/c++/4.9.2/iterator:64,
>                  from /usr/include/wx-3.0/wx/arrstr.h:116,
>                  from /usr/include/wx-3.0/wx/wx.h:21,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/include/richio.h>:37,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.h>:27,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:24:
> /usr/include/c++/4.9.2/bits/ios_base.h:786:5: error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
>      ios_base(const ios_base&);
>      ^
> In file included from /usr/include/c++/4.9.2/ios:44:0,
>                  from /usr/include/c++/4.9.2/ostream:38,
>                  from /usr/include/c++/4.9.2/iterator:64,
>                  from /usr/include/wx-3.0/wx/arrstr.h:116,
>                  from /usr/include/wx-3.0/wx/wx.h:21,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/include/richio.h>:37,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.h>:27,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:24:
> /usr/include/c++/4.9.2/bits/basic_ios.h:66:11: error: within this context
>      class basic_ios : public ios_base
>            ^
> In file included from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.h>:30:0,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:24:
> /usr/include/c++/4.9.2/fstream:430:11: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
>      class basic_ifstream : public basic_istream<_CharT, _Traits>
>            ^
> /usr/include/c++/4.9.2/fstream:430:11: error: use of deleted function ‘std::basic_filebuf<char>::basic_filebuf(const std::basic_filebuf<char>&)’
> /usr/include/c++/4.9.2/fstream:72:11: note: ‘std::basic_filebuf<char>::basic_filebuf(const std::basic_filebuf<char>&)’ is implicitly deleted because the default definition would be ill-formed:
>      class basic_filebuf : public basic_streambuf<_CharT, _Traits>
>            ^
> In file included from /usr/include/c++/4.9.2/ios:43:0,
>                  from /usr/include/c++/4.9.2/ostream:38,
>                  from /usr/include/c++/4.9.2/iterator:64,
>                  from /usr/include/wx-3.0/wx/arrstr.h:116,
>                  from /usr/include/wx-3.0/wx/wx.h:21,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/include/richio.h>:37,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.h>:27,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:24:
> /usr/include/c++/4.9.2/streambuf:802:7: error: ‘std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char; _Traits = std::char_traits<char>]’ is private
>        basic_streambuf(const basic_streambuf& __sb)
>        ^
> In file included from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.h>:30:0,
>                  from <http://ci.kicad-pcb.org/job/kicad-noscript-fedora20/ws/tools/io_benchmark/stdstream_line_reader.cpp>:24:
> /usr/include/c++/4.9.2/fstream:72:11: error: within this context
>      class basic_filebuf : public basic_streambuf<_CharT, _Traits>
>            ^
> tools/io_benchmark/CMakeFiles/io_benchmark.dir/build.make:77: recipe for target 'tools/io_benchmark/CMakeFiles/io_benchmark.dir/stdstream_line_reader.cpp.o' failed
> make[2]: *** [tools/io_benchmark/CMakeFiles/io_benchmark.dir/stdstream_line_reader.cpp.o] Error 1
> CMakeFiles/Makefile2:2167: recipe for target 'tools/io_benchmark/CMakeFiles/io_benchmark.dir/all' failed
> make[1]: *** [tools/io_benchmark/CMakeFiles/io_benchmark.dir/all] Error 2
> make[1]: *** Waiting for unfinished jobs....
> [ 83%] Built target pl_editor
> [ 83%] Built target pcb_calculator
> [ 83%] Built target gerbview
> Makefile:137: recipe for target 'all' failed
> make: *** [all] Error 2
> Build step 'Execute shell' marked build as failure
>
> _______________________________________________
> 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 b3534d319c11504387db253d16ce1f03457488de Mon Sep 17 00:00:00 2001
From: John Beard <john.j.beard@xxxxxxxxx>
Date: Fri, 3 Mar 2017 00:03:53 +0800
Subject: [PATCH] io_benchmark: construct std::ifstream directly

This appears to normally use the move constructor, but on Jenkins Fedora
20, it tried to use the copy ctor, which is deleted.

Constructing directly fixes this, and is the right way, anyway.
---
 tools/io_benchmark/stdstream_line_reader.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/io_benchmark/stdstream_line_reader.cpp b/tools/io_benchmark/stdstream_line_reader.cpp
index 8a0954a8e..ce0042f77 100644
--- a/tools/io_benchmark/stdstream_line_reader.cpp
+++ b/tools/io_benchmark/stdstream_line_reader.cpp
@@ -68,7 +68,7 @@ void STDISTREAM_LINE_READER::setStream( std::istream& aStream )
 
 
 IFSTREAM_LINE_READER::IFSTREAM_LINE_READER( const wxString& aFileName ) throw( IO_ERROR ) :
-        m_fStream( std::ifstream( aFileName ) )
+        m_fStream( aFileName )
 {
     if( !m_fStream.is_open() )
     {
-- 
2.12.0


Follow ups

References