이 작업을 몇 가지 다른 방법으로 시도했습니다.
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 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
답변
실제로 노드를 별도로 체크 아웃 할 필요는 없습니다. 나를 위해 일한 것은 다음과 같습니다.
$ 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
답변
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 모듈을 컴파일하기 위해 헤더를 노드 폴더에 복사해야했습니다.
답변
cd /usr/ports/www/node && make install clean
나를 위해 잘 작동했습니다. 따라서 포트의 문제를 해결 한 것처럼 보입니다.