https://ftp.gnu.org/gnu/binutils/ 최신 버전 설치
http://www.nasm.us/pub/nasm/releasebuilds/2.12.02/ NASM 설치
google drive에 QEMU 설치
gcc, g++ 같은 버전으로 최신 버전 설치
한국서버가 속도가 잘나옴
+Devel
+ binutils - 2.24.51-2 버전, 소스 및 바이너리 모두 설치
+ bison - 2.7.1-1 버전, 바이너리만 설치
+ flex - 2.5.35-1 버전, 바이너리만 설치
+ gcc-core - 4.8.2-2 버전, 소스 및 바이너리 모두 설치
+ gcc-g++ - 4.8.2-2 버전, 바이너리만 설치
+ libiconv - 1.14-2 버전, 바이너리만 설치
+ libtool - 2.4.1 버전, 바이너리만 설치
+ make - 4.0-2 버전, 바이너리만 설치
+ patchutils - 0.3.2-1 버전, 바이너리만 설치
+Libs
+ libgmp-devel - 6.0.0a-1 버전, 바이너리만 설치
+ libmpfr-devel -3.1.2-1 버전, 바이너리만 설치
+ libmpc-devel - 1.0.2-1 버전, 바이너리만 설치
+ libncurses-devel - 5.7-18 버전, 바이너리만 설치
버전은 현재와 다르기 때문에 적당히 최신버전으로 설치
// 디렉터리 이동 후 아래 작업 수행
$> cd /usr/src/binutils-2.24.51-2 <== 디렉터리 이름은 binutils 버전에 따라 다를 수 있음
$> export TARGET=x86_64-pc-linux
$> export PREFIX=/usr/cross
$> ./configure --target=$TARGET --prefix=$PREFIX --enable-64-bit-bfd --disable-shared --disable-nls
$> make configure-host
$> make LDFLAGS="-static"
$> make install
// 아래는 테스트를 위한 부분 커맨드를 실행했을 때 x86_64 관련 항목이 보이면 제대로 된 것입니다. ^^;;;;
$> /usr/cross/bin/x86_64-pc-linux-ld --help | grep "supported "
/usr/cross/bin/x86_64-pc-linux-ld: supported targets: elf64-x86-64 elf32-i386 a.
out-i386-linux efi-app-ia32 efi-bsdrv-ia32 efi-rtdrv-ia32 efi-app-x86_64 efi-bsd
rv-x86_64 efi-rtdrv-x86_64 elf64-little elf64-big elf32-little elf32-big srec sy
mbolsrec tekhex binary ihex
/usr/cross/bin/x86_64-pc-linux-ld: supported emulations: elf_x86_64 elf_i386 i38
6linux
$> export PREFIX=/usr/cross
$> ./configure --target=$TARGET --prefix=$PREFIX --enable-64-bit-bfd --disable-shared --disable-nls
$> make configure-host
$> make LDFLAGS="-static"
$> make install
// 아래는 테스트를 위한 부분 커맨드를 실행했을 때 x86_64 관련 항목이 보이면 제대로 된 것입니다. ^^;;;;
$> /usr/cross/bin/x86_64-pc-linux-ld --help | grep "supported "
/usr/cross/bin/x86_64-pc-linux-ld: supported targets: elf64-x86-64 elf32-i386 a.
out-i386-linux efi-app-ia32 efi-bsdrv-ia32 efi-rtdrv-ia32 efi-app-x86_64 efi-bsd
rv-x86_64 efi-rtdrv-x86_64 elf64-little elf64-big elf32-little elf32-big srec sy
mbolsrec tekhex binary ihex
/usr/cross/bin/x86_64-pc-linux-ld: supported emulations: elf_x86_64 elf_i386 i38
6linux
// 압축 해제, 파일명은 cygwin에서 다운받은 GCC 버전에 따라서 다를 수 있으니 실제 디렉터리를 확인하여 입력해야 합니다. ^^;;; 아래 패치 파일도 모두 마찬가지 입니다.
$> cd /usr/src
$> cd /usr/src
$> tar -xvf gcc-4.8.2.tar.bz2
$> export TARGET=x86_64-pc-linux
$> export PREFIX=/usr/cross
$> export PATH=$PREFIX/bin:$PATH
$> export TARGET=x86_64-pc-linux
$> export PREFIX=/usr/cross
$> export PATH=$PREFIX/bin:$PATH
// 압축 해제가 끝났으니 소스가 있는 디렉터리 이동 후 나머지 작업 수행
$> cd /usr/src/gcc-4.8.2 <== 디렉터리 이름은 GCC 버전에 따라 다를 수 있음
$> cd /usr/src/gcc-4.8.2 <== 디렉터리 이름은 GCC 버전에 따라 다를 수 있음
$> ./configure --target=$TARGET --prefix=$PREFIX --disable-nls --enable-languages=c
--without-headers --disable-shared --enable-multilib
$> make configure-host
$> make all-gcc
$> make install-gcc
// 테스트용입니다. 아래와 같이 입력했을 때 m64가 보이면 정상적으로 설치된 것입니다.
$> /usr/cross/bin/x86_64-pc-linux-gcc -dumpspecs | grep -A1 multilib_options
*multilib_options:
m64/m32
--without-headers --disable-shared --enable-multilib
$> make configure-host
$> make all-gcc
$> make install-gcc
// 테스트용입니다. 아래와 같이 입력했을 때 m64가 보이면 정상적으로 설치된 것입니다.
$> /usr/cross/bin/x86_64-pc-linux-gcc -dumpspecs | grep -A1 multilib_options
*multilib_options:
m64/m32
'IT' 카테고리의 다른 글
Ventura 대신 Monterey 설치하기 (0) | 2022.10.29 |
---|---|
json 파일을 excel 파일로 변환하기 with Python (0) | 2022.07.13 |
한글 깨지지 않는 Redis 뷰어 추천 (0) | 2022.07.13 |
Intel IA-32 레지스터 정리 (0) | 2017.12.25 |
[MFC] 64bit에서 32bit MySQL ODBC 연동 방법 (0) | 2017.12.24 |