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

Reply via email to