This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: building 'native', 'cross' and 'cross-native' GCCs


I've installed and tried, in vain, to build my x86_64->powerpc (603e or G2 as it is also known) toolchain but was ultimately frustrated by failure!

The error I am getting and see no way around is during the "Installing C library" stage:

make[3]: *** [/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/librtld.map] Error 1
make[2]: *** [elf/subdir_lib] Error 2
make[1]: *** [all] Error 2
Build failed in step 'Installing C library'
Error happened in '/home/mz/gcc/crosstool-ng-1.10.0/scripts/functions' in function 'CT_DoExecLog' (line unknown, sorry)
called from '/home/mz/gcc/crosstool-ng-1.10.0/scripts/build/libc/glibc-eglibc.sh-common' at line # 251 in function 'do_libc'
called from '/home/mz/gcc/crosstool-ng-1.10.0/scripts/crosstool-NG.sh' at line # 606 in function 'main'
Look at '/home/mz/gcc-test/install/powerpc-unknown-linux-gnu/build.log' for more info on this error.
(elapsed: 21:12.18)
make: *** [build] Error 2


The appropriate log file reveals this:

powerpc-unknown-linux-gnu-gcc -nostdlib -nostartfiles -r -o /home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/librtld.map.o '-Wl,-(' /home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/dl-allobjs.os /home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/libc_pic.a -lgcc '-Wl,-)' -Wl,-Map,/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/librtld.mapT
/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/libc_pic.a(dl-addr.os): In function `_dl_addr_inside_object':
/home/mz/gcc-test/build/src/glibc-2.12.2/elf/dl-addr.c:157: multiple definition of `_dl_addr_inside_object'
/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/dl-allobjs.os:/home/mz/gcc-test/build/src/glibc-2.12.2/elf/dl-open.c:659: first defined here
/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/libc_pic.a(init-first.os):(.sdata+0x0): multiple definition of `__libc_multiple_libcs'
/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/dl-allobjs.os:/home/mz/gcc-test/build/src/glibc-2.12.2/elf/rtld.c:792: first defined here
/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/libc_pic.a(init-first.os): In function `_dl_start':
/home/mz/gcc-test/build/src/glibc-2.12.2/csu/../sysdeps/unix/sysv/linux/powerpc/../init-first.c:111: multiple definition of `_dl_start'
/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/dl-allobjs.os:/home/mz/gcc-test/build/src/glibc-2.12.2/elf/rtld.c:400: first defined here
/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/libc_pic.a(_itoa.os): In function `_itoa':
/home/mz/gcc-test/build/src/glibc-2.12.2/stdio-common/_itoa.c:218: multiple definition of `_itoa'
/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/dl-allobjs.os:/home/mz/gcc-test/build/src/glibc-2.12.2/elf/dl-minimal.c:303: first defined here
collect2: ld returned 1 exit status
make[3]: *** [/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc/elf/librtld.map] Error 1
make[3]: Leaving directory `/home/mz/gcc-test/build/src/glibc-2.12.2/elf'
make[2]: *** [elf/subdir_lib] Error 2
make[2]: Leaving directory `/home/mz/gcc-test/build/src/glibc-2.12.2'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/mz/gcc-test/build/powerpc-unknown-linux-gnu/build/build-libc'


Googling "multiple definition of `_dl_addr_inside_object'" suggests a couple of things to try:

1. removing "-fstack-protector" (I use this option when building gcc);
2. force this by adding "-fno-stack-protector" to both the gcc and glibc builds;
3. use "-j1" instead of (my usual) "-j3"


Unfortunately none of this worked and I am really stuck and very frustrated, so would appreciate any help from the list with regards to how to overcome this problem.

My latest version of the .config file I used during the build is attached to this message (if it is scrubbed by the mailing list daemon please let me know and I will include it in-line as a separate message).

During the whole thing I discovered various bugs in crosstool-ng and also have a few suggestions/questions which I will post in a separate thread as I do not wish to pollute this one.

The versions of the packages I am using/building is:

gcc 4.5.2
gmp 4.3.1
mpfr 3.0.0
binutils 2.21
cloog-ppl 0.15.10
glibc 2.12.2
libelf 0.8.13
mpc 0.8.2
linux kernel 2.6.35

#
# Automatically generated make config: don't edit
# crosstool-NG version: 1.10.0
# Wed Mar 16 15:26:43 2011
#
# CT_BACKEND is not set
CT_MODULES=y

#
# Paths and misc options
#

#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
# CT_DEBUG_CT is not set

