소스에서 특정 애플리케이션을 설치하는 데 얼마나 많은 공간과 시간이 소요되는지 아시나요?

소스에서 특정 애플리케이션을 설치하는 데 얼마나 많은 공간과 시간이 소요되는지 아시나요?

소스 코드를 컴파일하여 Ubuntu 12.04에 와인 1.6.2를 설치했습니다.ppa에서 바이너리를 찾을 수 없습니다.

하지만 지금 소스 코드를 컴파일하면 /tmp여유 공간이 /70Mb로 떨어졌습니다. 꽤 오랜 시간이 흘렀고 편집을 완료하는 데 얼마나 시간이 걸릴지, 편집이 얼마나 진행되었는지 전혀 알 수 없습니다. 이제 컴파일을 중단했습니다. 나는 에 멈췄다

gcc -c -I. -I. -I../../../include -I../../../include  -DWINE_STRICT_PROTOTYPES -DWINE_NO_NAMELESS_EXTENSION -DWIDL_C_INLINE_WRAPPERS  -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 -gstrict-dwarf -fno-omit-frame-pointer  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0  -o automation.o automation.c
gcc -c -I. -I. -I../../../include -I../../../include  -DWINE_STRICT_PROTOTYPES -DWINE_NO_NAMELESS_EXTENSION -DWIDL_C_INLINE_WRAPPERS  -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 -gstrict-dwarf -fno-omit-frame-pointer  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0  -o db.o db.c
gcc -c -I. -I. -I../../../include -I../../../include  -DWINE_STRICT_PROTOTYPES -DWINE_NO_NAMELESS_EXTENSION -DWIDL_C_INLINE_WRAPPERS  -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 -gstrict-dwarf -fno-omit-frame-pointer  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0  -o format.o format.c
^Z
[1]+  Stopped                 make

컴파일된 소스를 사용하여 설치하는 데 시간과 공간이 얼마나 소요되는지 알 수 있습니까?

당신이 나라면 무엇을 더 잘하겠습니까? 감사해요.

답변1

GCC 컴파일 시간 측정

$> time ./configure
$> time make depend
$> time make
$> time make install

이것시간유틸리티는 시스템 컴파일 시간 통계를 제공합니다. 시간 측정 유틸리티를 사용하여 빌드한 후 다음을 사용하여 디렉터리 크기를 확인할 수 있습니다.

빌드 치수 측정

$> DIRECTORY="/source/compiler/output/directory"    
$> du -m $DIRECTORY

어디에서 건축하는지가 정말로 중요합니까?

아니, 그냥 또 다른 거야성전개발자가 참여했습니다. 단지 $PATH일 뿐입니다. /tmp/, /opt/, /home/, /root/ 또는 어디든 컴파일하십시오. 선호 여부의 문제입니다.

나는 특정 요구 사항에 맞게 소스 코드를 수정하면서 소스 코드를 유지하기 때문에 /opt/src/에서 작업을 수행합니다.

추정

귀하의 컴파일 시간은 2시간을 초과해서는 안 될 것으로 예상됩니다.

컴파일 시간 추정은 다른 사람들이 유사한 프로세서(예: Intel)를 사용하여 소스 코드를 컴파일하는 데 걸리는 시간을 연구하고 과학적이지 않은 간단한 계산을 수행하는 분석 프로세스입니다.

사용자들은 더 빠른 프로세서에서 Wine 컴파일 시간을 보고합니다.

내가 답을 얻은 방법은 다음과 같습니다.

A) 4개의 스레드를 갖춘 쿼드 코어 Intel 프로세서. 대 B) 스레드가 2개인 듀얼 코어 프로세서.

사용자 A는 4개의 GCC 프로세스를 사용하여 컴파일할 수 있지만 2개의 프로세스만 사용할 수 있습니다.

단순히 스레드 감소를 고려하여 시간(15분)에 2를 곱한 다음 관련된 많은 변수(예: 컴파일러 버전)를 보상하기 위해 다시 2를 곱하면 2시간이 나왔습니다.

Phoronix GCC 벤치마크

위 블로그에는 항상 GCC 벤치마크 상태에 대한 업데이트가 포함되어 있습니다. 버전 간의 상대적인 컴파일 시간을 이해하여 GCC 버전을 조정할 수도 있습니다.

