FreeBSD 8.2 amd64에서 Node.js 0.4.2를 빌드 / 설치하기


5

이 작업을 몇 가지 다른 방법으로 시도했습니다.

building from ports (/usr/ports/www/node)
git clone -> ./configure, ./make
git clone -> ./configure, ./gmake

그러나 그것은 결국 결국 깨지게됩니다. 'make'를 사용할 때 간단히 한 줄의 출력을 얻습니다. 포함 변수 확장 오류.

'gmake'를 사용할 때 건물이 생겼습니다. Waf : '/ usr / home / {user} / node / build 디렉토리 떠나기 빌드 실패 :-> 작업 실패 (err # 2) : {task : libv8.a SConstruct -> libv8.a}

FreeBSD 패키지를 확인했지만 ftp2.freebsd.com에서 최신 패키지는 0.2.6입니다.

이것은 64 비트 BSD에서 작동하지 않습니까?

업데이트 :
FreeBSD 64와 비슷한 문제가있는 사람들의 웹에서 몇 가지 게시물을 찾았으므로 32 비트 설치 ( 32 비트 시스템에서 64 비트가 아닌 32 비트 시스템) 에서도 시도해 보았습니다 . 원래 질문 )
' make '와 동일한 문제 및 ' gmake '를 사용하는 것과 동일한 오류

빌드 실패 :-> 작업 실패 (오류 # 2) :
{task : libv8.a SConstruct-> libv8.a}

FreeBSD64 에서이 작업을 수행하고 싶지만 FreeBSD에서 노드가 더 이상 작동하지 않는다고 생각하기 시작했습니다.


나는 이것이 "FreeBSD amd64에서 V8을 빌드 할 수 있는가?"라고 생각합니다.
Justin

답변:


4

알았다!!

필자는 FreeBSD 32에서이 작업을 처음 받았으며, 그 후에 64에서 작업 할 수있었습니다
. 두 프로세스의 유일한 차이점은 32 비트를 사용하여 v8을 구축 한 것입니다.

스콘

그리고 64 비트

$ scons os = freebsd arch = x64

FreeBSD amd64에서 노드를 성공적으로 빌드 / 설치하는 데 사용한 단계는 다음과 같습니다.

  • v8 및 노드의 깨끗한 사본을 체크 아웃했습니다.
  • v8 루트 내

    $ scons os = freebsd arch = x64
    ... 빌드 출력 ...
    $ cp libv8 * / usr / local / lib

  • 노드 루트 내

    $ ./configure \
        --prefix = / usr / local \
        --shared-v8 \
        --shared-v8-includes = / home / jr / v8-read-only / include \
        --shared-v8-libpath = / usr / local / lib \
        --shared-v8-libname = v8
    $ gmake
    ... 빌드 출력 ...
    $ gmake install
    $ node --version
    v0.5.0-pre


유일한 다른 것은이 빌드 된 v0.5이며 질문은 0.4.2에 대한 것입니다 (원래 질문을했을 때 확인했지만 오늘 github에는 v0.5가 있습니다. 이슈)
Justin

0

실제로 노드를 별도로 체크 아웃 할 필요는 없습니다. 나를 위해 일한 것은 다음과 같습니다.

$ sudo portmaster devel/pkg-config devel/libexecinfo devel/cmake devel/scons lang/python27
$ git clone https://github.com/joyent/node.git
$ cd node/deps/v8
$ git checkout v0.4.6
$ scons os=freebsd arch=x64
(takes a while to compile v8)
$ sudo cp libv8* /usr/local/lib
$ cd ~/node
$ ./configure \     
  --prefix=/usr/local \
  --shared-v8 \
  --shared-v8-includes=/home/mikl/node/deps/v8/include \
  --shared-v8-libpath=/usr/local/lib \
  --shared-v8-libname=v8
$ gmake
$ sudo gmake install

0

v0.5.1 만 작동시킬 수있었습니다. 또한 나는 설치와 관련하여 몇 가지 문제가있었습니다. v8 헤더가 없기 때문에 hiredis 모듈.

다음 패키지가 설치되었다고 가정합니다.

  • devel / pkg-config
  • devel / libexecinfo
  • devel / cmake
  • 개발 / gmake
  • 데블 / 스콘
  • lang / python27
  • lang / v8

명령을 사용하여 작업했습니다.

cd /root/
$ git clone https://github.com/joyent/node.git
$ git checkout v0.5.1
$ cd ~/node
$ ./configure \
  --prefix=/usr/local \
  --shared-v8 \
  --shared-v8-includes=/usr/local/include \
  --shared-v8-libpath=/usr/local/lib \
  --shared-v8-libname=v8
$ gmake
$ gmake install
$ cp /usr/local/include/v8* /usr/local/include/node/

gmake 의존성이 아니라 위와 거의 동일하며 hiredis 모듈을 컴파일하기 위해 헤더를 노드 폴더에 복사해야했습니다.


0
cd /usr/ports/www/node && make install clean

나를 위해 잘 작동했습니다. 따라서 포트의 문제를 해결 한 것처럼 보입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.