<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nemediano &#187; programar</title>
	<atom:link href="http://www.nemediano.com.mx/tag/programar/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nemediano.com.mx</link>
	<description>Reflexiones de un espiritu curioso</description>
	<lastBuildDate>Fri, 28 Oct 2011 19:07:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Poniendo un entorno de desarrollo Java en Ubuntu</title>
		<link>http://www.nemediano.com.mx/2008/poniendo-un-entorno-de-desarrollo-java-en-ubuntu/</link>
		<comments>http://www.nemediano.com.mx/2008/poniendo-un-entorno-de-desarrollo-java-en-ubuntu/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 01:12:28 +0000</pubDate>
		<dc:creator>nemediano</dc:creator>
				<category><![CDATA[Acerca de mi]]></category>
		<category><![CDATA[Computación]]></category>
		<category><![CDATA[Recetario de Ubuntu]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.nemediano.com.mx/2008/poniendo-un-entorno-de-desarrollo-java-en-ubuntu/</guid>
		<description><![CDATA[En el posgrado, en la clase de Programación Avanzada muy para mi desagrado nos han obligado a programar en Java. Aunque la clase pinta ser bastante interesante, por que ha tomado un poco el tinte de cátedra, no pude evitar mi decepción cuando nos dijeron que el curso giraría en torno al desarrollo en Java. [...]]]></description>
			<content:encoded><![CDATA[<p>En el <a href="http://www.mcc.unam.mx/" target="_blank">posgrado</a>, en la clase de <a href="http://hp.fciencias.unam.mx/~alg/pAvz/" target="_blank">Programación Avanzada</a> muy para mi desagrado nos han obligado a programar en Java.</p>
<p>Aunque la clase pinta ser bastante interesante, por que ha tomado un poco el tinte de cátedra, no pude evitar mi decepción cuando nos dijeron que el curso giraría en torno al desarrollo en Java.</p>
<p>El primer profesor es la <a href="http://hp.fciencias.unam.mx/~alg/" target="_blank">Dra. Amparo Lopez</a>, su clase ha sido un poco aburrida para mi, por que ella misma admitió que seria un curso introductorio y que los que ya supiéramos programar en Java podríamos saltarnos su parte de la cátedra, (vía un proyecto en Java).</p>
<p>Como he decidido quedarme, y se que para las demás partes de la cátedra sera importante tener un entorno de desarrollo completo en Java he decidido escribir este post.</p>
<p>Este post debería de servirle a cualquier estudiante que quiera (o tenga) que aprender java</p>
<p><span id="more-67"></span></p>
<h2>¿Que es lo que entiendo por entorno de desarrollo Java?</h2>
<p>Queremos tener un compilado Java, para esto usar el JDK de <strong>sun</strong>, es decir <strong>no queremos</strong> la alternativa libre.</p>
<p>Queremos tener un IDE muy eficiente. Para esto usaremos <a href="http://www.eclipse.org/" target="_blank">eclipse</a>, por ser software libre y por ser a mi juicio y el de muchas personas que conozco, el mejor IDE para desarrollar en Java (propietarios incluidos).</p>
<p>Queremos un servidor/contenedor de <a href="http://en.wikipedia.org/wiki/Java_Servlet" target="_blank">servlets</a> y <a href="http://en.wikipedia.org/wiki/JavaServer_Pages" target="_blank">JSP&#8217;s</a>, para esto utilizaremos uno de los mejores: <a href="http://tomcat.apache.org/" target="_blank">apache tomcat</a> por aquello de que también es software libre.</p>
<p>En resumen:</p>
<ul>
<li>JDK de sun (vía repositorios).</li>
<li>Eclipse EE para desarrollo en Java (descargado del web).</li>
<li>Servidor Web Tomcat (descargado del web).</li>
</ul>
<h2>De donde partimos</h2>
<p>Hago las siguientes suposiciones:</p>
<p>Que tienes ya instalado Ubuntu (Yo estoy probando en 8.04, pero pienso que puedes adaptar estos pasos a tus necesidades fácilmente).</p>
<p>Que vamos a levantar Tomcat no como servicio, si no <strong>dentro de Eclipse</strong>, y por el puerto <strong>8080</strong>, esto con el fin de que si ya tenemos otro servidor web (por ejemplo un <a href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)" target="_blank">LAMP</a>) no tengan conflictos. Y además si es un entorno de desarrollo, probablemente tengas un servidor dedicado en algún otro lado.</p>
<p>Asumimos que <strong>no tenemos</strong> instalado el Eclipse de los repositorios. Por que al instalarlo también instala el java libre y lo usara en vez de usar el de sun.</p>
<p><strong>Advertencia:</strong> Considero que eclipse es el mejor IDE de Java, pero eso no quiere decir que sea ligero, no recomiendo instalarlo en maquinas de menos de 512MB de RAM y al menos otro tanto de swap</p>
<h2>Instalando Java JDK de Sun</h2>
<p>Este es el único paquete que nos traeremos de los repositorios, por su sencillez y que no esta tan atrasado respecto a las versiones disponibles del web. Además así nos evitamos setear un montón de variables de entorno manualmente. Así que instalamos ya sea vía apt o synaptic los siguientes paquetes:</p>
<ul>
<li>sun-java6-bin</li>
<li>sun-java6-demo</li>
<li>sun-java6-jdk</li>
<li>sun-java6-jre</li>
<li>sun-java6-doc</li>
</ul>
<p>El paquete sun-java6-doc es opcional si queremos tener la documentación. Desgraciadamente este es un metapaquete que no contiene la documentación. Así que si deseamos instalarlo, tendremos que ir a la <a href="http://java.sun.com/javase/downloads/index.jsp#docs" target="_blank">pagina de sun</a>, descargar la documentación de java, una archivo llamado <em>jdk-6-doc.zip</em>, luego cambiarle de dueño a root, y moverlo a /tmp. Después decirle a synaptic o apt que instalen el paquete.</p>
<p>Asumiendo que estamos parados en donde esta el archivo descargado:</p>
<p><code>sudo chown root:root jdk-6-doc.zip<br />
mv jdk-6-doc.zip /tmp<br />
sudo apt-get install sun-java6-doc</code></p>
<h2>Instalamos Eclipse</h2>
<p>Lo descargamos del <a href="http://www.eclipse.org/downloads/" target="_blank">sitio oficial</a>, queremos la versión que dice: <em>Eclipse IDE for Java EE Developers</em> por que es el mas completo para nuestros propósitos.</p>
<p>Podríamos usar cualquier otro y después instalarle los paquetes adicionales que nos hagan falta, pero ¿Para que molestarnos? Si podemos descargar uno que ya viene listo para usarse con Java.</p>
<p>Una vez que lo descarguemos, solo hace falta descomprimirlo en algún lado, lo mas recomendable es ponerlo en alguna carpeta usada comúnmente para guardar programas, yo ocupe /opt pero también podría funcionar /usr/local por aquello de la buena educación.</p>
<p>Supongamos que estamos parados donde se hizo la descarga:</p>
<p><code>tar -xzvf eclipse-jee-ganymede-linux-gtk.tar.gz<br />
sudo mv eclipse/ /opt</code></p>
<p>Ahora sólo nos hace falta crear un lanzador para usar Eclipse, asumiedo que usamos Gnome, vamos a <em>Sistema -&gt; Preferencias -&gt; Menú Principal</em>. Se abrira <strong>alacarte</strong> seleccionamos un el menú donde queremos crear el lanzador, un buen lugar es <strong>Programación</strong>, y de ahi le damos <strong>Elemento nuevo</strong>.</p>
<p>Llenamos los datos que nos piden: el tipo es Aplicación, el nombre Eclipse, en comando le damos examinar y buscamos el ejecutable se llama <strong>eclipse</strong>, y esta dentro de <em>la carpeta eclipse.</em>. El eclipse EE para java al parecer viene sin icono, puedes buscar alguno en la web, <a title="Icono de Eclipse" href="http://www.nemediano.com.mx/wp-content/uploads/2008/09/icon.png" target="_blank">aqui</a> pongo uno por si te sirve.</p>
<p>Un pantallazo de la de como le hize yo:</p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/09/propiedades-del-lanzador.png"><img class="alignnone size-thumbnail wp-image-70" title="propiedades-del-lanzador" src="http://www.nemediano.com.mx/wp-content/uploads/2008/09/propiedades-del-lanzador-150x150.png" alt="" width="150" height="150" /></a></p>
<h2>Instalando Apache Tomcat</h2>
<p>Primero vamos al <a href="http://tomcat.apache.org/" target="_blank">sitio de Apache tomcat</a>, y de ahí descargamos la ultima versión, cuando escribí esto era la rama 6.x la versión 6.0.18 y de ahí descargamos la distribución .tar.gz. (en realidad cualquiera hubiera servido, pues son multiplataforma, pero por costumbre en Linux el usamos la que viene compresa .gz).</p>
<p>Ahora descomprimimos tomcat y lo movemos a algún directorio apropiado, de nuevo yo uso /opt.</p>
<p><code>tar -xzvf apache-tomcat-6.0.18.tar.gz<br />
sudo mv apache-tomcat-6.0.18 /opt/apache-tomcat</code></p>
<p>Liiisto esa es la instalación de tomcat, si queremos probarlo, podemos ejecutar el archivo <strong>start.sh</strong> para arrancar Tomcat y <strong>shutdown.sh</strong> para detenerlo. Ambos viven en el directorio <strong>bin</strong>, dentro del directorio de Tomcat.</p>
<p><code>/opt/apache-tomcat/bin/startup.sh<br />
/opt/apache-tomcat/bin/shutdown.sh</code></p>
<p>Para probar podemos arrancar Tomcat y abrir nuestro navegador en el sitio http://localhost:8080, donde nos debe contestar Tomcat dándonos la bienvenida. Si quieres ver que hace, puedes navegar a Miscellaneous y de ahí ejecutar alguno de los JSP o de los Servlets que trae de ejemplo. También recomendaría editar el archivo $CATALINA_HOME/conf/tomcat-users.xml y añadir a un usuario con privilegios de administración para usar el manager.</p>
<p>Aquí hay un ejemplo de como hacer una edición básica del archivo: tomcat-users.xml</p>
<pre>&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;tomcat-users&gt;
  &lt;role rolename="manager"/&gt;
  &lt;role rolename="admin"/&gt;
  &lt;user username="jorge" password="secreto" roles="admin,manager"/&gt;
&lt;/tomcat-users&gt;</pre>
<h2>Poniendo todo junto</h2>
<p>Ahora viene lo divertido, hay que decirle a Eclipse, donde esta Tomcat, esto tiene la enorme ventaja que así él podrá arrancarlo cuando lo use y pararlo cuando no. Es decir prácticamente administra él.</p>
<p>Primero ejecutamos eclipse, al lanzarlo por primera vez se ve una pantalla de bienvenida: En esta pantalla podemos leer la documentación y ver algunos tutoriales de eclipse, es muy recomendable leerlos en algún momento. Por ahora vamos directamente al <em>workbench</em>.</p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-java-eclipse-platform.png"><img class="alignnone size-thumbnail wp-image-73" title="pantallazo-java-eclipse-platform" src="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-java-eclipse-platform-150x150.png" alt="" width="150" height="150" /></a></p>
<p>En la parte superior del <em>workbench</em> el primer icono que encontramos de izquierda a derecha es el de <strong>New</strong>, lo presionamos y abre un submenu, ahí le damos la ultima opción la que dice <strong>Other</strong>.</p>
<p>Se abre una ventana pidiéndote que selecciones el asistente, buscamos en la carpeta de <strong>Servers</strong>, aquel que dice <strong>Server</strong> y le damos <strong>Next</strong></p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-new.png"><img class="alignnone size-thumbnail wp-image-74" title="pantallazo-new" src="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-new-150x150.png" alt="" width="150" height="150" /></a></p>
<p><strong>Una aclaración:</strong> eclipse solo puede tener un servidor de cada tipo y versión corriendo a la vez, así que si ya definiste algún servidor Tomcat 6.0 antes, no te dejará hacerlo de nuevo hasta que lo borres y lo vuelvas a crear (o cambies de workspace)</p>
<p>En la siguiente pantalla te pide que digas que tipo de Servidor seleccionas la carpeta de <strong>Apache</strong> y el servidor tipo <strong>Tomcat v6.0 Server</strong>, es importante también que le digas que el nombre del host es <strong>localhost</strong>. Y en el nombre del servidor le puedes poner lo que quieras el default esta bien.</p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-new-server.png"><img class="alignnone size-thumbnail wp-image-75" title="pantallazo-new-server" src="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-new-server-150x150.png" alt="" width="150" height="150" /></a></p>
<p>En donde dice <strong>Server Runtime enviroment</strong> le damos Add y se abre otro cuadro de dialogo, aquí lo importante es que le digamos donde esta instalado el Tomcat como se ve en la pantalla.</p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-new-server-runtime-environment.png"><img class="alignnone size-thumbnail wp-image-76" title="pantallazo-new-server-runtime-environment" src="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-new-server-runtime-environment-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Si todo esta bien le puedes dar <strong>Finish</strong> y se &#8220;crea&#8221; el Server dentro de eclipse.</p>
<h2>Probando la instalación</h2>
<p>Cada que quieras hacer un nuevo proyecto con JSP&#8217;s o Servlets, creas un nuevo proyecto de tipo <strong>Web</strong> y luego <strong>Dinamic Web Project</strong> y te fijas que el <strong>Target Runtime Enviroment</strong> sea el servidor que recién creamos.</p>
<p>Para efectos de prueba, puedes descargarte <a href="http://www.nemediano.com.mx/wp-content/uploads/2008/09/intro-app-eclipse.zip">este proyecto</a> de prueba, e intentar ejecutarlo. Desde el menú <strong>File</strong>, <strong>Import</strong>, <strong>General</strong>, <strong>Existing Proyect into Workspace</strong>, <strong>Select Archive File</strong> y seleccionar el zip recién descargado.</p>
<p>Una vez importado desde la pestaña de servers <strong>arrancas el Servidor Tomcat</strong>, luego navegas dentro del proyecto recién importando y le pides que te muestre el JSP de prueba debes ver algo parecido a esto:</p>
<p><a href="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-java-http-localhost8080-intro-hellojsp-eclipse-platform.png"><img class="alignnone size-thumbnail wp-image-77" title="pantallazo-java-http-localhost8080-intro-hellojsp-eclipse-platform" src="http://www.nemediano.com.mx/wp-content/uploads/2008/09/pantallazo-java-http-localhost8080-intro-hellojsp-eclipse-platform-150x150.png" alt="" width="150" height="150" /></a></p>
<h2>Mas información</h2>
<p>Este post fue escrito basándome un poco en el <a href="http://oreilly.com/catalog/9780596006419/" target="_blank">libro de Orelly</a>, un poco en la documentación del mismo eclipse y bastante en <a href="http://www.coreservlets.com/Apache-Tomcat-Tutorial/" target="_blank">este</a> sitio.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.nemediano.com.mx%2F2008%2Fponiendo-un-entorno-de-desarrollo-java-en-ubuntu%2F&amp;t=Poniendo%20un%20entorno%20de%20desarrollo%20Java%20en%20Ubuntu" id="facebook_share_icon_67" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none;"><img src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="Share on Facebook" /></a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_67') || document.getElementById('facebook_share_icon_67') || document.getElementById('facebook_share_both_67') || document.getElementById('facebook_share_button_67');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_67') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.nemediano.com.mx/2008/poniendo-un-entorno-de-desarrollo-java-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Instalando las librerias de OpenGL y glut en Ubuntu</title>
		<link>http://www.nemediano.com.mx/2007/instalando-las-librerias-de-opengl-y-glut-en-ubuntu/</link>
		<comments>http://www.nemediano.com.mx/2007/instalando-las-librerias-de-opengl-y-glut-en-ubuntu/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 03:38:43 +0000</pubDate>
		<dc:creator>nemediano</dc:creator>
				<category><![CDATA[Computación]]></category>
		<category><![CDATA[Mis demonios]]></category>
		<category><![CDATA[Recetario de Ubuntu]]></category>
		<category><![CDATA[glut]]></category>
		<category><![CDATA[instalar]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[programar]]></category>

		<guid isPermaLink="false">http://nemediano.wordpress.com/2007/08/27/instalando-las-librerias-de-opengl-y-glut-en-ubuntu/</guid>
		<description><![CDATA[Pues desde hace tiempo quería reescribir este how to, sucede que estoy actualmente escribiendo mi tesis y para ello necesitaba poder compilar programas básicos de OpenGL. Una de las cosas que quería lograr era escribir mi tesis 100% con Software libre, ya tenia experiencia trabajando con OpenGL y glut, en distribuciones Red Hat-like (por ejemplo [...]]]></description>
			<content:encoded><![CDATA[<p>Pues desde hace tiempo quería reescribir este how to, sucede que estoy actualmente escribiendo mi <a title="Calli" href="https://calli.cie.unam.mx/projects/modelo3d/" target="_blank">tesis</a> y para ello necesitaba poder compilar programas básicos de <a title="OpenGL" href="http://www.opengl.org/" target="_blank">OpenGL</a>. Una de las cosas que quería lograr era escribir mi tesis 100% con Software libre, ya tenia experiencia trabajando con OpenGL y <a title="glut en OpenGL" href="http://www.opengl.org/resources/libraries/glut/" target="_blank">glut</a>, en distribuciones Red Hat-like (por ejemplo <a title="Red Hat en Wikipedia" href="http://es.wikipedia.org/wiki/Red_Hat_Linux" target="_blank">Red Hat</a>, <a title="Fedora project" href="http://fedoraproject.org//" target="_blank">Fedora</a>, <a title="WhiteBox" href="http://www.whiteboxlinux.org/" target="_blank">WhiteBox</a> y <a title="Linux Mandrivia" href="http://www.mandriva.com/" target="_blank">Mandrivia</a>) y sabia con rpms como instalarme las librerías necesarias, sin embargo cuando cambie a distribuciones Debian-like (ahora uso <a title="Ubuntu" href="http://www.ubuntu.com/" target="_blank">Ubuntu</a>) no sabia como lograr mi cometido, asi que después de investigarlo un poco me dí a la tarea de escribir este How-to.</p>
<p style="margin-bottom:0;"><span id="more-20"></span> <!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<h2>Paso 1</h2>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<h2>Instalar el compilador de C.</h2>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Una de las cosas que mas me sorprendió es que Ubuntu, no viene con el compilador de C, en su instalación de default (hasta ahora es el único Gnu/Linux donde me ha pasado esto), así que tienes que instalarlo desde los repositorios.</p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--> En Ubuntu solo es cuestión de instalarte los paquetes ya sea vía apt-get o via synaptic lo que te acomode mejor, al caso debes de instalar los siguientes paquetes:</p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<ul>
<li>build-essential</li>
<li>g++</li>
<li>g77</li>
<li>gcc</li>
<li>make</li>
</ul>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Estos paquetes no vienen solos, es decir probablemente necesites descargar muchos paquetes mas para satisfacer las dependencias de estos, sin embargo dado que tanto synaptic como apt-get, pueden satisfacer sus dependencia de manera automática solo debemos indicarle estos paquetes. tanto de gcc, como de g++ y g77, hay varias versiones de los paquetes, sin embargo el paquete sin números siempre es un paquete con la versión mas actual.</p>
<p style="margin-bottom:0;">En resumen lo único que un usuario novato debe de teclear es:</p>
<pre> 	<!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	-->$sudo apt-get install build-essential g++ g77 gcc make</pre>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<h2>Paso 1.5 Probamos la instalación del compilador de C</h2>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">En nuestro editor de textos plano favorito tecleamos un programa de C, básico por ejemplo un clásico hola mundo: <a title="hello.c" href="http://www.nemediano.com.mx/wp-content/uploads/2007/08/hello.c">hello.c</a> Lo guardamos por ejemplo con el nombre de hello.c y vamos a compilarlo.</p>
<p style="margin-bottom:0;">Con la siguiente instrucción:</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<pre>$gcc hello.c -o hello</pre>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Podemos observa que la sintaxis para compilar un programa en C, es la siguiente:</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<pre>$gcc [archivo fuente.c] -o [nombre de mi ejeculable]</pre>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">En realidad el gcc es mucho mas completo, un tutorial de como compilar programas con C lo puedes encontrar <a title="Tutorial de gcc" href="http://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm" target="_blank">aqui</a>.</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<h2>2 Instalamos las librerias necesarias para OpenGL</h2>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Ahora necesitaremos instalar los siguientes paquetes:</p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--> freeglut3 freeglut3-dbg freeglut3-dev ftgl-dev gle-doc glut-doc glutg3 glutg3-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa libgl1-mesa-dev libgl1-mesa-dri libglut3 libglut3-dev mesa-common-dev mesa-demos mesa-swrast-source mesa-utils</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">No se cuales sean los esenciales, yo siempre he instalado con todos, pero se que así funciona, muchos de ellos son dependencias, así que no igual lo único que debes de tener en cuenta es tratar de instalar freeglut-dev.</p>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Importante: Si piensas tener tu computadora con Aceleración Gráfica (por ejemplo para tener <a title="Beryl" href="http://beryl-project.org/" target="_blank">Beryl</a>), es decir instalar los drivers propietarios de ATI o de nVidia, debes hacerlo antes de hacer esta instalación, se pueden tener ambas funcionando pero poner el driver gráfico debe ser anterior a la instalación de OpenGL. De la contrario nuestros programas de OpenGL no tendrán aceleración</p>
<p style="margin-bottom:0;">Para saber si nuestra computadora tiene o no aceleración Gráfica puedes ejecutar el comando <strong>glxinfo</strong> y ver la salida, en el renglón donde dice <strong>direct rendering</strong>: un <em>“Yes”</em>, significa que tenemos Aceleración gráfica. Una forma de filtrarlo es:</p>
<pre> 	<!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--> $glxinfo | grep rendering</pre>
<p>Por supuesto que tener o no 	Aceleración Gráfica es totalmente dependiente de tu 	hardware. Por lo que no se puede escribir una guía general, 	sin embargo hay muchísima información en la red sobre 	esto, mi experiencia es que si tu computadora tiene tarjeta de vídeo 	Intel o nVidia, no debes tener ningún problema, las ATI, en 	cambio debes de investigar un poco antes de hacerlas funcionar.</p>
<h2>2.5Probar la instalación de OpenGL y glut</h2>
<p style="margin-bottom:0;"><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<p style="margin-bottom:0;">Nos tecleamos un programa sencillo de glut y OpenGL, por ejemplo este: <a title="ventana.c" href="http://www.nemediano.com.mx/wp-content/uploads/2007/08/ventana.c">ventana.c</a></p>
<p style="margin-bottom:0;">Y ahora vamos intentar la compilación:</p>
<pre>$gcc ventana.c -o ventana -lglut</pre>
<p>Y debemos ver una ventana negra.<br />
Si en al linea de comandos ven un warning que dice algo así como:</p>
<pre>libGL warning: 3D driver claims to not support visual 0x5b</pre>
<p>Pero la ejecución de el programa continua, no deben de preocuparse, este warning solo significa que no esta correctamente configurado su driver de la tarjeta de vídeo, pero es algo que <strong>no</strong> debe de afectar sus programas escritos en OpenGL, mas que en el performance, y no es un problema de su programa si no del driver de la computadora.</p>
<p>Obviamente el caso ideal es tener tanto el OpenGL como la aceleración gráfica funcionando al mismo tiempo, si ya tenían la aceleración gráfica y siguen este método no deben de tener ningún problema y ni siquiera les debe marcar ese molesto warning.</p>
<p>Usuarios de Red Hat y similares la receta es la misma, solo que deberán de tratar de instalar el <a title="Rpms de free glut" href="http://rpm.pbone.net/index.php3?stat=3&amp;search=freeglut-devel&amp;srodzaj=3" target="_blank">freeglut-devel***.rpm</a>, donde *** usualmente son la distribución, la arquitectura y versión del paquete, se recomienda que instalen el paquete que viene en sus discos, usualmente este paquete tiene muchas dependencias, así que la ayuda de un gestor de paquetes como yump o synaptic sin duda les ayudara.</p>
<p>En un post posterior hablare de como tener un IDE funcional que nos de mas ayuda a compilar programas de OpenGL en Linux, en particular en Ubuntu la idea es que el final de mi serie de post del tema se pueda tener un entorno de programación cómodo y funcional en Ubuntu, como para que puedan con ayuda de algún libro como el libro rojo autoaprender a programar con OpenGL</p>
<p><!-- 		@page { size: 21cm 29.7cm; margin: 2cm } 		P { margin-bottom: 0.21cm } 	--></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.nemediano.com.mx%2F2007%2Finstalando-las-librerias-de-opengl-y-glut-en-ubuntu%2F&amp;t=Instalando%20las%20librerias%20de%20OpenGL%20y%20glut%20en%20Ubuntu" id="facebook_share_icon_20" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none;"><img src="http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif" alt="Share on Facebook" /></a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_20') || document.getElementById('facebook_share_icon_20') || document.getElementById('facebook_share_both_20') || document.getElementById('facebook_share_button_20');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_20') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.nemediano.com.mx/2007/instalando-las-librerias-de-opengl-y-glut-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>