#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/t/gcc-test/src"
CT_SAVE_TARBALLS=y
CT_WORK_DIR="${HOME}/t/gcc-test/build"
CT_PREFIX_DIR="${HOME}/t/gcc-test/install/${CT_TARGET}"
CT_INSTALL_DIR="${CT_PREFIX_DIR}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
CT_INSTALL_DIR_RO=y
CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y

#
# Downloading
#
CT_FORBID_DOWNLOAD=y

#
# Extracting
#
# CT_FORCE_EXTRACT is not set
# CT_OVERIDE_CONFIG_GUESS_SUB is not set
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"
# CT_PATCH_SINGLE is not set
# CT_PATCH_USE_LOCAL is not set

#
# Build behavior
#
CT_PARALLEL_JOBS=1
CT_LOAD=0
CT_USE_PIPES=y
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="bash"

#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
CT_LOG_INFO=y
# CT_LOG_EXTRA is not set
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="INFO"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y

#
# Target options
#
CT_ARCH="powerpc"
# CT_ARCH_SUPPORTS_BOTH_MMU is not set
# CT_ARCH_SUPPORTS_BOTH_ENDIAN is not set
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
# CT_ARCH_SUPPORT_ARCH is not set
CT_ARCH_SUPPORT_ABI=y
CT_ARCH_SUPPORT_CPU=y
CT_ARCH_SUPPORT_TUNE=y
# CT_ARCH_SUPPORT_FPU is not set
# CT_ARCH_DEFAULT_HAS_MMU is not set
# CT_ARCH_DEFAULT_BE is not set
# CT_ARCH_DEFAULT_LE is not set
CT_ARCH_DEFAULT_32=y
# CT_ARCH_DEFAULT_64 is not set
CT_ARCH_ABI=""
CT_ARCH_CPU="603e"
CT_ARCH_TUNE="603e"
CT_ARCH_32=y
# CT_ARCH_64 is not set
CT_ARCH_BITNESS=32
CT_ARCH_FLOAT_HW=y
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="-O2 -g -pipe -Wall -fexceptions --param=ssp-buffer-size=4 -fno-stack-protector"
CT_TARGET_LDFLAGS=""

#
# General target options
#
# CT_ARCH_alpha is not set
# CT_ARCH_arm is not set
# CT_ARCH_avr32 is not set
# CT_ARCH_blackfin is not set
# CT_ARCH_m68k is not set
# CT_ARCH_mips is not set
CT_ARCH_powerpc=y
# CT_ARCH_s390 is not set
# CT_ARCH_sh is not set
# CT_ARCH_x86 is not set
CT_ARCH_alpha_AVAILABLE=y
CT_ARCH_arm_AVAILABLE=y
CT_ARCH_avr32_AVAILABLE=y
CT_ARCH_blackfin_AVAILABLE=y
CT_ARCH_m68k_AVAILABLE=y
CT_ARCH_mips_AVAILABLE=y
CT_ARCH_powerpc_AVAILABLE=y
CT_ARCH_s390_AVAILABLE=y
CT_ARCH_sh_AVAILABLE=y
CT_ARCH_x86_AVAILABLE=y
CT_ARCH_USE_MMU=y

#
# powerpc other options
#
# CT_ARCH_POWERPC_SPE is not set

#
# Target optimisations
#

#
# Toolchain options
#

#
# General toolchain options
#
CT_FORCE_SYSROOT=y
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
# CT_STATIC_TOOLCHAIN is not set

#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="unknown"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""

#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"

#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""

#
# Operating System
#
# CT_BARE_METAL is not set
# CT_MINGW32 is not set
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
CT_KERNEL="linux"
# CT_KERNEL_bare_metal is not set
CT_KERNEL_linux=y
# CT_KERNEL_mingw32 is not set
CT_KERNEL_bare_metal_AVAILABLE=y
CT_KERNEL_linux_AVAILABLE=y
CT_KERNEL_LINUX_INSTALL=y
# CT_KERNEL_V_2_6_37 is not set
# CT_KERNEL_V_2_6_36_3 is not set
# CT_KERNEL_V_2_6_36_2 is not set
# CT_KERNEL_V_2_6_36_1 is not set
# CT_KERNEL_V_2_6_36 is not set
# CT_KERNEL_V_2_6_35_10 is not set
# CT_KERNEL_V_2_6_34_8 is not set
# CT_KERNEL_V_2_6_33_7 is not set
# CT_KERNEL_V_2_6_32_28 is not set
# CT_KERNEL_V_2_6_31_14 is not set
# CT_KERNEL_V_2_6_27_57 is not set
CT_KERNEL_LINUX_CUSTOM=y
CT_KERNEL_LINUX_CUSTOM_TARBALL="${HOME}/t/gcc-test/src/linux-2.6.35.x86_64.tar.bz2"
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
CT_KERNEL_LINUX_INSTALL_CHECK=y
# CT_KERNEL_LINUX_USE_CUSTOM_HEADERS is not set
CT_KERNEL_mingw32_AVAILABLE=y

