-
Notifications
You must be signed in to change notification settings - Fork 4
more rigorous compiler checks #13
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
base: master
Are you sure you want to change the base?
Conversation
and C++ tr1 or C++11 headers
fixes to remove extraneous paths in some ruby builds to non system paths adds C++tr1 versus C++11 header changes
recomment header makefile section
no more ad hoc checks, use pkg_config fixed flags to update properly from pkg_config
unneeded edit file
unneeded
remove $LIBS, mkmf uses $libs (scons uses $LIBS) remove pig-config updates to $CFLAGS and $LIBS note: Ruby docs of pkg_config source code show $CXXFLAGS updated, but actual source doesn’t do it.
use it to replace to code sections and remove duplicate tests
replaced by function definition
more rigorous testing of compilers
remove
i will not add have_std_header because my code doesnt need checks for c+11 pkg_conf will also not added because i already had the correct fix for that, that you did broke with your replacement find_executable is also not needed because currently i only check the name, i enable travis checks for osx too, if i can get my trunk build and tested in osx than the check for the compiler version will not be added. |
The wx header code does and you are referencing it. I can't complete the tests let alone compile without those. Sent from my iPhone
|
like i said in the other ticket before, update your software (newer gcc or newer clang) and then recompile ruby and wxwidgets again wxwidgets should not use any c+11 features if your compiler wouldnt already support them, and even then they should not be enabled ... didnt that all begin because you tryed to activate c++11 for rwx? |
My software is up to date. Test your stuff with clang not just gcc Sent from my iPhone
|
Also it is you who are out of date libc++ has replaced libstdc++ with clang and doesn't support those tr1 files only the c++ 11 files headers. TR1 is an optional addendum to C++98. My wxwidgets are built with that libc++ and that is the default on all OSX since 10.6 sdks. Sent from my iPhone
|
i currently cant test it on OSX now, but i tested it local on my machine and it did work with clang too (it did show warnings but thats ok) like i said your problem is that you might have the wrong version of clang or gcc (did you try to update them to like i said with macports or brew?) |
The problem is that you aren't using libc++ with clang which is the default under BSDs like Darwin and FreeBSD in Linux you need to add -stdlib=c++
|
what is your clang version wxwidgets is build against? what is your version of clang, gcc, wxwidgets and ruby? did you use brew or macports as i said to install newer versions? |
l Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.3.0 Thread model: posix which is the absolute latest version. and it has the latest libc++ which it and this isthe mkmf.log when those are removed have_macro: checking for wxHAS_EVENT_BIND in wx/wx.h... "gcc In file included from conftest.c:3: In file included from /usr/local/include/wx-3.0/wx/wx.h:15: In file included from /usr/local/include/wx-3.0/wx/object.h:19: In file included from /usr/local/include/wx-3.0/wx/memory.h:15: In file included from /usr/local/include/wx-3.0/wx/string.h:46: /usr/local/include/wx-3.0/wx/strvararg.h:30:18: fatal error:
1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include <wx/wx.h> 4: /top/ 5: #ifndef wxHAS_EVENT_BIND 6: # error 7: |:/ === wxHAS_EVENT_BIND undefined === /:| 8: #endif /* end */ On Tue, Jun 2, 2015 at 1:09 PM, Hans Mackowiak [email protected]
|
your ruby seems still be build against gcc then clang |
The problem is that the stdc++ library headers used by gcc5.1 look like this x86_64-apple-darwin14.3.0/note that tr1 is a folder and contains unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.hbut libc++ library header contains unordered_set utility valarray vectorNote the absence of tr1 headers On Tue, Jun 2, 2015 at 8:00 PM, Hans Mackowiak [email protected]
|
the problem is more that it might try to find the wrong folder what does RbConfig::CONFIG["CC"] return in your ruby? as i said before build a new ruby with rvm with adding --clang as parameter so it only builds against clang and not gcc |
limits checks to darwin