matt-42 / silicon

A high performance, middleware oriented C++14 http web framework please use matt-42/lithium instead
http://siliconframework.org
MIT License
1.72k stars 138 forks source link

Fedora 23 fails compilation #25

Closed lemoce closed 8 years ago

lemoce commented 8 years ago

I tried to compile Silicon on Fedora 23 and I got this return:

[leandro@serpro-01532821 silicon]$ ./install.sh ~/local/silicon
-- Configuring done
-- Generating done
-- Build files have been written to: /home/leandro/local/src/silicon/silicon_build
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/leandro/local/silicon/include/silicon
-- Up-to-date: /home/leandro/local/silicon/include/silicon/procedure_desc.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/sql_crud.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/hash.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middleware_factories.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/http_route.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/service.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/utils.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/optional.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/dynamic_routing_table.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/get_parameters.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/mysql_connection.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/sql_orm.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/sqlite_orm.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/hashmap_session.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/mysql_orm.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/mysql_types.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/sqlite_connection.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/tracking_cookie.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/sqlite_types.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/mysql_session.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/sql_session.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares/sqlite_session.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/clients
-- Up-to-date: /home/leandro/local/silicon/include/silicon/clients/libcurl_client.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/clients/javascript_client.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/clients/templates
-- Up-to-date: /home/leandro/local/silicon/include/silicon/clients/templates/javascript_websocket.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/clients/templates/javascript.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/null.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/wspp_connection.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/mimosa.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/websocketpp.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/mhd.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/h2o.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/ws_api.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/websocketpp_remote_client.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/ws_route.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/cppnet.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends/lwan.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/response.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/api_to_sio.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/di_factories.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/api_description.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/remote_api.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/error.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/file.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/api.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/blob.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/base_64.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/sql_rest.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon/symbols.hh
-- Up-to-date: /home/leandro/local/silicon/include/silicon
-- Up-to-date: /home/leandro/local/silicon/include/silicon/middlewares
-- Up-to-date: /home/leandro/local/silicon/include/silicon/clients
-- Up-to-date: /home/leandro/local/silicon/include/silicon/clients/templates
-- Up-to-date: /home/leandro/local/silicon/include/silicon/backends
mkdir: cannot create directory ‘externals’: File exists
fatal: destination path 'iod' already exists and is not an empty directory.
-- Boost version: 1.58.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build
[ 13%] Building CXX object tests/CMakeFiles/bind_method.dir/bind_method.cc.o
[ 13%] Built target iod_generate_symbols
[ 22%] Built target apply
[ 31%] Built target callable_traits
[ 50%] Built target deep_merge
[ 50%] Built target core
[ 59%] Built target di
[ 77%] Built target foreach
[ 77%] Built target readme
[ 86%] Built target json
[ 95%] Built target tuple
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 3.7.0 (tags/RELEASE_370/final)
Target: x86_64-redhat-linux-gnu
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/bind_method-17bdc5.cpp
clang: note: diagnostic msg: /tmp/bind_method-17bdc5.sh
clang: note: diagnostic msg: 

********************
tests/CMakeFiles/bind_method.dir/build.make:62: recipe for target 'tests/CMakeFiles/bind_method.dir/bind_method.cc.o' failed
make[2]: *** [tests/CMakeFiles/bind_method.dir/bind_method.cc.o] Error 254
CMakeFiles/Makefile2:195: recipe for target 'tests/CMakeFiles/bind_method.dir/all' failed
make[1]: *** [tests/CMakeFiles/bind_method.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Cannot install /home/leandro/local/silicon.

I am running: Fedora 23 clang 3.7.0 libboost 1.58 libmicrohttpd 0.9.39

lemoce commented 8 years ago

I removed silicon_build directory and run again with more verbosity:

[leandro@serpro-01532821 silicon]$ VERBOSE=1 ./install.sh ~/local/silicon
...
[ 86%] Linking CXX executable tuple
cd /home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/tuple.dir/link.txt --verbose=1
/usr/lib64/ccache/clang++      CMakeFiles/tuple.dir/tuple.cc.o  -o tuple -rdynamic 
[ 90%] Linking CXX executable iod_generate_symbols
cd /home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build/tools && /usr/bin/cmake -E cmake_link_script CMakeFiles/iod_generate_symbols.dir/link.txt --verbose=1
/usr/lib64/ccache/clang++      CMakeFiles/iod_generate_symbols.dir/iod_generate_symbols.cc.o  -o iod_generate_symbols -rdynamic 
make[2]: Leaving directory '/home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build'
[ 90%] Built target tuple
make[2]: Leaving directory '/home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build'
[ 90%] Built target iod_generate_symbols
[ 95%] Linking CXX executable json
cd /home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/json.dir/link.txt --verbose=1
/usr/lib64/ccache/clang++      CMakeFiles/json.dir/json.cc.o  -o json -rdynamic 
make[2]: Leaving directory '/home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build'
[ 95%] Built target json
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 3.7.0 (tags/RELEASE_370/final)
Target: x86_64-redhat-linux-gnu
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs.
tests/CMakeFiles/bind_method.dir/build.make:62: recipe for target 'tests/CMakeFiles/bind_method.dir/bind_method.cc.o' failed
make[2]: *** [tests/CMakeFiles/bind_method.dir/bind_method.cc.o] Error 254
make[2]: Leaving directory '/home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build'
CMakeFiles/Makefile2:195: recipe for target 'tests/CMakeFiles/bind_method.dir/all' failed
make[1]: *** [tests/CMakeFiles/bind_method.dir/all] Error 2
make[1]: Leaving directory '/home/leandro/local/src/silicon/silicon_build/externals/iod/silicon_build'
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Cannot install /home/leandro/local/silicon.
matt-42 commented 8 years ago

Indeed, I only checked with clang 3.7.1, can't you upgrade on fedora 23 to this version, or a more recent one? You can also try with gcc as long as you do not use sql_rest and sql_crud

lemoce commented 8 years ago

Worked on GCC 5.3.1. Fedora 24 will be shipped with clang 3.8.0. Maybe I go for Ubuntu.