쉘 프롬프트에서 객체 파일을 얻기 위해 일부 C 코드를 컴파일하려고 합니다.
$cc a.c
하지만 이로 인해 다음과 같은 오류가 발생합니다.
/usr/ucb/cc: language optional software package not installed
C 코드를 컴파일하는 방법은 무엇입니까?
답변1
먼저, /usr/ucb
이 디렉토리는 이제 더 이상 사용되지 않으므로 PATH에서 제거해야 합니다. 수십 년 전, 그 목적은 사람들이 SunOS 4에서 Solaris 2로 쉽게 마이그레이션할 수 있도록 하는 것이었지만 지금은 별로 의미가 없습니다. 특히 이 cc
명령은 BSDish 코드 컴파일을 위한 특정 플래그를 설정합니다.
둘째, 현재의 모든 Solaris 버전은 기본적으로 C 컴파일러와 함께 제공되지만 이는 귀하의 디렉토리가 아닌 디렉토리(Gnu Compiler)에 있을 수 PATH
있습니다 . Solaris 11 은 ./usr/sfw/bin
gcc
gcc
PATH
Solaris 10에서는 다음을 사용합니다.
/usr/sfw/bin/gcc
또는
PATH=$PATH:/usr/sfw/bin
gcc
또는 다음을 설치했을 수도 있습니다(또는당신은 설치할 수 있습니다) Solaris Studio 컴파일러(현재 Oracle Developer Studio). 이 경우 경로는 <installation-dir>/bin/cc
(예: /opt/SUNWspro/bin/cc, /opt/SolarisStudio11/bin/cc
, /opt/OracleDeveloperStudio12.5-OS-sparc-bin-bin/developerstudio12.5/bin/cc
등)이 됩니다.
답변2
불행하게도 sun은 /usr/ucb/cc를 제공했습니다. 대신 SunOS 4와 호환된다고 생각할 수도 있습니다. 일부 아주 오래된 4.2 버전과도 호환되지만 컴파일하려면 SunPro(현재 Solaris Studio)도 설치해야 합니다. 장치.
이 컴파일러는 다음에서 다운로드할 수 있습니다.
http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.html
다음 라이센스 조건이 적용됩니다(이전 페이지에서 인용).
상용 애플리케이션의 생산 및 개발을 위해 영구 무료 라이센스가 제공됩니다.
답변3
Solaris 설치에는 컴파일러가 설치되어 있지 않습니다. 1900년대에 Sun은 C 컴파일러에 대해 추가 비용을 청구하고 컴파일러가 아직 설치되지 않았음을 알리기 위해 스텁 "cc" 명령을 제공했습니다.
파일을 컴파일하려면 운영 체제 및 컴퓨터 하드웨어와 일치하는 동일한 Solaris 버전(2.5.1?) 및 아키텍처(SPARC/sun4m?)의 컴파일러를 설치해야 합니다.
더 읽어보세요SunFreeware.com/usr/local/에 설치된 무료 소프트웨어의 경우.
오픈 소스/GNU 경로로 가면 종속성을 충족하기 위해 많은 패키지를 설치해야 할 수도 있지만 디스크 공간이 충분하다면 그만한 가치가 있을 수 있습니다.
Sun의 SparCompiler/Forte/SunStudio의 이전 버전은 노드 잠금 라이센스로 라이센스가 부여되는 경우가 많으며 더 이상 해당 오래된 패키지에 대한 라이센스를 구입할 수 없기 때문에 (아마도) 기존 시스템에서 구입하기 어려울 수 있습니다.