embeded/odroid2016. 10. 19. 21:00

make 자체에 -std=gnu89 가 포함되어 있는데..

3.8.y 브랜치만 받아서 다시 시도하니 또 되는거 같기도 하고.. 머지?


[링크 : https://github.com/hardkernel/linux/commit/0796298c8e592c664b7013e02fccdfa56a5da132]


한시간이 채 안걸린거 같은데..

성능이 의외로 좋아진건가?


$ find ./ -name zImage

./arch/arm/boot/zImage 


+

도대체 머가 꼬여서 이런 개고생을 한거지 ㄷㄷㄷ


real    27m3.279s

user    94m24.020s

sys     7m43.415s



시간 상으로는 대충.. 9:32 ~ 10:00

28분.. 예상외로 성능 좋네... AMD 싱글 코어 보다 나은듯(어?)

'embeded > odroid' 카테고리의 다른 글

odroid u3 릴리즈 노트의 중요한... 내용?  (0) 2016.10.22
넌 또 왜 난리니 ㅠㅠ  (0) 2016.10.21
odroid ubuntu 14.04 LTS / gcc-4.7  (0) 2016.10.19
gcc std c99와 asm  (0) 2016.10.19
odroid 커널 빌드(on odroid) 실패  (0) 2016.10.17
Posted by 구차니
embeded/odroid2016. 10. 19. 20:08

강제로 실행은 되려나..

옵션이.. c99가 빠져있네..


$ sudo apt-get install gcc-4.7

$ gcc-4.7 -v

Using built-in specs.

COLLECT_GCC=/usr/bin/gcc-4.7.real

COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.7/lto-wrapper

Target: arm-linux-gnueabihf

Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.3-12ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-gnu-unique-object --disable-libmudflap --disable-libitm --enable-plugin --with-system-zlib --enable-objc-gc --with-cloog --enable-cloog-backend=ppl --disable-cloog-version-check --disable-ppl-version-check --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf

Thread model: posix

gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)


'embeded > odroid' 카테고리의 다른 글

넌 또 왜 난리니 ㅠㅠ  (0) 2016.10.21
odroid u3 커널빌드... 재시도  (0) 2016.10.19
gcc std c99와 asm  (0) 2016.10.19
odroid 커널 빌드(on odroid) 실패  (0) 2016.10.17
odroid 커널 distcc 성공?  (0) 2016.10.17
Posted by 구차니
embeded/odroid2016. 10. 19. 18:37

c99 에서는 asm 확장을 지원하지 않는다라..


asm() doesn't seem to work with -std=c99. It's a bad idea in my opinion, since the standard actually suggests that compilers support an asm() keyword, but it isn't mandatory. 


Try -std=gnu99


