Node.js 0.4.2 unter FreeBSD 8.2 amd64 erstellen / installieren

6803
Justin

Ich habe versucht, dies auf verschiedene Arten zu funktionieren:

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

Aber am Ende bricht es immer aus. Bei Verwendung von "make" bekomme ich nur eine Zeile Ausgabe: Fehler beim Erweitern der eingebetteten Variablen.

Wenn ich 'gmake' verwende, bekomme ich etwas Gebäude und dann: Waf: Verzeichnis verlassen / usr / home / / node / build Fehler beim Erstellen: -> Task fehlgeschlagen (Fehler # 2):

Ich habe nach einem FreeBSD-Paket gesucht, aber auf ftp2.freebsd.com ist das neueste Paket 0.2.6

Funktioniert das auf 64-Bit-BSD einfach nicht?

Update:
Ich habe im Internet ein paar Posts mit Leuten gefunden, die ähnliche Probleme mit FreeBSD 64 hatten, also dachte ich, ich würde es auch auf einer 32-Bit-Installation ausprobieren ( auf einem 32-Bit-Computer, nicht auf den 64 von mir) ursprüngliche Frage ) Das
gleiche Problem mit " make " und der gleiche Fehler bei der Verwendung von " gmake ".


Fehler beim Erstellen : -> Aufgabe fehlgeschlagen (Fehler # 2):

Ich würde es lieben, wenn ich damit an meinem FreeBSD64 arbeite, aber ich fange an zu glauben, dass der Knoten für FreeBSD einfach nicht mehr funktioniert :(

5
Ich schätze mal, dass dies vielleicht eher ein "Kann man V8 auf FreeBSD amd64 bauen?" Justin vor 13 Jahren 0

4 Antworten auf die Frage

4
Justin

Ich habs!!

Ich habe das erste Mal mit FreeBSD 32 gearbeitet und nachdem es funktioniert hat, konnte ich es mit 64 zum
Laufen bringen . Der einzige Unterschied zwischen den beiden Prozessen war für das 32-Bit, das ich einfach mit V8 erstellt hatte

$ Scons

und für 64 bit

$ scons os = freebsd arch = x64

Hier sind die Schritte, die ich zum erfolgreichen Erstellen / Installieren eines Knotens unter FreeBSD amd64 verwendet habe:

  • Reine Kopien von Version 8 und Knoten wurden ausgecheckt
  • In der v8-Wurzel

    $ scons os = freebsd arch = x64
    ... Ausgabe erstellen ...
    $ cp libv8 * / usr / local / lib

  • Innerhalb der Knotenwurzel

    $ ./configure \
        --prefix = / usr / local \
        --shared-v8 \
        --shared-v8-include = / home / jr / v8-schreibgeschützt / \
        --shared-v8-libpath = / usr / local / lib \
        --shared-v8-libname = v8
    $ gmake
    ... Build-Ausgabe ...
    $ gmake -
    $ node
    --version v0.5.0-pre installieren

Die einzige andere Sache ist, dass diese v0.5 gebaut wurde und die Frage für 0.4.2 war (was ich damals ausprobierte, als ich die Frage ursprünglich gestellt hatte, aber heute hat github v0.5. Ich bin mir nicht sicher, ob das früher geklärt hätte Probleme) Justin vor 13 Jahren 0
0
mikl

Sie müssen den Knoten nicht wirklich separat auschecken. Folgendes hat für mich funktioniert:

$ 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
cypres

Ich konnte nur v0.5.1 zur Arbeit bekommen. Außerdem hatte ich einige Probleme mit der Installation von zB. das Hiredis-Modul, da die v8-Header fehlten.

Angenommen, die folgenden Pakete sind installiert:

  • devel / pkg-config
  • devel / libexecinfo
  • Entwicklung / cmake
  • Entwicklung / gmake
  • Entwicklung / Scons
  • lang / python27
  • lang / v8

Ich habe es mit den Befehlen zum Laufen gebracht:

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/ 

Ziemlich das gleiche wie oben, nicht die gmake-Abhängigkeit und dass ich die Header in den Knotenordner kopieren musste, damit das Modul hiredis kompiliert werden konnte.

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

Funktionierte gut für mich. Es sieht also so aus, als hätten sie die Probleme behoben, die Port hatte.