{"action":"closed","issue":{"url":"https://api.github.com/repos/MesserLab/SLiM/issues/1","repository_url":"https://api.github.com/repos/MesserLab/SLiM","labels_url":"https://api.github.com/repos/MesserLab/SLiM/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/MesserLab/SLiM/issues/1/comments","events_url":"https://api.github.com/repos/MesserLab/SLiM/issues/1/events","html_url":"https://github.com/MesserLab/SLiM/issues/1","id":146238477,"number":1,"title":"Build failures on Linux","user":{"login":"molpopgen","id":6416159,"avatar_url":"https://avatars.githubusercontent.com/u/6416159?v=3","gravatar_id":"","url":"https://api.github.com/users/molpopgen","html_url":"https://github.com/molpopgen","followers_url":"https://api.github.com/users/molpopgen/followers","following_url":"https://api.github.com/users/molpopgen/following{/other_user}","gists_url":"https://api.github.com/users/molpopgen/gists{/gist_id}","starred_url":"https://api.github.com/users/molpopgen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/molpopgen/subscriptions","organizations_url":"https://api.github.com/users/molpopgen/orgs","repos_url":"https://api.github.com/users/molpopgen/repos","events_url":"https://api.github.com/users/molpopgen/events{/privacy}","received_events_url":"https://api.github.com/users/molpopgen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/MesserLab/SLiM/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":{"login":"bhaller","id":10171101,"avatar_url":"https://avatars.githubusercontent.com/u/10171101?v=3","gravatar_id":"","url":"https://api.github.com/users/bhaller","html_url":"https://github.com/bhaller","followers_url":"https://api.github.com/users/bhaller/followers","following_url":"https://api.github.com/users/bhaller/following{/other_user}","gists_url":"https://api.github.com/users/bhaller/gists{/gist_id}","starred_url":"https://api.github.com/users/bhaller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhaller/subscriptions","organizations_url":"https://api.github.com/users/bhaller/orgs","repos_url":"https://api.github.com/users/bhaller/repos","events_url":"https://api.github.com/users/bhaller/events{/privacy}","received_events_url":"https://api.github.com/users/bhaller/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2016-04-06T08:51:18Z","updated_at":"2016-04-06T13:42:48Z","closed_at":"2016-04-06T13:42:48Z","body":"The command line version from messerlab.org is failing to build on my Linux machine.  The machine is an Ubuntu 15.10:\r\n\r\nDistributor ID:\tUbuntu\r\nDescription:\tUbuntu 15.10\r\nRelease:\t15.10\r\nCodename:\twily\r\n\r\nI see errors with the following compilers:\r\n\r\ng++ -v\r\nUsing built-in specs.\r\nCOLLECT_GCC=g++\r\nCOLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper\r\nTarget: x86_64-linux-gnu\r\nConfigured with: ../src/configure -v --with-pkgversion='Ubuntu 5.2.1-22ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --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-vtable-verify --enable-libmpx --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-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu\r\nThread model: posix\r\ngcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) \r\n\r\nclang++-3.7 (I edited Makefile to use this).\r\n\r\nI get the same errors with both.  This is the list of errors from clang++ 3.7:\r\n\r\n./core/slim_sim.cpp:1311:23: error: invalid operands to binary expression ('const std::type_info' and\r\n      'const std::type_info')\r\n                                if ((typeid(*sig) != typeid(*previous_sig)) ||\r\n                                     ~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~\r\n1 error generated.\r\n./eidos/eidos_functions.cpp:794:23: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                                bool overflow = Eidos_smulll_overflow(product, operand, &product);\r\n                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:154:76: note: expanded from macro 'Eidos_smulll_overflow'\r\n#define Eidos_smulll_overflow(a, b, c)  __builtin_smulll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_functions.cpp:855:23: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                                bool overflow = Eidos_saddll_overflow(sum, operand, &sum);\r\n                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:152:76: note: expanded from macro 'Eidos_saddll_overflow'\r\n#define Eidos_saddll_overflow(a, b, c)  __builtin_saddll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_functions.cpp:1284:23: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                                bool overflow = Eidos_smulll_overflow(old_product, temp, &product);\r\n                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:154:76: note: expanded from macro 'Eidos_smulll_overflow'\r\n#define Eidos_smulll_overflow(a, b, c)  __builtin_smulll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_functions.cpp:1357:23: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                                bool overflow = Eidos_saddll_overflow(old_sum, temp, &sum);\r\n                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:152:76: note: expanded from macro 'Eidos_saddll_overflow'\r\n#define Eidos_saddll_overflow(a, b, c)  __builtin_saddll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n4 errors generated.\r\n./eidos/eidos_interpreter.cpp:1449:22: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                        bool overflow = Eidos_saddll_overflow(first_operand, second_operand, &add_result);\r\n                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:152:76: note: expanded from macro 'Eidos_saddll_overflow'\r\n#define Eidos_saddll_overflow(a, b, c)  __builtin_saddll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1471:23: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_saddll_overflow(first_operand, second_operand, &add_result);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:152:76: note: expanded from macro 'Eidos_saddll_overflow'\r\n#define Eidos_saddll_overflow(a, b, c)  __builtin_saddll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1496:22: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                        bool overflow = Eidos_saddll_overflow(singleton_int, second_operand, &add_result);\r\n                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:152:76: note: expanded from macro 'Eidos_saddll_overflow'\r\n#define Eidos_saddll_overflow(a, b, c)  __builtin_saddll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1520:22: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                        bool overflow = Eidos_saddll_overflow(first_operand, singleton_int, &add_result);\r\n                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:152:76: note: expanded from macro 'Eidos_saddll_overflow'\r\n#define Eidos_saddll_overflow(a, b, c)  __builtin_saddll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1665:21: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                bool overflow = Eidos_ssubll_overflow(0, operand, &subtract_result);\r\n                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:153:76: note: expanded from macro 'Eidos_ssubll_overflow'\r\n#define Eidos_ssubll_overflow(a, b, c)  __builtin_ssubll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1685:22: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                        bool overflow = Eidos_ssubll_overflow(0, operand, &subtract_result);\r\n                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:153:76: note: expanded from macro 'Eidos_ssubll_overflow'\r\n#define Eidos_ssubll_overflow(a, b, c)  __builtin_ssubll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1739:22: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_ssubll_overflow(first_operand, second_operand, &subtract_result);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:153:76: note: expanded from macro 'Eidos_ssubll_overflow'\r\n#define Eidos_ssubll_overflow(a, b, c)  __builtin_ssubll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1761:23: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_ssubll_overflow(first_operand, second_operand, &subtract_result);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:153:76: note: expanded from macro 'Eidos_ssubll_overflow'\r\n#define Eidos_ssubll_overflow(a, b, c)  __builtin_ssubll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1786:22: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_ssubll_overflow(singleton_int, second_operand, &subtract_result);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:153:76: note: expanded from macro 'Eidos_ssubll_overflow'\r\n#define Eidos_ssubll_overflow(a, b, c)  __builtin_ssubll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:1810:22: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_ssubll_overflow(first_operand, singleton_int, &subtract_result);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:153:76: note: expanded from macro 'Eidos_ssubll_overflow'\r\n#define Eidos_ssubll_overflow(a, b, c)  __builtin_ssubll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2089:21: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                bool overflow = Eidos_smulll_overflow(first_operand, second_operand, &multiply_result);\r\n                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:154:76: note: expanded from macro 'Eidos_smulll_overflow'\r\n#define Eidos_smulll_overflow(a, b, c)  __builtin_smulll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2111:22: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_smulll_overflow(first_operand, second_operand, &multiply_result);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:154:76: note: expanded from macro 'Eidos_smulll_overflow'\r\n#define Eidos_smulll_overflow(a, b, c)  __builtin_smulll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2199:21: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n                                bool overflow = Eidos_smulll_overflow(first_operand, singleton_int, &multiply_result);\r\n                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:154:76: note: expanded from macro 'Eidos_smulll_overflow'\r\n#define Eidos_smulll_overflow(a, b, c)  __builtin_smulll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2935:25: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_saddll_overflow(operand1_value, operand2_value, &operand1_value);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:152:76: note: expanded from macro 'Eidos_saddll_overflow'\r\n#define Eidos_saddll_overflow(a, b, c)  __builtin_saddll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2944:25: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_ssubll_overflow(operand1_value, operand2_value, &operand1_value);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:153:76: note: expanded from macro 'Eidos_ssubll_overflow'\r\n#define Eidos_ssubll_overflow(a, b, c)  __builtin_ssubll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2953:25: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_smulll_overflow(operand1_value, operand2_value, &operand1_value);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:154:76: note: expanded from macro 'Eidos_smulll_overflow'\r\n#define Eidos_smulll_overflow(a, b, c)  __builtin_smulll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2974:26: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_saddll_overflow(int_vec_value, operand2_value, &int_vec_value);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:152:76: note: expanded from macro 'Eidos_saddll_overflow'\r\n#define Eidos_saddll_overflow(a, b, c)  __builtin_saddll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2986:26: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_ssubll_overflow(int_vec_value, operand2_value, &int_vec_value);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:153:76: note: expanded from macro 'Eidos_ssubll_overflow'\r\n#define Eidos_ssubll_overflow(a, b, c)  __builtin_ssubll_overflow((a), (b), (c))\r\n                                                                            ^~~\r\n./eidos/eidos_interpreter.cpp:2998:26: error: cannot initialize a parameter of type 'long long *' with an rvalue of type\r\n      'int64_t *' (aka 'long *')\r\n  ...bool overflow = Eidos_smulll_overflow(int_vec_value, operand2_value, &int_vec_value);\r\n                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n./eidos/eidos_global.h:154:76: note: expanded from macro 'Eidos_smulll_overflow'\r\n#define Eidos_smulll_overflow(a, b, c)  __builtin_smulll_overflow((a), (b), (c))"}}