Building crosstool-ng for MIPS on Mac OS X

Titus von Boxberg
Wed Mar 23 19:58:00 GMT 2011

Am 22.03.2011 um 21:26 schrieb Pierrick Brossin:

> Hello,
>> Please send the ct-ng .config file.
> I didn't know there was sample configurations available. Very smart idea.
> I went for mips-unknown-linux-uclibc so I think there's no need to send the .config file over, right ?
> This time I get the following message in the log file:
> [ALL  ]    x86_64-build_apple-darwin10.7.3-gcc   -pipe -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros                               -Wno-overlength-strings    -DHAVE_CONFIG_H -lstdc++ -lm -o cc1plus-dummy         cp/cp-lang.o stub-objc.o cp/call.o cp/decl.o cp/expr.o cp/pt.o cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/ptree.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o cp/cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o  c-pretty-print.o c-opts.o c-pch.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o tree-inline.o dummy-checksum.o main.o  libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a  -liconv ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/Volumes/CrosstoolCompile/crosstool-ng-1.10.0/.build/mips-unknown-linux-uclibc/build/static/lib -L/Volumes/CrosstoolCompile/crosstool-ng-1.10.0/.build/mips-unknown-linux-uclibc/build/static/lib -lmpfr -lgmp
> [ALL  ]    x86_64-build_apple-darwin10.7.3-gcc   -pipe -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros                               -Wno-overlength-strings    -DHAVE_CONFIG_H -lstdc++ -lm -o f951            fortran/arith.o fortran/array.o fortran/bbt.o fortran/check.o fortran/data.o fortran/decl.o fortran/dump-parse-tree.o fortran/error.o fortran/expr.o fortran/interface.o fortran/intrinsic.o fortran/io.o fortran/iresolve.o fortran/match.o fortran/matchexp.o fortran/misc.o fortran/module.o fortran/openmp.o fortran/options.o fortran/parse.o fortran/primary.o fortran/resolve.o fortran/scanner.o fortran/simplify.o fortran/st.o fortran/symbol.o fortran/target-memory.o fortran/convert.o fortran/dependency.o fortran/f95-lang.o fortran/trans.o fortran/trans-array.o fortran/trans-common.o fortran/trans-const.o fortran/trans-decl.o fortran/trans-expr.o fortran/trans-intrinsic.o fortran/trans-io.o fortran/trans-openmp.o fortran/trans-stmt.o fortran/trans-types.o main.o  libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a  -liconv ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a attribs.o -L/Volumes/CrosstoolCompile/crosstool-ng-1.10.0/.build/mips-unknown-linux-uclibc/build/static/lib -L/Volumes/CrosstoolCompile/crosstool-ng-1.10.0/.build/mips-unknown-linux-uclibc/build/static/lib -lmpfr -lgmp
> [ALL  ]    ld: duplicate symbol _insert_decl_map in libbackend.a(tree-inline.o) and tree-inline.o for architecture x86_64
> [ALL  ]    collect2: ld returned 1 exit status
> [ERROR]    make[3]: *** [cc1plus-dummy] Error 1
> [ALL  ]    make[3]: *** Waiting for unfinished jobs....
> [ALL  ]    rm gfortran.pod
> [ERROR]    make[2]: *** [all-gcc] Error 2
> [ERROR]    make[1]: *** [all] Error 2
> [ERROR]    Build failed in step 'Installing final compiler'
> [ERROR]    Error happened in '/Volumes/CrosstoolCompile/crosstool-ng-1.10.0/scripts/functions' in function 'CT_DoExecLog' (line unknown, sorry)
> [ERROR]          called from '/Volumes/CrosstoolCompile/crosstool-ng-1.10.0/scripts/build/cc/' at line # 524 in function 'do_cc'
> [ERROR]          called from '/Volumes/CrosstoolCompile/crosstool-ng-1.10.0/scripts/' at line # 606 in function 'main'
> [ERROR]    Look at '/Volumes/Crosstool/mips-unknown-linux-uclibc/build.log' for more info on this error.
> [ERROR]  (elapsed: 13:56.00)


I tried this configuration with head of ct-ng and get the same error.
However, gcc-4.3.2 is so stone old that I recommend to not care.

Attached a .config file that claims to build MIPS tools (gcc 4.5.1, binutils 2.20, glibc 2.9)
up to gdb on MacOS.
gdb build fails due to an incompatible declaration of stpcpy which
would be easy to patch away. However, also the gdb version configured (6.8) is OLD,
and at least for C++ not recommendable.
Select 7.2 (or maybe 7.1) first, then try to build the tool chain.
As I did not have problems building these gdb versions on MacOS,
I presume that it will work for you as well.

Some miscellaneous hints:
If you have access to a linux box then first try to compile
the toolchain on that OS. All guys on the crossgcc list I'm aware
of use linux, and all of this software is mainly developed on linux.
If you have - after a successful build on linux - problems building this
toolchain on MacOS, post the specific problem on the list, I'll give it a try.
Hope that helps.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: config-mips
Type: application/octet-stream
Size: 11404 bytes
Desc: not available
URL: <>
-------------- next part --------------

-------------- next part --------------
For unsubscribe information see

More information about the crossgcc mailing list