Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not compile on Raspberry Pi 3 #914

Closed
umar14 opened this issue Feb 28, 2019 · 3 comments

Comments

Projects
None yet
2 participants
@umar14
Copy link

commented Feb 28, 2019

* Target Platform

Raspbian GNU/Linux 9 (stretch)
Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux

*** Compiler model and version**

  • GCC
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Raspbian 6.3.0-18+rpi1+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 6.3.0 20170516 (Raspbian 6.3.0-18+rpi1+deb9u1)
  • CMAKE:
    cmake version 3.14.0-rc1

  • CMakeLists.txt:

# ArduinoJson - arduinojson.org
# Copyright Benoit Blanchon 2014-2019
# MIT License

cmake_minimum_required(VERSION 3.0)
project(ArduinoJson)

enable_testing()

add_definitions(-DARDUINOJSON_DEBUG)
if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
        add_compile_options(-g -O0)
endif()

if(${COVERAGE})
        set(CMAKE_CXX_FLAGS "-fprofile-arcs -ftest-coverage")
endif()

include_directories(${CMAKE_CURRENT_LIST_DIR}/src)
add_subdirectory(third-party/catch)
add_subdirectory(test)
add_subdirectory(fuzzing)
  • CMake Output
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/cplusplus/ArduinoJson
  • MakeFile
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.14

# Default target executed when no arguments are given to make.
default_target: all

.PHONY : default_target

# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:


#=============================================================================
# Special targets provided by cmake.

# Disable implicit rules so canonical targets will work.
.SUFFIXES:


# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =

.SUFFIXES: .hpux_make_needs_suffix_list


# Suppress display of executed commands.
$(VERBOSE).SILENT:


# A target that is always out of date.
cmake_force:

.PHONY : cmake_force

#=============================================================================
# Set environment variables for the build.

# The shell in which to execute make rules.
SHELL = /bin/sh

# The CMake executable.
CMAKE_COMMAND = /usr/local/bin/cmake

# The command to remove a file.
RM = /usr/local/bin/cmake -E remove -f

# Escaping for special characters.
EQUALS = =

# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/pi/cplusplus/ArduinoJson

# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/pi/cplusplus/ArduinoJson

#=============================================================================
# Targets provided globally by CMake.

# Special rule for the target rebuild_cache
rebuild_cache:
        @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
        /usr/local/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache

# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache

.PHONY : rebuild_cache/fast

# Special rule for the target edit_cache
edit_cache:
        @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
        /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
.PHONY : edit_cache

# Special rule for the target edit_cache
edit_cache/fast: edit_cache

.PHONY : edit_cache/fast

# Special rule for the target test
test:
        @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
        /usr/local/bin/ctest --force-new-ctest-process $(ARGS)
.PHONY : test

# Special rule for the target test
test/fast: test

.PHONY : test/fast

# The main all target
all: cmake_check_build_system
        $(CMAKE_COMMAND) -E cmake_progress_start /home/pi/cplusplus/ArduinoJson/CMakeFiles /home/pi/cplusplus/ArduinoJson/CMakeFiles/progress.marks
        $(MAKE) -f CMakeFiles/Makefile2 all
        $(CMAKE_COMMAND) -E cmake_progress_start /home/pi/cplusplus/ArduinoJson/CMakeFiles 0
.PHONY : all

# The main clean target
clean:
        $(MAKE) -f CMakeFiles/Makefile2 clean
.PHONY : clean

# The main clean target
clean/fast: clean

.PHONY : clean/fast