#
# Common kernel options
#
CT_SHARED_LIBS=y

#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
# CT_ARCH_BINFMT_FLAT is not set
# CT_ARCH_BINFMT_FDPIC is not set

#
# GNU binutils
#
CT_BINUTILS_V_2_21=y
# CT_BINUTILS_V_2_20_1 is not set
# CT_BINUTILS_V_2_20 is not set
# CT_BINUTILS_V_2_19_1 is not set
# CT_BINUTILS_V_2_19 is not set
# CT_BINUTILS_V_2_18 is not set
# CT_BINUTILS_V_2_17 is not set
# CT_BINUTILS_V_2_16_1 is not set
CT_BINUTILS_VERSION="2.21"
CT_BINUTILS_2_21_or_later=y
CT_BINUTILS_HAS_GOLD=y
CT_BINUTILS_HAS_PLUGINS=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_GOLD is not set
# CT_BINUTILS_LINKER_LD_GOLD is not set
# CT_BINUTILS_LINKER_GOLD_LD is not set
CT_BINUTILS_LINKERS_LIST="ld"
# CT_BINUTILS_PLUGINS is not set
CT_BINUTILS_EXTRA_CONFIG=""
# CT_BINUTILS_FOR_TARGET is not set

#
# C compiler
#
CT_CC="gcc"
CT_CC_VERSION="4.5.2"
CT_CC_gcc=y
CT_CC_V_4_5_2=y
# CT_CC_V_4_5_1 is not set
# CT_CC_V_4_5_0 is not set
# CT_CC_V_4_4_5 is not set
# CT_CC_V_4_4_4 is not set
# CT_CC_V_4_4_3 is not set
# CT_CC_V_4_4_2 is not set
# CT_CC_V_4_4_1 is not set
# CT_CC_V_4_4_0 is not set
# CT_CC_V_4_3_5 is not set
# CT_CC_V_4_3_4 is not set
# CT_CC_V_4_3_3 is not set
# CT_CC_V_4_3_2 is not set
# CT_CC_V_4_3_1 is not set
# CT_CC_V_4_2_4 is not set
# CT_CC_V_4_2_3 is not set
# CT_CC_V_4_2_2 is not set
# CT_CC_V_4_2_1 is not set
# CT_CC_V_4_2_0 is not set
# CT_CC_V_4_1_2 is not set
# CT_CC_V_4_0_4 is not set
# CT_CC_V_3_4_6 is not set
CT_CC_GCC_4_2_or_later=y
CT_CC_GCC_4_3_or_later=y
CT_CC_GCC_4_4_or_later=y
CT_CC_GCC_4_5_or_later=y
CT_CC_GCC_HAS_GRAPHITE=y
CT_CC_GCC_HAS_LTO=y
CT_CC_GCC_USE_GMP_MPFR=y
CT_CC_GCC_USE_PPL_CLOOG=y
CT_CC_GCC_USE_MPC=y
CT_CC_GCC_USE_LIBELF=y
CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
CT_CC_BUGURL=""
CT_CC_ENABLE_CXX_FLAGS=""
CT_CC_CORE_EXTRA_CONFIG=""
CT_CC_EXTRA_CONFIG=""
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_JAVA=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y

#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
CT_CC_LANG_FORTRAN=y
# CT_CC_LANG_JAVA is not set
# CT_CC_LANG_ADA is not set
CT_CC_LANG_OBJC=y
CT_CC_LANG_OBJCXX=y
CT_CC_LANG_OTHERS=""

#
# gcc other options
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set

#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m

#
# C-library
#
CT_LIBC="glibc"
CT_LIBC_VERSION="2.12.2"
# CT_LIBC_eglibc is not set
CT_LIBC_glibc=y
# CT_LIBC_mingw is not set
# CT_LIBC_newlib is not set
# CT_LIBC_none is not set
# CT_LIBC_uClibc is not set
CT_LIBC_eglibc_AVAILABLE=y
CT_LIBC_glibc_AVAILABLE=y
CT_LIBC_GLIBC_TARBALL=y
CT_LIBC_GLIBC_V_2_12_2=y
# CT_LIBC_GLIBC_V_2_12_1 is not set
# CT_LIBC_GLIBC_V_2_11_1 is not set
# CT_LIBC_GLIBC_V_2_11 is not set
# CT_LIBC_GLIBC_V_2_10_1 is not set
# CT_LIBC_GLIBC_V_2_9 is not set
# CT_LIBC_GLIBC_V_2_8 is not set
# CT_LIBC_GLIBC_V_2_7 is not set
# CT_LIBC_GLIBC_V_2_6_1 is not set
# CT_LIBC_GLIBC_V_2_6 is not set
# CT_LIBC_GLIBC_V_2_5_1 is not set
# CT_LIBC_GLIBC_V_2_5 is not set
CT_LIBC_mingw_AVAILABLE=y
CT_LIBC_newlib_AVAILABLE=y
CT_LIBC_none_AVAILABLE=y
CT_LIBC_uClibc_AVAILABLE=y

