On 04/11/2013, at 12:16 AM, Shayne Fletcher wrote: > > It kicked off ok but then got broke here: > :: > > looking for flx : ok build/release/host/bin/flx > checking build/release/host/bin/flx --test=build/release with --debug-flx: > failed > > ... > > fbuild.ExecutionError: Error running 'build/release/host/bin/flx > --test=build/release --debug-flx /tmp/tmpy_ltd7/temp.flx' exited with 1 > > Looking into it a little ``ls /tmp/tmpy_ltd7/temp.flx`` shows (at > least) that temp.flx doesn't exist (or at least not anymore).
I thought I got rid of that. That is fbuild trying to check if "flx" works. Unfortunately it bugs out often, and often because it is calling it the wrong way. But the code is buried deep in fbuild. BTW: you can look at build/release/fbuild.log > [flx] C++ compile: "g++" "-fPIC" "-O1" "-c" "-fno-common" > "-fno-strict-aliasing" "-std=c++0x" "-Wall" "-Wfatal-errors" > "-Wno-invalid-offsetof" "-Wno-parentheses" "-Wno-unused-variable" > "-Wno-unused-function" "-Wno-sign-compare" "-Wno-missing-braces" "-O1" "-g" > "-Ibuild/release/share/lib/rtl" "-Ibuild/release/host/lib/rtl" "-Ilib/rtl" > "/home/sfletche/.felix/cache/text/tmp/hello.cpp" -o > "/home/sfletche/.felix/cache/text/tmp/hello.os" > cc1plus: error: unrecognized command line option "-std=c++0x" > compilation terminated due to -Wfatal-errors. > > I seem to be on gcc-4.1.2. > :: > > [sfletche@qf2 felix]$ g++ --version > g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) > > Running it again by hand > .. code-block:: bash > > g++ -fPIC -O1 -c -fno-common -fno-strict-aliasing -std=c++0x -Wall > -Wfatal-errors -Wno-invalid-offsetof -Wno-parentheses -Wno-unused-variable > -Wno-unused-function -Wno-sign-compare -Wno-missing-braces -O1 -g > -Ibuild/release/share/lib/rtl -Ibuild/release/host/lib/rtl -Ilib/rtl > /home/sfletche/.felix/cache/text/tmp/hello.cpp -o > /home/sfletche/.felix/cache/text/tmp/hello.os > > Sure enough > :: > > cc1plus: error: unrecognized command line option "-std=c++0x" > > Surprising. I guess it's saying that g++ is messed up on this box or > something. It's saying your g++ is so old it doesn't support -std=c++0x. You need at least 4.2 for that. However Felix doesn't currently use any c++0x features. The best solution is to upgrade g++. It is at least up to 4.6 now, 4.1 is downright archaic. However you can also just remove that switch from the plugin. Look in src/lib/std/felix/toolchain/gcc_linux.flx You'll find a couple of lines like this: CCFLAGS = "-c" ! "-O1" ! "-fno-common"! "-fno-strict-aliasing" ! "-std=c++0x" ! (cxx_compile_warning_flags+config.ccflags), Just remove the ! "-std=c++0x" bit and we'll see what happens. [The symbol ! is the list cons operator like :: in Ocaml] I would do this for you, but I am in the middle of changing the build tools. Actually, first making "flx" use plugin toolchains, and then preloading the 4 common ones (gcc/clang osx/linux). It already does this, however it does it by "compiling in" those 4 plugins, the new way is to link them in instead (i.e. so they're separately compiled). The actual plugin used is the one specified in: build/release/host/config/toolchain.fpc With this mechanism, you can write and configure a toolchain to use a particular compiler, or particular switches. Eventually we will have flx --toolchain=pluginname .... -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language