# Prepare targets for installation.
preinstall: all
        $(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall

# Prepare targets for installation.
preinstall/fast:
        $(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast

# clear depends
depend:
        $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend

#=============================================================================
# Target rules for targets named catch

# Build rule for target.
catch: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 catch
.PHONY : catch

# fast build rule for target.
catch/fast:
        $(MAKE) -f third-party/catch/CMakeFiles/catch.dir/build.make third-party/catch/CMakeFiles/catch.dir/build
.PHONY : catch/fast

#=============================================================================
# Target rules for targets named ElementProxyTests

# Build rule for target.
ElementProxyTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 ElementProxyTests
.PHONY : ElementProxyTests

# fast build rule for target.
ElementProxyTests/fast:
        $(MAKE) -f test/ElementProxy/CMakeFiles/ElementProxyTests.dir/build.make test/ElementProxy/CMakeFiles/ElementProxyTests.dir/build
.PHONY : ElementProxyTests/fast

#=============================================================================
# Target rules for targets named IntegrationTests

# Build rule for target.
IntegrationTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 IntegrationTests
.PHONY : IntegrationTests

# fast build rule for target.
IntegrationTests/fast:
        $(MAKE) -f test/IntegrationTests/CMakeFiles/IntegrationTests.dir/build.make test/IntegrationTests/CMakeFiles/IntegrationTests.dir/build
.PHONY : IntegrationTests/fast

#=============================================================================
# Target rules for targets named JsonArrayTests

# Build rule for target.
JsonArrayTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 JsonArrayTests
.PHONY : JsonArrayTests

# fast build rule for target.
JsonArrayTests/fast:
        $(MAKE) -f test/JsonArray/CMakeFiles/JsonArrayTests.dir/build.make test/JsonArray/CMakeFiles/JsonArrayTests.dir/build
.PHONY : JsonArrayTests/fast

#=============================================================================
# Target rules for targets named JsonDeserializerTests

# Build rule for target.
JsonDeserializerTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 JsonDeserializerTests
.PHONY : JsonDeserializerTests

# fast build rule for target.
JsonDeserializerTests/fast:
        $(MAKE) -f test/JsonDeserializer/CMakeFiles/JsonDeserializerTests.dir/build.make test/JsonDeserializer/CMakeFiles/JsonDeserializerTests.dir/build
.PHONY : JsonDeserializerTests/fast

#=============================================================================
# Target rules for targets named JsonDocumentTests

# Build rule for target.
JsonDocumentTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 JsonDocumentTests
.PHONY : JsonDocumentTests

# fast build rule for target.
JsonDocumentTests/fast:
        $(MAKE) -f test/JsonDocument/CMakeFiles/JsonDocumentTests.dir/build.make test/JsonDocument/CMakeFiles/JsonDocumentTests.dir/build
.PHONY : JsonDocumentTests/fast

#=============================================================================
# Target rules for targets named JsonObjectTests

# Build rule for target.
JsonObjectTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 JsonObjectTests
.PHONY : JsonObjectTests

# fast build rule for target.
JsonObjectTests/fast:
        $(MAKE) -f test/JsonObject/CMakeFiles/JsonObjectTests.dir/build.make test/JsonObject/CMakeFiles/JsonObjectTests.dir/build
.PHONY : JsonObjectTests/fast

#=============================================================================
# Target rules for targets named JsonSerializerTests

# Build rule for target.
JsonSerializerTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 JsonSerializerTests
.PHONY : JsonSerializerTests

# fast build rule for target.
JsonSerializerTests/fast:
        $(MAKE) -f test/JsonSerializer/CMakeFiles/JsonSerializerTests.dir/build.make test/JsonSerializer/CMakeFiles/JsonSerializerTests.dir/build
.PHONY : JsonSerializerTests/fast

#=============================================================================
# Target rules for targets named JsonVariantTests

# Build rule for target.
JsonVariantTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 JsonVariantTests
.PHONY : JsonVariantTests

# fast build rule for target.
JsonVariantTests/fast:
        $(MAKE) -f test/JsonVariant/CMakeFiles/JsonVariantTests.dir/build.make test/JsonVariant/CMakeFiles/JsonVariantTests.dir/build
.PHONY : JsonVariantTests/fast

#=============================================================================
# Target rules for targets named MemberProxyTests

# Build rule for target.
MemberProxyTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 MemberProxyTests
.PHONY : MemberProxyTests

# fast build rule for target.
MemberProxyTests/fast:
        $(MAKE) -f test/MemberProxy/CMakeFiles/MemberProxyTests.dir/build.make test/MemberProxy/CMakeFiles/MemberProxyTests.dir/build
.PHONY : MemberProxyTests/fast

#=============================================================================
# Target rules for targets named MemoryPoolTests

# Build rule for target.
MemoryPoolTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 MemoryPoolTests
.PHONY : MemoryPoolTests

# fast build rule for target.
MemoryPoolTests/fast:
        $(MAKE) -f test/MemoryPool/CMakeFiles/MemoryPoolTests.dir/build.make test/MemoryPool/CMakeFiles/MemoryPoolTests.dir/build
.PHONY : MemoryPoolTests/fast

#=============================================================================
# Target rules for targets named MiscTests

# Build rule for target.
MiscTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 MiscTests
.PHONY : MiscTests

# fast build rule for target.
MiscTests/fast:
        $(MAKE) -f test/Misc/CMakeFiles/MiscTests.dir/build.make test/Misc/CMakeFiles/MiscTests.dir/build
.PHONY : MiscTests/fast

#=============================================================================
# Target rules for targets named MixedConfigurationTests

# Build rule for target.
MixedConfigurationTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 MixedConfigurationTests
.PHONY : MixedConfigurationTests

# fast build rule for target.
MixedConfigurationTests/fast:
        $(MAKE) -f test/MixedConfiguration/CMakeFiles/MixedConfigurationTests.dir/build.make test/MixedConfiguration/CMakeFiles/MixedConfigurationTests.dir/build
.PHONY : MixedConfigurationTests/fast

#=============================================================================
# Target rules for targets named MsgPackDeserializerTests

# Build rule for target.
MsgPackDeserializerTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 MsgPackDeserializerTests
.PHONY : MsgPackDeserializerTests

# fast build rule for target.
MsgPackDeserializerTests/fast:
        $(MAKE) -f test/MsgPackDeserializer/CMakeFiles/MsgPackDeserializerTests.dir/build.make test/MsgPackDeserializer/CMakeFiles/MsgPackDeserializerTests.dir/build
.PHONY : MsgPackDeserializerTests/fast

#=============================================================================
# Target rules for targets named MsgPackSerializerTests

# Build rule for target.
MsgPackSerializerTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 MsgPackSerializerTests
.PHONY : MsgPackSerializerTests

# fast build rule for target.
MsgPackSerializerTests/fast:
        $(MAKE) -f test/MsgPackSerializer/CMakeFiles/MsgPackSerializerTests.dir/build.make test/MsgPackSerializer/CMakeFiles/MsgPackSerializerTests.dir/build
.PHONY : MsgPackSerializerTests/fast

#=============================================================================
# Target rules for targets named NumbersTests

# Build rule for target.
NumbersTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 NumbersTests
.PHONY : NumbersTests

# fast build rule for target.
NumbersTests/fast:
        $(MAKE) -f test/Numbers/CMakeFiles/NumbersTests.dir/build.make test/Numbers/CMakeFiles/NumbersTests.dir/build
.PHONY : NumbersTests/fast

#=============================================================================
# Target rules for targets named JsonWriterTests

# Build rule for target.
JsonWriterTests: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 JsonWriterTests
.PHONY : JsonWriterTests

# fast build rule for target.
JsonWriterTests/fast:
        $(MAKE) -f test/TextFormatter/CMakeFiles/JsonWriterTests.dir/build.make test/TextFormatter/CMakeFiles/JsonWriterTests.dir/build
.PHONY : JsonWriterTests/fast

#=============================================================================
# Target rules for targets named msgpack_fuzzer

# Build rule for target.
msgpack_fuzzer: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 msgpack_fuzzer
.PHONY : msgpack_fuzzer

# fast build rule for target.
msgpack_fuzzer/fast:
        $(MAKE) -f fuzzing/CMakeFiles/msgpack_fuzzer.dir/build.make fuzzing/CMakeFiles/msgpack_fuzzer.dir/build
.PHONY : msgpack_fuzzer/fast

#=============================================================================
# Target rules for targets named json_fuzzer

# Build rule for target.
json_fuzzer: cmake_check_build_system
        $(MAKE) -f CMakeFiles/Makefile2 json_fuzzer
.PHONY : json_fuzzer

# fast build rule for target.
json_fuzzer/fast:
        $(MAKE) -f fuzzing/CMakeFiles/json_fuzzer.dir/build.make fuzzing/CMakeFiles/json_fuzzer.dir/build
.PHONY : json_fuzzer/fast

# Help Target
help:
        @echo "The following are some of the valid targets for this Makefile:"
        @echo "... all (the default if no target is provided)"
        @echo "... clean"
        @echo "... depend"
        @echo "... rebuild_cache"
        @echo "... edit_cache"
        @echo "... test"
        @echo "... catch"
        @echo "... ElementProxyTests"
        @echo "... IntegrationTests"
        @echo "... JsonArrayTests"
        @echo "... JsonDeserializerTests"
        @echo "... JsonDocumentTests"
        @echo "... JsonObjectTests"
        @echo "... JsonSerializerTests"
        @echo "... JsonVariantTests"
        @echo "... MemberProxyTests"
        @echo "... MemoryPoolTests"
        @echo "... MiscTests"
        @echo "... MixedConfigurationTests"
        @echo "... MsgPackDeserializerTests"
        @echo "... MsgPackSerializerTests"
        @echo "... NumbersTests"
        @echo "... JsonWriterTests"
        @echo "... msgpack_fuzzer"
        @echo "... json_fuzzer"
.PHONY : help



#=============================================================================
# Special targets to cleanup operation of make.

# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
        $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

*** Compiler Output**


> `sudo make`

[  1%] Building CXX object third-party/catch/CMakeFiles/catch.dir/catch.cpp.o
In file included from /usr/include/c++/6/vector:64:0,
                 from /home/pi/cplusplus/ArduinoJson/third-party/catch/catch.hpp:675,
                 from /home/pi/cplusplus/ArduinoJson/third-party/catch/catch.cpp:6:
/usr/include/c++/6/bits/stl_vector.h: In member function ‘std::vector<_Tp, _Alloc>::reverse_iterator std::vector<_Tp, _Alloc>::rbegin() [with _Tp = Catch::SectionEndInfo; _Alloc = std::allocator<Catch::SectionEndInfo>]’:
/usr/include/c++/6/bits/stl_vector.h:585:38: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<Catch::SectionEndInfo*, std::vector<Catch::SectionEndInfo> >’ will change in GCC 7.1
       { return reverse_iterator(end()); }
                                      ^
/usr/include/c++/6/bits/stl_vector.h: In member function ‘std::vector<_Tp, _Alloc>::reverse_iterator std::vector<_Tp, _Alloc>::rend() [with _Tp = Catch::SectionEndInfo; _Alloc = std::allocator<Catch::SectionEndInfo>]’:
/usr/include/c++/6/bits/stl_vector.h:603:40: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<Catch::SectionEndInfo*, std::vector<Catch::SectionEndInfo> >’ will change in GCC 7.1
       { return reverse_iterator(begin()); }
                                        ^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/6/bits/char_traits.h:39,
                 from /usr/include/c++/6/ios:40,
                 from /usr/include/c++/6/istream:38,
                 from /usr/include/c++/6/sstream:38,
                 from /home/pi/cplusplus/ArduinoJson/third-party/catch/catch.hpp:382,
                 from /home/pi/cplusplus/ArduinoJson/third-party/catch/catch.cpp:6:
/usr/include/c++/6/bits/stl_iterator.h: In constructor ‘std::reverse_iterator<_Iterator>::reverse_iterator(std::reverse_iterator<_Iterator>::iterator_type) [with _Iterator = __gnu_cxx::__normal_iterator<Catch::SectionEndInfo*, std::vector<Catch::SectionEndInfo> >]’:
/usr/include/c++/6/bits/stl_iterator.h:127:7: note: parameter passing for argument of type ‘std::reverse_iterator<__gnu_cxx::__normal_iterator<Catch::SectionEndInfo*, std::vector<Catch::SectionEndInfo> > >::iterator_type {aka __gnu_cxx::__normal_iterator<Catch::SectionEndInfo*, std::vector<Catch::SectionEndInfo> >}’ will change in GCC 7.1
       reverse_iterator(iterator_type __x) : current(__x) { }
       ^~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/vector:63:0,
                 from /home/pi/cplusplus/ArduinoJson/third-party/catch/catch.hpp:675,
                 from /home/pi/cplusplus/ArduinoJson/third-party/catch/catch.cpp:6:
/usr/include/c++/6/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = Catch::SectionEndInfo*; _ForwardIterator = Catch::SectionEndInfo*; _Allocator = std::allocator<Catch::SectionEndInfo>]’:
/usr/include/c++/6/bits/stl_uninitialized.h:304:69: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
   _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__last), __result, __alloc);
                                                                     ^