#
# glibc/eglibc common options
#
CT_LIBC_GLIBC_EXTRA_CONFIG=""
CT_LIBC_GLIBC_CONFIGPARMS=""
CT_LIBC_GLIBC_EXTRA_CFLAGS="-O2 -g -pipe -Wall -fexceptions --param=ssp-buffer-size=4 -fno-stack-protector"
CT_LIBC_EXTRA_CC_ARGS=""
# CT_LIBC_DISABLE_VERSIONING is not set
CT_LIBC_OLDEST_ABI=""
CT_LIBC_GLIBC_FORCE_UNWIND=y
# CT_LIBC_GLIBC_USE_PORTS is not set
CT_LIBC_ADDONS_LIST=""
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_LIBC_GLIBC_MIN_KERNEL=""
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_NPTL=y
CT_LIBC_SUPPORT_LINUXTHREADS=y
# CT_LIBC_SUPPORT_WIN32THREADS is not set
# CT_LIBC_SUPPORT_THREADS_NONE is not set
CT_THREADS="nptl"

#
# Common C library options
#
CT_THREADS_NPTL=y
# CT_THREADS_LINUXTHREADS is not set
# CT_THREADS_WIN32THREADS is not set
# CT_THREADS_NONE is not set
CT_LIBC_XLDD=y

#
# Debug facilities
#
# CT_DEBUG_dmalloc is not set
# CT_DEBUG_duma is not set
# CT_DEBUG_gdb is not set
# CT_DEBUG_ltrace is not set
# CT_DEBUG_strace is not set

#
# Companion libraries
#
CT_COMPLIBS_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_PPL_NEEDED=y
CT_CLOOG_NEEDED=y
CT_MPC_NEEDED=y
CT_LIBELF_NEEDED=y
CT_COMPLIBS=y
# CT_WRAPPER_NEEDED is not set
CT_GMP=y
CT_MPFR=y
CT_PPL=y
CT_CLOOG=y
CT_MPC=y
CT_LIBELF=y
# CT_GMP_V_5_0_1 is not set
# CT_GMP_V_4_3_2 is not set
CT_GMP_V_4_3_1=y
# CT_GMP_V_4_3_0 is not set
# CT_GMP_V_4_2_4 is not set
# CT_GMP_V_4_2_2 is not set
CT_GMP_VERSION="4.3.1"
CT_MPFR_V_3_0_0=y
# CT_MPFR_V_2_4_2 is not set
# CT_MPFR_V_2_4_1 is not set
# CT_MPFR_V_2_4_0 is not set
# CT_MPFR_V_2_3_2 is not set
# CT_MPFR_V_2_3_1 is not set
CT_MPFR_VERSION="3.0.0"
CT_PPL_V_0_11=y
# CT_PPL_V_0_10_2 is not set
CT_PPL_VERSION="0.11"
CT_CLOOG_V_0_15_10=y
# CT_CLOOG_V_0_15_9 is not set
# CT_CLOOG_V_0_15_8 is not set
# CT_CLOOG_V_0_15_7 is not set
# CT_CLOOG_V_0_15_6 is not set
CT_CLOOG_VERSION="0.15.10"
CT_MPC_V_0_8_2=y
# CT_MPC_V_0_8_1 is not set
# CT_MPC_V_0_7 is not set
# CT_MPC_V_0_6 is not set
CT_MPC_VERSION="0.8.2"
CT_LIBELF_V_0_8_13=y
# CT_LIBELF_V_0_8_12 is not set
CT_LIBELF_VERSION="0.8.13"

#
# Companion libraries common options
#
CT_COMPLIBS_BACKUP=y
# CT_COMPLIBS_CHECK is not set
# CT_COMPLIBS_SHARED is not set

#
# Companion tools
#

#
# READ HELP before you say 'Y' below !!!
#
# CT_COMP_TOOLS is not set

#
# Test suite
#
# CT_TEST_SUITE is not set
# CT_TEST_SUITE_GCC is not set

--
For unsubscribe information see http://sourceware.org/lists.html#faq

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]