예상 패키지 크기

컴파일된 바이너리의 크기를 컴파일된 종속성 크기에 추가합니다. WINE은 실제로 종속성 없이 컴파일됩니다.

WINE 종속성을 설치하고 전체 와인 DEP 목록을 포함하는 스크립트

배포 저장소의 샘플 WINE 및 WINE-Dev 패키지

소스에서 WINE을 구축하는 것에 대한 나의 다른 답변

나는 그것이 당신에게 모든 콩을 세라고 말하는 것처럼 보인다는 것을 알고 있지만 내 세상에는 콩과 콩 봉지 만 있고 나는 그들 사이에서 콩을 교환합니다 (가장 전문적으로).

답변2

바이너리 배포판에는 소스 패키지를 사용하지 마세요!

이로 인해 다음과 같은 예상치 못한 문제가 발생하게 됩니다.

  • 컴파일된 프로그램은 사용하는 바이너리가 한 위치에 있을 것으로 예상하는 반면 Ubuntu는 바이너리를 다른 위치에 설치합니다.
  • 라이브러리에 대한 심볼릭 링크가 누락되었습니다.
  • 버전 불일치.
  • 등.

대신에공식 와인 PPA.

  1. Ubuntu 소프트웨어 센터를 시작하고 "편집" -> "소프트웨어 소스"를 선택하여 "소프트웨어 소스" 메뉴를 엽니다. 추가 소프트웨어 탭을 선택하고 추가를 클릭합니다.
  2. ppa를 입력하세요: ubuntu-wine/ppa. 추가를 클릭합니다.
  3. apt-get update && apt-get install wine1.6

위에서 언급한 이유로 인해 컴파일 타임에 비참하게 실패하게 될 버전을 가져와 설치해야 합니다. 소요 시간은 논란의 여지가 있는 문제입니다.

답변3

귀하의 경우 유일한 가능성은 동일한 패키지의 컴파일 시간을 다른 유사한 하드웨어와 비교하는 것입니다.

우리는 귀하의 하드웨어에 대해 아무것도 모릅니다. 대략적인 아이디어를 제공하기 위해 - 저는 넷북(intelatomCPU, 오래되고 약한 기계)과 젠투를 가지고 있으므로 wine모든 패키지의 컴파일 시간을 쉽게 계산할 수 있습니다:

$ qlop -tHgv wine
wine-1.2.3: Sat Sep 17 22:41:18 2011: 1 hour, 29 minutes, 25 seconds
wine-1.2.2: Mon Sep 19 05:42:32 2011: 1 hour, 14 minutes, 0 seconds
wine-1.2.2: Sun Oct  9 06:27:57 2011: 1 hour, 9 minutes, 3 seconds
wine-1.2.2: Sun Jan 22 13:31:16 2012: 1 hour, 19 minutes, 7 seconds
wine-1.4: Fri Jul  6 14:29:27 2012: 1 hour, 45 minutes, 48 seconds
wine-1.4.1: Thu Jul 19 23:38:10 2012: 1 hour, 24 minutes, 57 seconds
wine-1.4.1: Thu Dec 27 15:14:27 2012: 2 hours, 2 minutes, 2 seconds
wine-1.4.1: Sat Jan 26 02:27:28 2013: 3 hours, 8 minutes, 35 seconds
wine-1.4.1: Sun Feb 17 00:45:56 2013: 1 hour, 20 minutes, 12 seconds
wine-1.6: Mon Sep 23 18:15:04 2013: 2 hours, 28 minutes, 58 seconds
wine-1.6: Sat Jan 11 21:30:48 2014: 1 hour, 48 minutes, 36 seconds
wine-1.6.1: Mon Jan 27 22:47:25 2014: 2 hours, 48 minutes, 27 seconds
wine-1.6.2: Sat Mar 15 06:30:29 2014: 1 hour, 52 minutes, 17 seconds
wine-1.6.2: Sun Jul 13 18:05:58 2014: 2 hours, 2 minutes, 30 seconds
wine: 14 times

치수:

$ qsize -mf wine
app-emulation/wine-1.6.2: 2,630 files, 49 non-files, 207 MiB

관련 정보