西西河

主题:【求助】在Unix下 build gcc -- 阿国

共:💬8 🌺1 新:
分页树展主题 · 全看首页 上页
/ 1
下页 末页
  • 家园 【求助】在Unix下 build gcc

    很初级的问题, 真不好意思问. 不过不知为不知, 还是问吧.

    机器上的GCC版本很久了, 突发奇想要自己下载个新版本来弄弄.

    下载容易, 也UNTAR了, 可没见到有什么Makefile, 怎么弄啊. 哪位知道的来说说?

    gcc-4.2.3下有个cp和libstdc++-v3, 是不是我下少东西了.

    外链出处,

    To configure GCC: 
    
            % mkdir objdir
            % cd objdir
            % srcdir/configure [options] [target]
    
    

    可我怎么也找不到这configure.

    -bash-3.00$ ls gcc-4.2.3/*/*
    gcc-4.2.3/libstdc++-v3/ChangeLog       gcc-4.2.3/libstdc++-v3/ChangeLog-2005  gcc-4.2.3/libstdc++-v3/configure
    gcc-4.2.3/libstdc++-v3/ChangeLog-1998  gcc-4.2.3/libstdc++-v3/ChangeLog-2006  gcc-4.2.3/libstdc++-v3/configure.ac
    gcc-4.2.3/libstdc++-v3/ChangeLog-1999  gcc-4.2.3/libstdc++-v3/Makefile.am     gcc-4.2.3/libstdc++-v3/configure.host
    gcc-4.2.3/libstdc++-v3/ChangeLog-2000  gcc-4.2.3/libstdc++-v3/Makefile.in     gcc-4.2.3/libstdc++-v3/crossconfig.m4
    gcc-4.2.3/libstdc++-v3/ChangeLog-2001  gcc-4.2.3/libstdc++-v3/README          gcc-4.2.3/libstdc++-v3/fragment.am
    gcc-4.2.3/libstdc++-v3/ChangeLog-2002  gcc-4.2.3/libstdc++-v3/acinclude.m4    gcc-4.2.3/libstdc++-v3/linkage.m4
    gcc-4.2.3/libstdc++-v3/ChangeLog-2003  gcc-4.2.3/libstdc++-v3/aclocal.m4
    gcc-4.2.3/libstdc++-v3/ChangeLog-2004  gcc-4.2.3/libstdc++-v3/config.h.in
    
    gcc-4.2.3/gcc/cp:
    ChangeLog           ChangeLog-2002      config-lang.in      decl.c              lang-specs.h        ptree.c
    ChangeLog-1993      ChangeLog-2003      cp-gimplify.c       decl.h              lex.c               repo.c
    ChangeLog-1994      ChangeLog-2004      cp-lang.c           decl2.c             mangle.c            rtti.c
    ChangeLog-1995      ChangeLog.tree-ssa  cp-objcp-common.c   dump.c              method.c            search.c
    ChangeLog-1996      Make-lang.in        cp-objcp-common.h   error.c             name-lookup.c       semantics.c
    ChangeLog-1997      NEWS                cp-tree.def         except.c            name-lookup.h       tree.c
    ChangeLog-1998      call.c              cp-tree.h           expr.c              operators.def       typeck.c
    ChangeLog-1999      cfns.gperf          cvt.c               friend.c            optimize.c          typeck2.c
    ChangeLog-2000      cfns.h              cxx-pretty-print.c  g++spec.c           parser.c
    ChangeLog-2001      class.c             cxx-pretty-print.h  init.c              pt.c
    
    gcc-4.2.3/libstdc++-v3/config:
    abi        allocator  cpu        io         locale     os
    
    gcc-4.2.3/libstdc++-v3/docs:
    doxygen  html
    
    gcc-4.2.3/libstdc++-v3/include:
    Makefile.am      backward         c                c_std            ext              std
    Makefile.in      bits             c_compatibility  debug            precompiled      tr1
    
    gcc-4.2.3/libstdc++-v3/libmath:
    Makefile.am  Makefile.in  copysignf.c  mathconf.h   signbit.c    signbitf.c   signbitl.c   stubs.c
    
    gcc-4.2.3/libstdc++-v3/libsupc++:
    Makefile.am          eh_arm.cc            eh_terminate.cc      new_handler.cc       tinfo2.cc
    Makefile.in          eh_aux_runtime.cc    eh_throw.cc          new_op.cc            typeinfo
    cxxabi.h             eh_call.cc           eh_type.cc           new_opnt.cc          unwind-cxx.h
    del_op.cc            eh_catch.cc          eh_unex_handler.cc   new_opv.cc           vec.cc
    del_opnt.cc          eh_exception.cc      exception            new_opvnt.cc         vterminate.cc
    del_opv.cc           eh_globals.cc        exception_defines.h  pure.cc
    del_opvnt.cc         eh_personality.cc    guard.cc             tinfo.cc
    eh_alloc.cc          eh_term_handler.cc   new                  tinfo.h
    
    gcc-4.2.3/libstdc++-v3/po:
    Makefile.am         POTFILES.in         fr.po               string_literals.cc
    Makefile.in         de.po               libstdc++.pot
    
    gcc-4.2.3/libstdc++-v3/scripts:
    check_compile           extract_symvers         gen_includers2.pl       make_graphs.py
    check_performance       gen_bind_includers.pl   make_exports.pl         testsuite_flags.in
    create_testsuite_files  gen_includers.pl        make_graph.py
    
    gcc-4.2.3/libstdc++-v3/src:
    Makefile.am            ctype.cc               ios_failure.cc         locale.cc              stdexcept.cc
    Makefile.in            debug.cc               ios_init.cc            locale_facets.cc       streambuf-inst.cc
    allocator-inst.cc      debug_list.cc          ios_locale.cc          locale_init.cc         streambuf.cc
    bitmap_allocator.cc    ext-inst.cc            iostream-inst.cc       localename.cc          string-inst.cc
    codecvt.cc             fstream-inst.cc        istream-inst.cc        misc-inst.cc           strstream.cc
    compatibility-ldbl.cc  functexcept.cc         istream.cc             mt_allocator.cc        tree.cc
    
    • 家园 gcc的编译创建过程可繁可简

      简单的就按次序来三条命令:

      1. ./configure

      2. make

      3. make install(注意如果你不指定特定安装目录的话,运行这个命令需要先su成超级用户的)

      如果make没成功结束,出了一堆中间产物,只要敲

      make distclean或make clean 它就自动帮你清除这些失败产物,你又可以再make一次了.

      不过make gcc可是苦差事, 我经常用一天工夫还是失败.所以要多下几个版本,一个版本不行就用另一个,总是能有一个在你的机器上运转的.要知道我还经常build交叉编译环境呢,那更麻烦,还得指定机器类型ARM或是SPARC以及什么二进制文件的ELF或是AOUT的格式之类的.

    • 家园 编译gcc挺麻烦的。

      找'configure',可以在gcc的目录下,‘find . -name "configure' -print'

      网上有编译gcc的'howto'可以看一下。

    • 家园 决定从基本功练起

      想找些关于在UNIX下编译的教材, 有啥好介绍的吗. 例如那个MAKE是什么回事, 那个CONFIGURE是啥, 路径的设置有什么要注意的.

      • 家园 去GNU的网站

        GNU MAKE manual and GNU auto-conf auto-make tools manual, 或者去google gnu make的tutorial,很多的:)

    • 家园 确实少了很多东西

      你下载的是gcc-g++-.4.2.3吧?如果只想安装C/C++编译器,至少还要把gcc-core下载来。

      话说编译gcc不光设置麻烦,光编就要编上大半天,比编译内核慢得太多了。

    • 家园 你是不是找错目录了?

      没有makefile是正常的,makefile由automake和autoconf配合根据你的设定自动生成。而自动生成的过程就是./configure。

      通常,configure这个文件就在gcc-4.2.3下面,我不太清楚你为啥要ls gcc-4.2.3/*/*,你直接ls -l gcc-4.2.3就应该可以看到这个文件了。

      至于没下全,不太可能,没下全意味着tarball没做全,这种事情似乎十分难以想象。

      btw.自己编译gcc,最好找些资料去看看,很多设置颇有一些学问的。

分页树展主题 · 全看首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河