Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Can't compile SDCC

Help
2012-01-14
2013-03-12
  • I am trying to compile SDCC, but make keeps erroring out with:

    make[1]: Entering directory `/home/nick/Downloads/sdcc/src'
    g++ -pipe -ggdb -g -O2 -Wall -Wno-parentheses  -I. -I.. -I./../support/util -I. -I.  -c -o SDCCnaddr.o SDCCnaddr.cc
    In file included from /usr/include/c++/4.4/backward/hash_set:60,
                     from /usr/include/boost/pending/container_traits.hpp:23,
                     from /usr/include/boost/graph/detail/adjacency_list.hpp:31,
                     from /usr/include/boost/graph/adjacency_list.hpp:324,
                     from /usr/include/boost/graph/graphviz.hpp:24,
                     from SDCCnaddr.hpp:31,
                     from SDCCnaddr.cc:22:
    /usr/include/c++/4.4/backward/backward_warning.h:28:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
    In file included from SDCCnaddr.cc:22:
    SDCCnaddr.hpp: In function ‘void annotate_cfg_naddr(cfg_t&)’:
    SDCCnaddr.hpp:158: error: using ‘typename’ outside of template
    SDCCnaddr.hpp:200: error: using ‘typename’ outside of template
    SDCCnaddr.hpp:209: error: using ‘typename’ outside of template
    SDCCnaddr.hpp: In function ‘int tree_dec_naddrswitch_introduce(T_t&, typename boost::graph_traits<Graph>::vertex_descriptor, const G_t&) [with T_t = boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, tree_dec_naddr_node, boost::no_property, boost::no_property, boost::listS>, G_t = boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, cfg_node, float, boost::no_property, boost::listS>]’:
    SDCCnaddr.hpp:408:   instantiated from ‘int tree_dec_naddrswitch_nodes(T_t&, typename boost::graph_traits<Graph>::vertex_descriptor, const G_t&) [with T_t = boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, tree_dec_naddr_node, boost::no_property, boost::no_property, boost::listS>, G_t = boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, cfg_node, float, boost::no_property, boost::listS>]’
    SDCCnaddr.hpp:457:   instantiated from ‘int tree_dec_address_switch(T_t&, const G_t&) [with T_t = tree_dec_naddr_t, G_t = cfg_t]’
    SDCCnaddr.cc:39:   instantiated from here
    SDCCnaddr.hpp:265: warning: comparison between signed and unsigned integer expressions
    make[1]: *** [SDCCnaddr.o] Error 1
    make[1]: Leaving directory `/home/nick/Downloads/sdcc/src'
    make: *** [sdcc-cc] Error 2
    
     
  • Raphael Neider
    Raphael Neider
    2012-01-14

    What SDCC version are you trying to compile? In svn r7214 from 2012-01-14, some typename-related bugs were fixed in that file.
    If updating to a later revision does not help, what gcc version are you using (gcc -version)? On what system?

    Good luck,
    Raphael

     
  • I was trying to compile the snapshot for Jan 14, I switched to SVN though and it worked now, thanks!