/usr/include/c++/6/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<Catch::SectionEndInfo*>; _ForwardIterator = Catch::SectionEndInfo*; _Tp = Catch::SectionEndInfo]’:
/usr/include/c++/6/bits/stl_uninitialized.h:279:5: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_uninitialized.h:279:5: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h:281:63: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
     { return std::uninitialized_copy(__first, __last, __result); }
                                                               ^
/usr/include/c++/6/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<Catch::SectionEndInfo*>; _ForwardIterator = Catch::SectionEndInfo*]’:
/usr/include/c++/6/bits/stl_uninitialized.h:107:5: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
     uninitialized_copy(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_uninitialized.h:107:5: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h:126:41: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<Catch::SectionEndInfo*>; _ForwardIterator = Catch::SectionEndInfo*; bool _TrivialValueTypes = false]’:
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘std::move_iterator<Catch::SectionEndInfo*>’ will change in GCC 7.1
[  1%] Linking CXX static library libcatch.a
[  1%] Built target catch
[  1%] Building CXX object test/ElementProxy/CMakeFiles/ElementProxyTests.dir/add.cpp.o
In file included from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson.hpp:9:0,
                 from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson.h:9,
                 from /home/pi/cplusplus/ArduinoJson/test/ElementProxy/add.cpp:5:
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/ArrayRef.hpp: In member function ‘ArduinoJson690_010::ArrayRef::operator ArduinoJson690_010::VariantRef()’:
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/ArrayRef.hpp:97:66: error: cast from ‘ArduinoJson690_010::CollectionData*’ to ‘ArduinoJson690_010::VariantData*’ increases required alignment of target type [-Werror=cast-align]
     return VariantRef(_pool, reinterpret_cast<VariantData*>(_data));
                                                                  ^
