Blog

ExtJS and Sencha Touch Themes and Templates

Como compilar V8

Jan 07, 2011 | Español | By | 7 Comments

JavaScript esta creciendo a un ritmo acelerado, día a día aparecen nuevos proyectos en GitHub, nuevos frameworks, nuevas herramientas, es increíble ver todo lo que podemos hacer con este lenguaje.

Como compilar V8
Author: Crysfel

I'm a software developer with 6+ years of experience, when I'm not developing software I may be writing a tutorial, you can follow me on twitter

JavaScript esta creciendo a un ritmo acelerado, día a día aparecen nuevos proyectos en GitHub, nuevos frameworks, nuevas herramientas, es increíble ver todo lo que podemos hacer con este lenguaje.

Ultimamente he estado investigando y realizando algunos experimentos con JavaScript del lado del servidor, el día de hoy quiero mostrarle como compilar V8 para poder escribir y ejecutar JavaScript desde una consola.

Acerca de V8

V8 es el engine de JavaScript usado por Google Chrome, es un proyecto Open Source lo que significa que podemos descargar el código fuente y compilarlo sin problema alguno, este engine es extremadamente rápido ya que no utiliza un intérprete para ejecutar código JavaScript sino que compila el código a código de máquina, esto permite que la ejecución sea mucho más rápida.

Podemos compilar V8 en cualquier plataforma, para este tutorial compilaré en un Mac OS, pero el proceso es el mismo para todas las plataformas.

Pre requisitos

Para poder compilar el código necesitaremos las siguientes herramientas:

Solamente es necesario tener instalado Git o SVN, dependiendo de donde desees descargar el código fuente.

También es importante contar con un compilador de C++, si estas en Linux o Mac seguramente tendrás instalado Gnu Compiler (GCC), para windows deberás tener alguna versión de Visual Studio (2005 o 2008), o bien Visual C++ 2008 Express Edition que es un versión gratuita, además de agregar algunas variables de ambiente y configuraciones extras.

Si estás trabajando en un Mac y ya tienes instalado el “Apple’s Xcode” ya tienes instalado un SVN, Python y el GCC, unicamente necesitas instalar SCoons.

Para verificar que todo esta instalado correctamente puedes revisar la versión de cada herramienta de la siguiente manera.

$ svn --version
$ git --version
$ python -V
$ scons --version

Si todo está instalado bien deberás poder ver las versiones de cada programa.

Descargando el código fuente

Una vez que tenemos todo listo procederemos a descargar el código fuente desde GitHub.

$ git clone git://github.com/v8/v8.git v8
$ cd v8

O si lo deseas desde el SVN en Google Code.

svn checkout http://v8.googlecode.com/svn/trunk/ v8
cd v8

Una vez descargado el Código fuente procederemos a compilarlo.

Compilar el código fuente

Para compilar el código fuente utilizaremos SCoon, el siguiente comando hará todo lo necesario.

$ scons sample=shell mode=release snapshot=on

Ejecutando JavaScript desde la consola

Una vez que termina de compilar podremos comenzar a escribir las primeras pruebas, es importante mencionar que no tenemos soporte para DOM no tampoco existen los objetos como “window” o “document”.

Para ejecutar el engine escribimos en la consola la siguiente instrucción:

$ ./shell
V8 version 2.4.8 (candidate)
> print("Hello, V8! this is my first test!");
Hello, V8! this is my first test!
> quit();

También podemos escribir el código en un archivo y luego ejecutarlo de la siguiente manera:

$ ./shell test.js

Conclusión

Una vez que tenemos el engine listo tenemos un mundo de posibilidades, en futuros tutoriales hablaré sobre Node.js que básicamente es un V8 con varias otras API’s y Módulos que podemos agregarle para poder crear un servidor web, aplicaciones en tiempo real de alto rendimiento, servicios webs, acceso a disco, base de datos, etc.

Les recomiendo unirse a la comunidad de Quizzpot, actualmente estamos en crecimiento y tenemos una iniciativa de crear un proyecto Open Source que nos servirá para aprender y compartir lo que sabemos.

7 Responses to “Como compilar V8”

  • yyeshua Jan 07, 2011

    Lo que más me llama la atención de esto es la posibilidad de alternativas a AdobeAir, porque hasta el momento titanium de appacelerator para mi a sido un fail, y nunca me ha gustado mucho adobe (a no ser que abrieran el código de AdobeAir XD).

  • @Mlayns Jan 08, 2011

    Podrías indicar algo de como serian los pasos para windows..??
    entiendo que es posible ejecutar JS desde la ventana de comandos o símbolo del sistema de windows….??

  • _Mlayns Mar 18, 2011

    Instalacion Ok.. (incluido en Window)…
    …ahora tras node.js
    Regards..

  • yoel Oct 26, 2011

    Hola eh instalado lo que se necesita para ejecutar v8. pero me da errores :( .
    me arroja los siguientes erroes

    root@ubuntu:~/Documentos/v8# scons sample=shell mode=release snapshot=on
    scons: Reading SConscript files …
    scons: done reading SConscript files.
    scons: Building targets …
    o obj/sample/shell/release/shell.o -c -fno-rtti -fno-exceptions -m32 -O2 -Iinclude samples/shell.cc
    /bin/bash: o: command not found
    o obj/release/accessors.o -c -fno-rtti -fno-exceptions -fvisibility=hidden -Wall -Werror -W -Wno-unused-parameter -Wnon-virtual-dtor -pedantic -m32 -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -ansi -DV8_TARGET_ARCH_IA32 -DENABLE_DEBUGGER_SUPPORT -Isrc src/accessors.cc
    /bin/bash: o: command not found
    o obj/release/allocation.o -c -fno-rtti -fno-exceptions -fvisibility=hidden -Wall -Werror -W -Wno-unused-parameter -Wnon-virtual-dtor -pedantic -m32 -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -ansi -DV8_TARGET_ARCH_IA32 -DENABLE_DEBUGGER_SUPPORT -Isrc src/allocation.cc
    .
    .
    .
    .

    • yoel Oct 26, 2011

      :O solucionado. ^^.

      sudo apt-get install build-essential

  • ezekkiel Jan 01, 2012

    Para descargar el Visual C++ 2008 Express Edition el link es:
    http://go.microsoft.com/?linkid=8310515

  • Roberto Barrientos Jan 28, 2012

    A mi me da el siguiente error a la hora de compilarlo:

    OSError: [Errno 2] No such file or directory:
    File “/Users/rbarrientos/v8/SConstruct”, line 1569:
    Build()
    File “/Users/rbarrientos/v8/SConstruct”, line 1517:
    opts = GetOptions()
    File “/Users/rbarrientos/v8/SConstruct”, line 1153:
    AddOptions(SIMPLE_OPTIONS, result)
    File “/Users/rbarrientos/v8/SConstruct”, line 1137:
    default = guess(guess_env)
    File “/Users/rbarrientos/v8/SConstruct”, line 959:
    stdout=subprocess.PIPE).communicate()[0]
    File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”, line 679:
    errread, errwrite)
    File “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”, line 1228:
    raise child_exception

Leave a Reply







Updates

RSS

Subscribe to our feeds to receive updates of our newest posts and free tutorials.

Site search

Maybe we have what you need, would you like to search first?

Donations

Would you buy me a cup of coffee? I am sharing my knowledge and time with you, help this project grow. Thank you!