diorcety / crosstool-ng Goto Github PK
View Code? Open in Web Editor NEWcrosstool-ng fork with the full support of Darwin/Linux/Windows as build and host machine
License: Other
crosstool-ng fork with the full support of Darwin/Linux/Windows as build and host machine
License: Other
I'm going to add support for 3.4 just like 3.3 etc. as master will have new features.
Some testing on mingwdroid firefox scripts has built a successful 64 bit clang which is why I believe we need this now.
Issue is just to remind me to do it.
Lets say we build for i686-darwin target after extracting and patching sources and we fail because LLVM need's python to be installed. ie. > 2.5
When we add the missing package via pacman and try to continue with ct-ng build we get the following error.
[INFO ] Extract kernel headers and libraries (minimal): done in 103.27s (at 04:07)
[04:07] / mv: cannot stat '/home/Martell/cttest/.build/src/ld64-127.2/*': No such file or directory
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Extracting and patching toolchain components'
[ERROR] >> called in step '(top-level)'
Maybe this has to do with the fact that we are time stamping to 1999-12-31
It's quite frustrating to have to delete the src directory everytime only to re extract and patch the sources again
--- "a/C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\TortoiseGit\\nco195A.tmp\\nconf-1ed9206-left.c"
+++ "b/X:\\LIBRARIES\\crosstool-ng-darwin-svn\\kconfig\\nconf.c"
@@ -1544,8 +1544,9 @@ int main(int ac, char **av)
}
notimeout(stdscr, FALSE);
- ESCDELAY = 1;
-
+ //ESCDELAY = 1;
+ set_escdelay(1);
+
/* set btns menu */
curses_menu = new_menu(curses_menu_items);
menu_opts_off(curses_menu, O_SHOWDESC);
It is impossible to have CT_SHARED_LIBS under Windows and so on, whether you choose Static or not in the menuconfig for Windows, the shared libs are never done because of this in the final core compiler and one or two other locations,
I don't understand because it seems the original crosstool-ng also does have this issue so nobody really builds shared libs in Windows ??
[ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared")
So instead of setting --enable-shared over the disable option in an extra config and guess if it is accepted or not I do
Index: config/kernel/windows.in
--- config/kernel/windows.in.orig 2014-01-22 02:13:21.908067800 +0100
+++ config/kernel/windows.in 2014-01-22 02:13:40.415521900 +0100
@@ -3,5 +3,6 @@
## depends on ARCH_x86
##
## select WINDOWS
+## select KERNEL_SUPPORTS_SHARED_LIBS
##
## help Build a toolchain targeting systems running Windows as host
Then I'm allowed to have CT_SHARED_LIBS=y on windows
Without it is impossible to get the dll compiled, you can try, uncheck the static option in gcc, uncheck the static one in the toolchains options, the shared dll are never compiled because --disable-shared is always applied and forbids the default behaviour of gcc which is to generate shared libs
Built everything in Windows host, builders x86_64-w64-mingw32 and i686-w64-mingw32 (msys2 bases with export PATH=/mingw64/bin:${PATH} before building)
gcc-4.8.2-i686-unknown-linux-dw2 (targets linux 32-bit)
gcc-4.8.2-x86_64-unknown-linux-dw2 (targets linux 64-bit)
gcc-4.8.2-x86_64-w64-mingw32-seh (targets windows 64-bit)
gcc-4.8.2-i686-w64-mingw32-dw2 (targets windows 32-bit)
gcc-5666.3-x86_64-apple-darwin10-dw2 (targets mac 64-bit)
To reproduce
For Ray Donelly:
Most patches are my personal not intended to be pushed but if you think some of them are interesting feel free to re-use at your will
Patch marked as:
update-* => just version updates
srcpatch-* => packages source patches (most are old port to new versions)
fix-* => Patches bugs I have encountered
feature-* => feature I believe missing, whether you statically build or not, you may need both --enable-static and --enable-shared for lib redistributions
Target x86_64-apple-darwin10-dw2:
had a small "Invalid Syntax" issue with Python 3.3 which I have fixed with 150-python-print.patch
diff -durN llvm-3.4.orig/Makefile.rules llvm-3.4/Makefile.rules
--- llvm-3.4.orig/Makefile.rules 2013-11-15 00:51:29.000000000 +0100
+++ llvm-3.4/Makefile.rules 2014-01-31 14:39:32.581437400 +0100
@@ -794,7 +794,7 @@
#----------------------------------------------------------
ifeq (-mingw32,$(findstring -mingw32,$(BUILD_TRIPLE)))
- ECHOPATH := $(Verb)$(PYTHON) -u -c "import sys;print ' '.join(sys.argv[1:])"
+ ECHOPATH := $(Verb)$(PYTHON) -u -c "import sys;print(' '.join(sys.argv[1:]))"
else
ECHOPATH := $(Verb)$(ECHO)
endif
diff -durN llvm-3.4.orig/projects/sample/Makefile.llvm.rules llvm-3.4/projects/sample/Makefile.llvm.rules
--- llvm-3.4.orig/projects/sample/Makefile.llvm.rules 2013-08-05 00:06:11.000000000 +0200
+++ llvm-3.4/projects/sample/Makefile.llvm.rules 2014-01-31 14:40:08.021034000 +0100
@@ -724,7 +724,7 @@
#----------------------------------------------------------
ifeq (-mingw32,$(findstring -mingw32,$(BUILD_TRIPLE)))
- ECHOPATH := $(Verb)$(PYTHON) -u -c "import sys;print ' '.join(sys.argv[1:])"
+ ECHOPATH := $(Verb)$(PYTHON) -u -c "import sys;print(' '.join(sys.argv[1:]))"
else
ECHOPATH := $(Verb)$(ECHO)
endif
Another issue in building final gcc near the end:
ld: warning: could not create compact unwind for __Unwind_Resume: non-standard register 0 being saved in prolog
ld: warning: could not create compact unwind for __Unwind_ForcedUnwind: non-standard register 0 being saved in prolog
ld: warning: could not create compact unwind for __Unwind_RaiseException: non-standard register 0 being saved in prolog
ld: warning: could not create compact unwind for __Unwind_Resume_or_Rethrow: non-standard register 0 being saved in prolog
ld: in X:/libs/gcc-5666.3-x86_64-apple-darwin10-dw2/x86_64-apple-darwin10/sysroot/usr/lib/libc.dylib, file too small for architecture x86_64
fixed by deleting the libc.dylib link and duplicated libSystem.B.dylib and renamed the duplication to libc.dylib
No more issues after that
Target i686-unknown-linux-dw2 / x86_64-unknown-linux-dw2:
at steps libc_start_files and libc you will have to edit the generated file stdio_lim.d which has in it the Windows drive letter which you need to replace in a mingw path, in my case I replace X: to /x
The same for a elf/librtld.map generated file, just need to replace some Windows to unix path
Target Windows : no special issues except one when you use the 32 or 64-bit compiler, it does not find gcc-4.8.2-x86_64-w64-mingw32-seh\lib\gcc\x86_64-w64-mingw32\lib\libgcc_s.a
It first look in X:\libs\gcc-4.8.2-x86_64-w64-mingw32-seh\lib\gcc\x86_64-w64-mingw32\4.8.2 but never in the lib folder near the 4.8.2 one so copying
gcc-4.8.2-x86_64-w64-mingw32-seh\lib\gcc\x86_64-w64-mingw32\lib\libgcc_s.a
to
gcc-4.8.2-x86_64-w64-mingw32-seh\lib\gcc\x86_64-w64-mingw32\4.8.2\libgcc_s.a
fixes the issue
Something I already reported but you did not fixed, so test these sample cases on Windows and you will get it
Working fine
mkdir /x/cptest
mkdir /x/cptest/source/include -p
touch /x/cptest/source/include/testfile
mkdir /x/cptest/dest
cp -a /x/cptest/source/include /x/cptest/dest/include
=> /x/cptest/dest/include/testfile
Pathing bug
mkdir /x/cptest
mkdir /x/cptest/source/include -p
touch /x/cptest/source/include/testfile
mkdir /x/cptest/dest/include -p
cp -a /x/cptest/source/include /x/cptest/dest/include
=> /x/cptest/dest/include/include/testfile
Notice the double include path /x/cptest/dest/include/include/testfile
This is root cause of problems in 100-gcc.sh targeting Linux because your patch below is never installed correctly if "${prefix}/${CT_TARGET}/include" exists
if [ "${copy_headers}" = "y" ]; then
CT_DoLog DEBUG "Copying headers to install area of bootstrap gcc, so it can build libgcc2"
CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include"
fi
or in a old build.sh patch
CT_DoExecLog ALL cp -a "${sysroot_dir}" "${prefix}/${CT_TARGET}/${sysroot_dir}"
I'm attempting to use the x64_64-apple-darwin10 toolchain to cross compile Go programs that utilize cgo (the official bridge between C code and Go code).
I've built the x86_64-apple-darwin10 toolchain on Ubuntu 12.04, building crosstool-ng from source.
$ ./ct-ng x86_64-apple-darwin10
$ ./ct-ng build
I'm attempting to build a very simple cgo program, echocgo, which just prints out command line arguments.
I'm compiling the program with the following command
CC=x86_64-build_unknown-linux-gnu-gcc GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 go build -x -ldflags="-extld=x86_64-build_unknown-linux-gnu-gcc"
I'm not sure why the name of the apple-darwin toolchain is x86_64-build_unknown-linux-gnu-gcc
. Anyways, the above command eventually calls out to the linker here:
x86_64-build_unknown-linux-gnu-gcc -m64 -gdwarf-2 -Wl,-no_pie,-pagezero_size,4000000 -o cgoecho output/000000.o output/000001.o output/go.o -lpthread
This fails with the error
/usr/bin/ld: unrecognized option '-pagezero_size'
So I'm wondering two things: is the toolchain using the correct linker? And secondly, why that flag doesn't work using the apple-darwin10 toolchain. Thanks for reading this long and rambling bug report.
I'm stuck on this one, It seems on a cygwin host the cctools compilation targets i686-apple-darwin10 but with using the cygwin headers and gives this
[INFO ] Installing cctools for host
[ERROR] /usr/include/sys/reent.h:195:3: error: expected specifier-qualifier-list before '_ssize_t'
[ERROR] /usr/include/sys/reent.h:251:3: error: expected specifier-qualifier-list before '_ssize_t'
[ERROR] /usr/include/sys/reent.h:609:11: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/sys/reent.h:610:11: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/sys/reent.h:611:11: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/sys/reent.h:615:11: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/sys/reent.h:616:11: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/sys/reent.h:617:11: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/sys/reent.h:618:11: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/sys/reent.h:619:11: error: unknown type name '_mbstate_t'
[ERROR] /root/crosstool-ng-darwin-svn/.build/src/cctools-809/include/i386/types.h:105:27: error: conflicting types for 'intptr_t'
[ERROR] /root/crosstool-ng-darwin-svn/.build/src/cctools-809/include/i386/types.h:109:24: error: conflicting types for 'uintptr_t'
[ERROR] /usr/include/sys/types.h:117:1: error: unknown type name '_CLOCK_T_'
[ERROR] /usr/include/sys/types.h:122:1: error: unknown type name '_TIME_T_'
[ERROR] /usr/include/sys/types.h:203:1: error: unknown type name '_ssize_t'
[ERROR] /usr/include/sys/types.h:275:1: error: unknown type name '_CLOCKID_T_'
[ERROR] /usr/include/sys/types.h:280:1: error: unknown type name '_TIMER_T_'
[ERROR] /usr/include/cygwin/types.h:40:1: error: unknown type name '_off64_t'
[ERROR] /usr/include/cygwin/types.h:44:1: error: unknown type name '__loff_t'
[ERROR] /usr/include/sys/unistd.h:144:25: error: expected ',' or ';' before 'read'
[ERROR] /usr/include/sys/unistd.h:189:25: error: expected ',' or ';' before 'write'
[ERROR] /usr/include/stdlib.h:96:5: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/stdlib.h:98:5: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/stdlib.h:100:5: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/stdlib.h:102:8: error: unknown type name '_mbstate_t'
[ERROR] /usr/include/stdlib.h:104:8: error: unknown type name '_mbstate_t'
[ERROR] /root/crosstool-ng-darwin-svn/.build/src/cctools-809/include/mach/i386/vm_types.h:103:20: error: conflicting types for 'vm_offset_t'
[ERROR] /root/crosstool-ng-darwin-svn/.build/src/cctools-809/include/mach/i386/vm_types.h:114:20: error: conflicting types for 'vm_size_t'
Not sure yet the proper way to fix this, because if I include the 10.6 sdk includes and libraries files , seems to pass the compilation errors but then I'm stuck at many unresolved symbols to undefined reference to `fopen$UNIX2003' and more and gcc 4.8.2 cygwin can't seem to be able to link against the libSystem.B.dylib present in the sysroot/sdk folder
If you have any idea thank you.
--- "a/C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\TortoiseGit\\fun97EE.tmp\\functions-1ed9206-left"
+++ "b/X:\\LIBRARIES\\crosstool-ng-darwin-svn\\scripts\\functions"
@@ -466,7 +466,7 @@ CT_DoForceRmdir() {
for dir in "${@}"; do
[ -d "${dir}" ] || continue
case "$CT_SYS_OS" in
- Linux|CYGWIN|MSYS*)
+ Linux|CYGWIN*|MSYS*)
mode="$(stat -c '%a' "$(dirname "${dir}")")"
;;
Darwin|*BSD)
I tried to build according to https://trac.torproject.org/projects/tor/ticket/9711#comment:13 but am still getting the same error as in cross_mac_vm_full.tar.bz2 in the same bug ticket
Hey guys,
I'm trying to build a darwin toolchain to cross-compile from Linux for Mac.
I've got a .config which is a slightly modified version of the i686 darwin11 config:
CT_EXPERIMENTAL=y
CT_STATIC_TOOLCHAIN=n
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
CT_LOG_EXTRA=y
CT_MULTILIB=y
CT_LLVM_V_3_4=y
# llvmgcc needs an older version of LLVM (2.7)
# such as the one that comes in Apples tarball
# Disabled until - maybe never! - we get round
# to allowing two different LLVM builds.
CT_CC_llvmgcc=n
CT_CC_LLVMGCC_V_2336_11=y
CT_LLVM_COMPILER_RT=n
CT_ARCH_64=y
CT_ARCH_x86=y
CT_TARGET_VENDOR="apple"
CT_KERNEL_darwin=y
CT_DARWIN_MAC_OSX_V_10_9=y
CT_DARWIN_VERSION="13"
CT_DARWIN_SDK_PATH="${HOME}/MacOSX10.9.sdk"
CT_SHARED_LIBS=y
CT_BINUTILS_cctools=y
CT_CCTOOLS_V_809=y
CT_CC_GCC_V_apple_5666_3=y
CT_CC_clang=y
CT_CC_LANG_CXX=y
CT_CC_LANG_OBJC=y
CT_CC_LANG_OBJCXX=y
CT_LIBC_none=y
CT_EXPORT_BUILD_TOOLS=y
# Clang is currently broken without this!
# It doesn't look in -isysroot folder ...
CT_DARWIN_COPY_SDK_TO_SYSROOT=n
# For repeatable builds, must be the -t format
# because touch on Mac doesn't support --date=
CT_SRC_REFERENCE_DATETIME="199912312359.59"
However, I'm hitting two issues. If CT_DARWIN_COPY_SDK_TO_SYSROOT
is set to n, gcc fails to build as various headers that are in the SDK aren't placed inside of the generated sysroot directory (which I guess it depends on). I don't have an exact error, I forgot to save a log and it'll be another hour to generate it.
If I set it to y however, clang then subsequently fails to build. I'm not sure why, my VM ran out of disk space, and I noticed the clang executable that was built was 500+mb, with the entire bin directory for the clang build being > 10gb in size.
Anyways, I just wanted to see if anything was obviously wrong here before I kept testing (iteration is very slow due to #4).
Hello
I have been able to successfully build gcc-5666.3
target=x86_64-apple-darwin10 host=x86_64-w64-mingw32 (no multilib)
bitness:64bit -m64 --with-arch=nocona --with-tune=core2
'CC_FOR_BUILD=x86_64-build_w64-mingw32-gcc' 'CFLAGS_FOR_BUILD=-m64' 'CFLAGS=-O2 -pipe -m64 -D__USE_MINGW_ANSI_STDIO=1' 'CXXFLAGS=-O2 -pipe -m64 -D__USE_MINGW_ANSI_STDIO=1' 'LDFLAGS= -pipe -m64 -static -lstdc++ -lm' 'CFLAGS_FOR_TARGET= -march=nocona -mtune=core2 ' 'CXXFLAGS_FOR_TARGET= -march=nocona -mtune=core2 ' 'LDFLAGS_FOR_TARGET= ' '../../../src/gcc-5666.3/configure' '--build=x86_64-build_w64-mingw32' '--host=x86_64-build_w64-mingw32' '--target=x86_64-apple-darwin10' '--prefix=/libs/gcc-5666.3-x86_64-apple-darwin10-dw2' '--with-sysroot=/libs/gcc-5666.3-x86_64-apple-darwin10-dw2' '--enable-languages=c,c++' '--with-arch=nocona' '--with-tune=core2' '--enable-shared' '--enable-static' '--enable-__cxa_atexit' '--disable-libmudflap' '--disable-libgomp' '--disable-libssp' '--with-cloog=/libs/tmp/.build/x86_64-apple-darwin10/buildtools' '--with-libelf=/libs/tmp/.build/x86_64-apple-darwin10/buildtools' '--with-host-libstdcxx=-static-libgcc -Wl,-Bstatic,-lstdc++ -lm' '--enable-threads=posix' '--enable-target-optspace' '--without-long-double-128' '--disable-nls' '--disable-multilib' '--with-gxx-include-dir=./usr/include/c++/4.2.1' '--with-ld=/libs/gcc-5666.3-x86_64-apple-darwin10-dw2/bin/x86_64-apple-darwin10-ld.exe' '--with-ar=/libs/gcc-5666.3-x86_64-apple-darwin10-dw2/bin/x86_64-apple-darwin10-ar.exe' '--with-as=/libs/gcc-5666.3-x86_64-apple-darwin10-dw2/bin/x86_64-apple-darwin10-as.exe' '--with-ranlib=/libs/gcc-5666.3-x86_64-apple-darwin10-dw2/bin/x86_64-apple-darwin10-ranlib.exe' '--with-lipo=/libs/gcc-5666.3-x86_64-apple-darwin10-dw2/bin/x86_64-apple-darwin10-lipo.exe' '--with-local-prefix=/libs/gcc-5666.3-x86_64-apple-darwin10-dw2' '--enable-c99' '--enable-long-long' '--enable-version-specific-runtime-libs' '--enable-fully-dynamic-string' '--disable-libstdcxx-debug' '--disable-werror' '--disable-symvers' '--disable-isl-version-check' '--disable-cloog-version-check' '--disable-rpath' '--enable-cloog-backend=isl' '--enable-dw2-exceptions' '--disable-sjlj-exceptions' '--with-arch=nocona' '--with-tune=core2'
but I fail with
target=i686-apple-darwin10 host=i686-w64-mingw32 failure (no multilib)
bitness:32bit -m32 --with-arch=i686 --with-tune=generic
'CC_FOR_BUILD=i686-build_w64-mingw32-gcc' 'CFLAGS_FOR_BUILD=-m32' 'CFLAGS=-O2 -pipe -m32 -D__USE_MINGW_ANSI_STDIO=1' 'CXXFLAGS=-O2 -pipe -m32 -D__USE_MINGW_ANSI_STDIO=1' 'LDFLAGS= -pipe -m32 -static -lstdc++ -lm' 'CFLAGS_FOR_TARGET= -march=i686 -mtune=generic ' 'CXXFLAGS_FOR_TARGET= -march=i686 -mtune=generic ' 'LDFLAGS_FOR_TARGET= ' '../../../src/gcc-5666.3/configure' '--build=i686-build_w64-mingw32' '--host=i686-build_w64-mingw32' '--target=i686-apple-darwin10' '--prefix=/libs/gcc-5666.3-i686-apple-darwin10-dw2' '--with-sysroot=/libs/gcc-5666.3-i686-apple-darwin10-dw2' '--enable-languages=c,c++' '--with-arch=i686' '--with-tune=generic' '--enable-shared' '--enable-static' '--enable-__cxa_atexit' '--disable-libmudflap' '--disable-libgomp' '--disable-libssp' '--with-cloog=/libs/tmp/.build/i686-apple-darwin10/buildtools' '--with-libelf=/libs/tmp/.build/i686-apple-darwin10/buildtools' '--with-host-libstdcxx=-static-libgcc -Wl,-Bstatic,-lstdc++ -lm' '--enable-threads=posix' '--enable-target-optspace' '--without-long-double-128' '--disable-nls' '--disable-multilib' '--with-gxx-include-dir=./usr/include/c++/4.2.1' '--with-ld=/libs/gcc-5666.3-i686-apple-darwin10-dw2/bin/i686-apple-darwin10-ld.exe' '--with-ar=/libs/gcc-5666.3-i686-apple-darwin10-dw2/bin/i686-apple-darwin10-ar.exe' '--with-as=/libs/gcc-5666.3-i686-apple-darwin10-dw2/bin/i686-apple-darwin10-as.exe' '--with-ranlib=/libs/gcc-5666.3-i686-apple-darwin10-dw2/bin/i686-apple-darwin10-ranlib.exe' '--with-lipo=/libs/gcc-5666.3-i686-apple-darwin10-dw2/bin/i686-apple-darwin10-lipo.exe' '--with-local-prefix=/libs/gcc-5666.3-i686-apple-darwin10-dw2' '--enable-c99' '--enable-long-long' '--enable-version-specific-runtime-libs' '--enable-fully-dynamic-string' '--disable-libstdcxx-debug' '--disable-werror' '--disable-symvers' '--disable-isl-version-check' '--disable-cloog-version-check' '--disable-rpath' '--enable-cloog-backend=isl' '--enable-dw2-exceptions' '--disable-sjlj-exceptions' '--with-arch=i686' '--with-tune=generic'
I attempted to compare both builds, it seems in i686 mode it is attempting to use -m64 that is set within a makefile call that is not made in x86_64 mode, the stmp-multilib that is building kext64, strange because in 64bit mode it does not compile kext64 but kext only
[ALL ] /usr/bin/make GCC_FOR_TARGET="/libs/tmp/.build/i686-apple-darwin10/build/build-cc-gcc-final/./gcc/xgcc -B/libs/tmp/.build/i686-apple-darwin10/build/build-cc-gcc-final/./gcc/ -B/libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/bin/ -B/libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/lib/ -B/libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/lib/system -isystem /libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/include -isystem /libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/sys-include " AR_FOR_TARGET="i686-apple-darwin10-ar" AR_CREATE_FOR_TARGET="i686-apple-darwin10-ar rc" AR_EXTRACT_FOR_TARGET="i686-apple-darwin10-ar x" AR_FLAGS_FOR_TARGET="" CC="gcc" CFLAGS="-O2 -pipe -m32 -D__USE_MINGW_ANSI_STDIO=1 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute " BUILD_PREFIX="" BUILD_PREFIX_1="" LANGUAGES="" LIBGCC2_CFLAGS="-O2 -g -Os -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -mkernel -m64 -Dmalloc=kern_os_malloc -Dfree=kern_os_free -DLIBCC_KEXT " LIBGCC2_STATIC_CFLAGS="-mmacosx-version-min=10.4" MULTILIB_CFLAGS=" -mkernel -m64 -Dmalloc=kern_os_malloc -Dfree=kern_os_free -DLIBCC_KEXT" T=kext64/ kext64/crt3.o
[ALL ] /libs/tmp/.build/i686-apple-darwin10/build/build-cc-gcc-final/./gcc/xgcc -B/libs/tmp/.build/i686-apple-darwin10/build/build-cc-gcc-final/./gcc/ -B/libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/bin/ -B/libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/lib/ -B/libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/lib/system -isystem /libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/include -isystem /libs/gcc-5666.3-i686-apple-darwin10-dw2/i686-apple-darwin10/sys-include -O2 -g -Os -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../../../src/gcc-5666.3/gcc -I../../../../src/gcc-5666.3/gcc/. -I../../../../src/gcc-5666.3/gcc/../include -I../../../../src/gcc-5666.3/gcc/../libcpp/include -I../../../../src/gcc-5666.3/gcc/../libdecnumber -I../libdecnumber -DSHARED -mkernel -m64 -Dmalloc=kern_os_malloc -Dfree=kern_os_free -DLIBCC_KEXT -DL_get_pc_thunk_ax -xassembler-with-cpp -c ../../../../src/gcc-5666.3/gcc/config/i386/lib1funcs.asm -o libgcc/kext64/_get_pc_thunk_ax_s.o
[ALL ] make[5]: Entering directory '/libs/tmp/.build/i686-apple-darwin10/build/build-cc-gcc-final/gcc'
[ERROR] ../../../../src/gcc-5666.3/gcc/config/i386/lib1funcs.asm:0: error: CPU you selected does not support x86-64 instruction set
[ALL ] libgcc.mk:2517: recipe for target 'libgcc/kext64/_get_pc_thunk_ax_s.o' failed
[ERROR] make[4]: *** [libgcc/kext64/_get_pc_thunk_ax_s.o] Error
Hi,
I have the following issue,
I am on Mac OS Mountain.
Thanks,
./ct-ng build rm: /opt/espressif/crosstool-NG/build.log: Permission denied touch: /backtrace: Permission denied /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 22: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 23: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 32: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 37: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 37: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 101: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 105: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 106: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 108: CT_DoLog: command not found /opt/espressif/crosstool-NG/lib/ct-ng.1.20.0/scripts/functions: line 109: CT_DoEnd: command not found make: *** [build] Error 1
Better replace because for example when you do
if [ "${CT_MULTILIB}" = "n" ]; then
and in the config file
CT_MULTILIB is indeed to n but the condition will not be executed
It's an example of what I mean conflict when using your build.sh patch because by supporting multilib, you break the no multilib or ln -s support
I have attempted to install all recent linux kernels 3.x and they failed with the same error, also attempted the latest LT support 2.x kernel but it also failled but havent a log for this one will resubmit ticket later
fatal error: elf.h: No such file or directory
[DEBUG] ==> Executing: 'make' '-C' '/root/tmp/linux-build/.build/src/linux-3.12' 'O=/root/tmp/linux-build/.build/x86_64-unknown-linux-gnu/build/build-kernel-headers' 'ARCH=x86' 'INSTALL_HDR_PATH=/root/gcc-4.8.2-x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/sysroot/usr' 'V=1' 'headers_install'
[ALL ] make[1]: Entering directory '/root/tmp/linux-build/.build/src/linux-3.12'
[ALL ] /usr/bin/make -C /root/tmp/linux-build/.build/x86_64-unknown-linux-gnu/build/build-kernel-headers KBUILD_SRC=/root/tmp/linux-build/.build/src/linux-3.12 KBUILD_EXTMOD="" -f /root/tmp/linux-build/.build/src/linux-3.12/Makefile headers_install
[ALL ] set -e; : ' CHK include/generated/uapi/linux/version.h'; mkdir -p include/generated/uapi/linux/; (echo #define LINUX_VERSION_CODE 199680; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) < /root/tmp/linux-build/.build/src/linux-3.12/Makefile > include/generated/uapi/linux/version.h.tmp; if [ -r include/generated/uapi/linux/version.h ] && cmp -s include/generated/uapi/linux/version.h include/generated/uapi/linux/version.h.tmp; then rm -f include/generated/uapi/linux/version.h.tmp; else : ' UPD include/generated/uapi/linux/version.h'; mv -f include/generated/uapi/linux/version.h.tmp include/generated/uapi/linux/version.h; fi
[ALL ] /usr/bin/make -f /root/tmp/linux-build/.build/src/linux-3.12/scripts/Makefile.build obj=scripts/basic
[ALL ] rm -f .tmp_quiet_recordmcount
[ALL ] /usr/bin/make -f /root/tmp/linux-build/.build/src/linux-3.12/scripts/Makefile.asm-generic src=asm obj=arch/x86/include/generated/asm
[ALL ] /usr/bin/make -f /root/tmp/linux-build/.build/src/linux-3.12/scripts/Makefile.asm-generic src=uapi/asm obj=arch/x86/include/generated/uapi/asm
[ALL ] /usr/bin/make -f /root/tmp/linux-build/.build/src/linux-3.12/scripts/Makefile.build obj=arch/x86/syscalls all
[ALL ] make[3]: Nothing to be done for 'all'.
[ALL ] /usr/bin/make -f /root/tmp/linux-build/.build/src/linux-3.12/scripts/Makefile.build obj=arch/x86/tools relocs
[ALL ] gcc -Wp,-MD,arch/x86/tools/.relocs_32.o.d -Iarch/x86/tools -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -I/root/tmp/linux-build/.build/src/linux-3.12/tools/include -c -o arch/x86/tools/relocs_32.o /root/tmp/linux-build/.build/src/linux-3.12/arch/x86/tools/relocs_32.c
[ALL ] In file included from X:/LIBRARIES/tmp/linux-build/.build/src/linux-3.12/arch/x86/tools/relocs_32.c:1:0:
[ERROR] X:/LIBRARIES/tmp/linux-build/.build/src/linux-3.12/arch/x86/tools/relocs.h:12:17: fatal error: elf.h: No such file or directory
[ALL ] #include <elf.h>
[ALL ] ^
[ALL ] compilation terminated.
[ALL ] scripts/Makefile.host:134: recipe for target 'arch/x86/tools/relocs_32.o' failed
[ERROR] make[3]: *** [arch/x86/tools/relocs_32.o] Error 1
[ALL ] /root/tmp/linux-build/.build/src/linux-3.12/arch/x86/Makefile:151: recipe for target 'archscripts' failed
[ERROR] make[2]: *** [archscripts] Error 2
[ALL ] Makefile:130: recipe for target 'sub-make' failed
[ERROR] make[1]: *** [sub-make] Error 2
[ALL ] make[1]: Leaving directory '/root/tmp/linux-build/.build/src/linux-3.12'
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR] >> called from: do_kernel_install[scripts/build/kernel/linux.sh@112]
[ERROR] >> called from: do_kernel_headers[scripts/build/kernel/linux.sh@91]
[ERROR] >> called from: main[scripts/crosstool-NG.sh@692]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.