[링크 : http://stackoverflow.com/questions/755457/asm-in-c-gives-an-error-with-std-c99]



-std=

Determine the language standard. This option is currently only supported when compiling C or C ++ .

The compiler can accept several base standards, such as c89 or c++98, and GNU dialects of those standards, such as gnu89 or gnu++98. By specifying a base standard, the compiler will accept all programs following that standard and those using GNU extensions that do not contradict it. For example, -std=c89 turns off certain features of GCC that are incompatible with ISO C90, such as the "asm" and "typeof" keywords, but not other GNU extensions that do not have a meaning in ISO C90, such as omitting the middle term of a "?:" expression. On the other hand, by specifying a GNU dialect of a standard, all features the compiler support are enabled, even when those features change the meaning of the base standard and some strict-conforming programs may be rejected. The particular standard is used by -pedantic to identify which features are GNU extensions given that version of the standard. For example -std=gnu89 -pedantic would warn about C ++ style // comments, while -std=gnu99 -pedantic would not.


A value for this option must be provided; possible values are


c89

iso9899:1990

Support all ISO C90 programs (certain GNU extensions that conflict with ISO C90 are disabled). Same as -ansi for C code.

iso9899:199409

ISO C90 as modified in amendment 1.

c99

c9x


iso9899:1999

iso9899:199x

ISO C99. Note that this standard is not yet fully supported; see <http://gcc.gnu.org/gcc-4.4/c99status.html> for more information. The names c9x and iso9899:199x are deprecated.

gnu89

GNU dialect of ISO C90 (including some C99 features). This is the default for C code.

gnu99

gnu9x

GNU dialect of ISO C99. When ISO C99 is fully implemented in GCC , this will become the default. The name gnu9x is deprecated.

c++98

The 1998 ISO C ++ standard plus amendments. Same as -ansi for C ++ code.

gnu++98

GNU dialect of -std=c++98. This is the default for C ++ code.

c++0x

The working draft of the upcoming ISO C ++ 0x standard. This option enables experimental features that are likely to be included in C ++ 0x. The working draft is constantly changing, and any feature that is enabled by this flag may be removed from future versions of GCC if it is not part of the C ++ 0x standard.

gnu++0x

GNU dialect of -std=c++0x. This option enables experimental features that may be removed in future versions of GCC . 


[링크 : https://linux.die.net/man/1/gcc]

'embeded > odroid' 카테고리의 다른 글

odroid u3 커널빌드... 재시도  (0) 2016.10.19
odroid ubuntu 14.04 LTS / gcc-4.7  (0) 2016.10.19
odroid 커널 빌드(on odroid) 실패  (0) 2016.10.17
odroid 커널 distcc 성공?  (0) 2016.10.17
odroid UART0 ...  (0) 2016.10.16
Posted by 구차니

DISTCC_HOSTS는 왼쪽 부터 오른쪽 순서로 우선순위가 결정된다.

왼쪽이 가장 선호되는 호스트 이고, 가장 마지막이 선호도가 낮아진다.

그런 이유로 가장 마지막에 localhost를 넣어 주는게 좋다고 한다.


Host Specifications


A "host list" tells distcc which machines to use for compilation. In order, distcc looks in the $DISTCC_HOSTS environment variable, the user's $DISTCC_DIR/hosts file, and the system-wide host file. If no host list can be found, distcc emits a warning and compiles locally.

The host list is a simple whitespace separated list of host specifications. The simplest and most common form is a host names, such as


localhost red green blue

distcc prefers hosts towards the start of the list, so machines should be listed in descending order of speed. In particular, when only a single compilation can be run (such as from a configure script), the first machine listed is used (but see --randomize below). 


--randomize

Randomize the order of the host list before execution.


[링크 : https://linux.die.net/man/1/distcc]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

rpi distcc with ccache 실패 ㅠㅠ  (0) 2021.04.30
rpi distcc 성공인데 실패  (0) 2021.04.28
distcc-pump 시도..  (0) 2016.10.18
distcc 를 DHCP 에서.. 2?  (0) 2016.10.18
distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
Posted by 구차니

돌아는 가는데.. 

왜 라즈베리만 돌고, odroid_1은 놀고 있지? 흐음...


$ cat /etc/distcc/hosts

# As described in the distcc manpage, this file can be used for a global

# list of available distcc hosts.

#

# The list from this file will only be used, if neither the

# environment variable DISTCC_HOSTS, nor the file $HOME/.distcc/hosts

# contains a valid list of hosts.

#

# Add a list of hostnames in one line, seperated by spaces, here.

#+zeroconf

odroid_1,cpp,lzo

odroid_2,cpp,lzo

raspberrypi,cpp,lzo 


위와 같이 cpp,lzo를 주고 make 하니 이런 경고가 발생하는데

$ make -j12 CC=distcc

distcc[7640] Warning: INCLUDE_SERVER_PORT not set - did you forget to run under 'distcc-pump'?

distcc[7640] (dcc_build_somewhere) Warning: failed to get includes from include server, preprocessing locally 


distcc-pump 를 실행해주면 자동으로 데몬처럼 작동하는데 죽이질 못하네?

$ distcc-pump --startup

export INCLUDE_SERVER_PID='7700'

export INCLUDE_SERVER_DIR='/tmp/distcc-pump.fyGaPI'

export INCLUDE_SERVER_PORT='/tmp/distcc-pump.fyGaPI/socket'

export PATH='/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games'



$ distcc-pump make -j12 CC="distcc gcc -std=gnu99"

__________Using distcc-pump from /usr/bin

__________Using 3 distcc servers in pump mode

  CHK     include/linux/version.h

  CHK     include/generated/kernelversion.h

  HOSTCC  scripts/basic/fixdep


...


  LD      arch/arm/vfp/vfp.o

  LD      arch/arm/vfp/built-in.o

__________Warning: 1 pump-mode compilation(s) failed on server, but succeeded locally.

__________Distcc-pump was demoted to plain mode.  See the Distcc Discrepancy Symptoms section in the include_server(1) man page.

__________Shutting down distcc-pump include server

 


셧다운 해줘도 안 죽어!!! 머지?

$ distcc-pump --help

Usage:

    pump COMMAND [ARG...]

or

    pump --startup

    pump --shutdown 


[링크 : https://lists.samba.org/archive/distcc/2012q4/004315.html]

[링크 : https://wiki.archlinux.org/index.php/Distcc]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

rpi distcc 성공인데 실패  (0) 2021.04.28
distcc hosts 파일과 순서  (0) 2016.10.19
distcc 를 DHCP 에서.. 2?  (0) 2016.10.18
distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
distcc zeroconf 와 avahi  (0) 2016.10.17
Posted by 구차니

생각을 해보니..

distcc를 구동할때

/etc/default/distcc에서 설정된 값을 통해 listen할 ip를 설정하게 되는데


/etc/hosts에 의해 자기 자신의 이름을 resolve하게 되니

항상 127.0.0.1 밖에 설정이 안될거고


그런 이유로 samba를 통해서 resolve하게 하려고 했더니

/etc/hosts에서 삭제하고


/etc/rc?.d 에서 distcc가 rc.local 보다 일찍 수행되는 바람에

삼바가 구동되기 이전에 distcc 실행되서 자기 자신의 아이피를 resolve 할 수 없는 상황..


그러니까..

'hostname -I'를 이용해서 자기 아이피를 받아 올 수 있으면...

가능하려나?


이것저것 넣어 보는데 안됨 ㅠㅠ

$ vi /etc/init.d/distcc

 55 # construct access list

 56 ALLOW=""

 57 for net in $ALLOWEDNETS

 58 do

 59         ALLOW="$ALLOW --allow $net"

 60 done 


 66 if test -n "$LISTENER"; then

 67         DAEMON_ARGS="$DAEMON_ARGS --listen $LISTENER"

 68 fi

그냥.. distcc init 스크립트를 손봐야 하나?



일단은.. 이 정도로 만족 중.. 집에 가서 여러 대 놓고 해봐야지

$ cat /etc/default/distcc

ALLOWEDNETS=$(printf "%s/24" $(hostname -I))

LISTENER="$(hostname -I)" 


[링크 : http://stackoverflow.com/.../how-can-i-concatenate-string-variables-in-bash]


그래도 서비스로 자동 구동되는건 실패... ㅠㅠ

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc hosts 파일과 순서  (0) 2016.10.19
distcc-pump 시도..  (0) 2016.10.18
distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
Posted by 구차니
Linux2016. 10. 18. 09:06

hostname을 이용해서 자기 자신의 아이피 를 받아 올수 있다.


$ hostname -i

127.0.0.1


$ hostname -I

192.168.10.11 


-i, --ip-address

Display the IP address(es) of the host. Note that this works only if the host name can be resolved. Avoid using this option; use hostname --all-ip-addresses instead. 


-I, --all-ip-addresses

Display all network addresses of the host. This option enumerates all configured addresses on all network interfaces. The loopback interface and IPv6 link-local addresses are omitted. Contrary to option -i, this option does not depend on name resolution. Do not make any assumptions about the order of the output.


[링크 : https://linux.die.net/man/1/hostname]

[링크 : http://stackoverflow.com/.../how-to-i-get-the-primary-ip-address-of-the-local-machine-on-linux-and-os-x]

'Linux' 카테고리의 다른 글

dri drm ddx  (0) 2016.10.23
fdisk 파티션이 2048 부터 시작하는 이유  (0) 2016.10.22
파티션 label 변경하기  (0) 2016.10.15
구버전 사용시 호환(?)  (0) 2016.10.12
strip 된 so 파일의 symbol 보기  (0) 2016.09.21
Posted by 구차니
embeded/odroid2016. 10. 17. 23:36

크로스 컴파일은 잘만되던데.. 왜 얘는 안되나... 

include 헤더 문제일려나?


  CC      arch/arm/mach-exynos/cpu-exynos4.o

In file included from include/linux/posix_types.h:4:0,

                 from include/linux/types.h:17,

                 from include/linux/capability.h:16,

                 from include/linux/sched.h:53,

                 from arch/arm/mach-exynos/cpu-exynos4.c:11:

include/linux/stddef.h:10:16: error: expected identifier or ‘(’ before ‘void’

 #define NULL ((void *)0)

                ^

arch/arm/plat-s5p/include/plat/exynos4.h:34:24: note: in expansion of macro ‘NULL’

 #define exynos4_map_io NULL

                        ^

arch/arm/mach-exynos/cpu-exynos4.c:222:13: note: in expansion of macro ‘exynos4_map_io’

 void __init exynos4_map_io(void)

             ^

include/linux/stddef.h:10:23: error: expected ‘)’ before numeric constant

 #define NULL ((void *)0)

                       ^

arch/arm/plat-s5p/include/plat/exynos4.h:34:24: note: in expansion of macro ‘NULL’

 #define exynos4_map_io NULL

                        ^

arch/arm/mach-exynos/cpu-exynos4.c:222:13: note: in expansion of macro ‘exynos4_map_io’

 void __init exynos4_map_io(void)

             ^

include/linux/stddef.h:10:16: error: expected identifier or ‘(’ before ‘void’

 #define NULL ((void *)0)

                ^

arch/arm/plat-s5p/include/plat/exynos4.h:32:29: note: in expansion of macro ‘NULL’

 #define exynos4_init_clocks NULL

                             ^

arch/arm/mach-exynos/cpu-exynos4.c:279:13: note: in expansion of macro ‘exynos4_init_clocks’

 void __init exynos4_init_clocks(int xtal)

             ^

include/linux/stddef.h:10:23: error: expected ‘)’ before numeric constant

 #define NULL ((void *)0)

                       ^

arch/arm/plat-s5p/include/plat/exynos4.h:32:29: note: in expansion of macro ‘NULL’

 #define exynos4_init_clocks NULL

                             ^

arch/arm/mach-exynos/cpu-exynos4.c:279:13: note: in expansion of macro ‘exynos4_init_clocks’

 void __init exynos4_init_clocks(int xtal)

             ^

include/linux/stddef.h:10:16: error: expected identifier or ‘(’ before ‘void’

 #define NULL ((void *)0)

                ^

arch/arm/plat-s5p/include/plat/exynos4.h:35:22: note: in expansion of macro ‘NULL’

 #define exynos4_init NULL

                      ^

arch/arm/mach-exynos/cpu-exynos4.c:410:12: note: in expansion of macro ‘exynos4_init’

 int __init exynos4_init(void)

            ^

include/linux/stddef.h:10:23: error: expected ‘)’ before numeric constant

 #define NULL ((void *)0)

                       ^

arch/arm/plat-s5p/include/plat/exynos4.h:35:22: note: in expansion of macro ‘NULL’

 #define exynos4_init NULL

                      ^

arch/arm/mach-exynos/cpu-exynos4.c:410:12: note: in expansion of macro ‘exynos4_init’

 int __init exynos4_init(void)

            ^

arch/arm/mach-exynos/cpu-exynos4.c:49:24: warning: ‘exynos4_iodesc’ defined but not used [-Wunused-variable]

 static struct map_desc exynos4_iodesc[] __initdata = {

                        ^

arch/arm/mach-exynos/cpu-exynos4.c:148:24: warning: ‘exynos4210_iodesc’ defined but not used [-Wunused-variable]

 static struct map_desc exynos4210_iodesc[] __initdata = {

                        ^

arch/arm/mach-exynos/cpu-exynos4.c:167:24: warning: ‘exynos4210_iodesc_rev_0’ defined but not used [-Wunused-variable]

 static struct map_desc exynos4210_iodesc_rev_0[] __initdata = {

                        ^

arch/arm/mach-exynos/cpu-exynos4.c:176:24: warning: ‘exynos4210_iodesc_rev_1’ defined but not used [-Wunused-variable]

 static struct map_desc exynos4210_iodesc_rev_1[] __initdata = {

                        ^

arch/arm/mach-exynos/cpu-exynos4.c:185:24: warning: ‘exynos4212_iodesc’ defined but not used [-Wunused-variable]

 static struct map_desc exynos4212_iodesc[] __initdata = {

                        ^

arch/arm/mach-exynos/cpu-exynos4.c:209:13: warning: ‘exynos4_idle’ defined but not used [-Wunused-function]

 static void exynos4_idle(void)

             ^

arch/arm/mach-exynos/cpu-exynos4.c:335:26: warning: ‘exynos4_sysdev’ defined but not used [-Wunused-variable]

 static struct sys_device exynos4_sysdev = {

                          ^

arch/arm/mach-exynos/cpu-exynos4.c:395:13: warning: ‘exynos4_sw_reset’ defined but not used [-Wunused-function]

 static void exynos4_sw_reset(void)

             ^

arch/arm/mach-exynos/cpu-exynos4.c:405:22: warning: ‘exynos4_pmu_init_zero’ defined but not used [-Wunused-variable]

 static void __iomem *exynos4_pmu_init_zero[] = {

                      ^

make[1]: *** [arch/arm/mach-exynos/cpu-exynos4.o] Error 1

make: *** [arch/arm/mach-exynos] Error 2 


$ cat ./include/linux/stddef.h

#ifndef _LINUX_STDDEF_H

#define _LINUX_STDDEF_H


#include <linux/compiler.h>


#undef NULL

#if defined(__cplusplus)

#define NULL 0

#else

#define NULL ((void *)0)

#endif


#ifdef __KERNEL__


enum {

        false   = 0,

        true    = 1

};


#undef offsetof

#ifdef __compiler_offsetof

#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)

#else

#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

#endif

#endif /* __KERNEL__ */


#endif 



응?

하늘별

2013-08-20 09:55

220.90.137.100

github에 있는 커널은 리눅스용으로 안드로이드를 지원하고 있지 않습니다. BSP으로 따로 배포하는 커널을 사용 하시기 바랍니다. 

[링크 : http://com.odroid.com/sigong/nf_board/nboard_view.php?brd_id=odroid-x2&kind=&bid=3359]


+

gcc -E - <<<'#include<stddef.h>' | grep stddef.h

[링크 : http://stackoverflow.com/questions/31285258/why-usr-include-linux-stddef-h-is-empty]


+

GCC is taking steps towards C++11, which is probably why you now need to include cstddef in order to use the NULL constant. The preferred way in C++11 is to use the new nullptr keyword, which is implemented in GCC since version 4.6

[링크 : http://stackoverflow.com/questions/462165/error-null-was-not-declared-in-this-scope]



+

x86용 크로스 컴파일러 옵션

$ arm-linux-gnueabihf-gcc -v

Using built-in specs.

COLLECT_GCC=arm-linux-gnueabihf-gcc

COLLECT_LTO_WRAPPER=/opt/toolchains/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/../libexec/gcc/arm-linux-gnueabihf/4.7.3/lto-wrapper

Target: arm-linux-gnueabihf

Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/gcc-linaro-4.7-2013.04/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabihf --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --enable-multilib --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1-4.7-2013.04-20130415 - Linaro GCC 2013.04' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-ppl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-host-libstdcxx='-L/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static/lib -lpwl' --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-gold --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-mode=thumb

Thread model: posix

gcc version 4.7.3 20130328 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.04-20130415 - Linaro GCC 2013.04) 


ubuntu 14.04 / odroid용 컴파일러 옵션

$ gcc -v

Using built-in specs.

COLLECT_GCC=/usr/bin/gcc-4.8.real

COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.8/lto-wrapper

Target: arm-linux-gnueabihf

Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.3' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf

Thread model: posix

gcc version 4.8.4 (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.3) 


설마.. c99 옵션 차이는 아니겠지?

찾아보니.. long-long에 가깝네..

--enable-c99

The long long type was introduced in C99, along with many other functions for wide characters, and math classification macros, etc. If enabled, all C99 functions not specified by the C++ standard will be put into namespace __gnu_cxx, and then all these names will be injected into namespace std, so that C99 functions can be used "as if" they were in the C++ standard (as they will eventually be in some future revision of the standard, without a doubt). By default, C99 support is on, assuming the configure probes find all the necessary functions and bits necessary. This option can change the library ABI. 


[링크 : https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html]

'embeded > odroid' 카테고리의 다른 글

odroid ubuntu 14.04 LTS / gcc-4.7  (0) 2016.10.19
gcc std c99와 asm  (0) 2016.10.19
odroid 커널 distcc 성공?  (0) 2016.10.17
odroid UART0 ...  (0) 2016.10.16
odroid u3 uart 마지막... 희망(?)  (0) 2016.10.15
Posted by 구차니
embeded/odroid2016. 10. 17. 23:19

처음에는 자기 자신만 올라가다가

나중에는 전 호스트들 다 올라간다.

이제.. pump 모드 시도? ㅋㅋ


아무튼.. wins 호스트 네임으로는 절대.. 안되네...

고정 아이피 아니면 좀 쓰기 힘든 녀석인가.. ㅠㅠ


성공 : 커널 distcc 적용

실패 : samba hostname으로 dhcp 상에서 자동 설정하기

>> 요건 아마도.. avahi 되는 놈으로 빌드 하면 되지 않으려나?

실패 : exynos 관련 컴파일 에러

할일 : pump-mode





$ time make -j12 CC="distcc"

real    2m33.850s

user    3m41.765s

sys     1m0.760s 


'embeded > odroid' 카테고리의 다른 글

gcc std c99와 asm  (0) 2016.10.19
odroid 커널 빌드(on odroid) 실패  (0) 2016.10.17
odroid UART0 ...  (0) 2016.10.16
odroid u3 uart 마지막... 희망(?)  (0) 2016.10.15
odroid u3 커널 빌드  (0) 2016.10.15
Posted by 구차니

export DISTCC_HOSTS도 좋지만

이렇게 파일로 박아 둘수도 있는데.. 얘가 wins resolve가 가능하려나?

$ cat /etc/distcc/hosts

# As described in the distcc manpage, this file can be used for a global

# list of available distcc hosts.

#

# The list from this file will only be used, if neither the

# environment variable DISTCC_HOSTS, nor the file $HOME/.distcc/hosts

# contains a valid list of hosts.

#

# Add a list of hostnames in one line, seperated by spaces, here.

#+zeroconf

odroid_1,cpp,lzo

odroid_2,cpp,lzo

raspberrypi,cpp,lzo 


$ distcc --show-hosts

odroid_1,cpp,lzo

odroid_2,cpp,lzo

raspberrypi,cpp,lzo 


pump mode 쓰려고 cpp만 넣었더니 lzo도 같이 넣어야 한다고 배짼다 -_-

$ distcc --show-hosts

distcc[6919] (dcc_get_protover_from_features) ERROR: pump mode (',cpp') requires compression (',lzo')

distcc[6919] (dcc_parse_options) ERROR: invalid host options: ,cpp

odroid_2,cpp

raspberrypi,cpp 



커널 빌드 해보니.. 영 되질 않네.. ㅠㅠ

distcc[3645] Warning: INCLUDE_SERVER_PORT not set - did you forget to run under 'distcc-pump'?

distcc[3645] (dcc_build_somewhere) Warning: failed to get includes from include server, preprocessing locally 


[링크 : https://linux.die.net/man/1/include_server]


음.. cpp,lzo 뺴고 하는데 시도는 하는데 받는 쪽에서 배째는 중 ㅠㅠ

distcc[4515] ERROR: nonblocking connect to 192.168.219.139:3632 failed: Connection refused 


'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc-pump 시도..  (0) 2016.10.18
distcc 를 DHCP 에서.. 2?  (0) 2016.10.18
distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
distcc kernel compile 재시도..  (0) 2016.09.28
Posted by 구차니