In file included from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson.hpp:10:0,
                 from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson.h:9,
                 from /home/pi/cplusplus/ArduinoJson/test/ElementProxy/add.cpp:5:
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Object/ObjectRef.hpp: In member function ‘ArduinoJson690_010::ObjectRef::operator ArduinoJson690_010::VariantRef() const’:
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Object/ObjectRef.hpp:143:66: error: cast from ‘ArduinoJson690_010::CollectionData*’ to ‘ArduinoJson690_010::VariantData*’ increases required alignment of target type [-Werror=cast-align]
     return VariantRef(_pool, reinterpret_cast<VariantData*>(_data));
                                                                  ^
In file included from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/../Misc/../Strings/StringAdapters.hpp:7:0,
                 from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/../Misc/SerializedValue.hpp:7,
                 from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/VariantData.hpp:7,
                 from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/ArrayRef.hpp:7,
                 from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson.hpp:9,
                 from /home/pi/cplusplus/ArduinoJson/src/ArduinoJson.h:9,
                 from /home/pi/cplusplus/ArduinoJson/test/ElementProxy/add.cpp:5:
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/../Misc/../Strings/../Memory/MemoryPool.hpp: In instantiation of ‘T* ArduinoJson690_010::MemoryPool::allocRight() [with T = ArduinoJson690_010::VariantSlot]’:
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/../Misc/../Strings/../Memory/MemoryPool.hpp:50:36:   required from here
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/../Misc/../Strings/../Memory/MemoryPool.hpp:91:12: error: cast from ‘char*’ to ‘ArduinoJson690_010::VariantSlot*’ increases required alignment of target type [-Werror=cast-align]
     return reinterpret_cast<T*>(allocRight(sizeof(T)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/../Misc/../Strings/../Memory/MemoryPool.hpp: In instantiation of ‘T* ArduinoJson690_010::MemoryPool::allocRight() [with T = ArduinoJson690_010::StringSlot]’:
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/../Misc/../Strings/../Memory/MemoryPool.hpp:107:35:   required from here
/home/pi/cplusplus/ArduinoJson/src/ArduinoJson/Array/../Variant/../Misc/../Strings/../Memory/MemoryPool.hpp:91:12: error: cast from ‘char*’ to ‘ArduinoJson690_010::StringSlot*’ increases required alignment of target type [-Werror=cast-align]
cc1plus: all warnings being treated as errors
test/ElementProxy/CMakeFiles/ElementProxyTests.dir/build.make:62: recipe for target 'test/ElementProxy/CMakeFiles/ElementProxyTests.dir/add.cpp.o' failed
make[2]: *** [test/ElementProxy/CMakeFiles/ElementProxyTests.dir/add.cpp.o] Error 1
CMakeFiles/Makefile2:208: recipe for target 'test/ElementProxy/CMakeFiles/ElementProxyTests.dir/all' failed
make[1]: *** [test/ElementProxy/CMakeFiles/ElementProxyTests.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2

@umar14 umar14 closed this Feb 28, 2019

@bblanchon

This comment has been minimized.

Copy link
Owner

commented Feb 28, 2019

Hi @umar14,

Thank you for reporting this.
I fixed most of the warnings in a local branch.
Hopefully, it'll be fixed tomorrow.

Regards,
Benoit

@bblanchon bblanchon reopened this Feb 28, 2019

bblanchon added a commit that referenced this issue Mar 1, 2019

bblanchon added a commit that referenced this issue Mar 1, 2019

bblanchon added a commit that referenced this issue Mar 1, 2019

bblanchon added a commit that referenced this issue Mar 1, 2019

@bblanchon bblanchon added the bug label Mar 1, 2019

@bblanchon

This comment has been minimized.

Copy link
Owner

commented Mar 1, 2019

Hi @umar14,

I fixed the three warnings in the main branch.

BTW, do you know that you don't have to compile the library?
ArduinoJson is a header-only library, so you only need to download ArduinoJson.h from the release page.

Regards,
Benoit

@bblanchon bblanchon closed this Mar 1, 2019

@umar14

This comment has been minimized.

Copy link
Author

commented Mar 1, 2019

Hello,

Yes I realized that I didn't need to compile it after I opened the issue here. Therefore closed it immediately. Thank you so much for your reply. It's a great library and I have found it to be very useful in my Arduino projects. Wanted to test it on Raspberry Pi as well. Included the Headers in my project and it works flawlessly. Keep up the good work!!

Regards,
Umar

Repository owner locked and limited conversation to collaborators Apr 1, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.