Hola a todos después de mucho renegar al final me he decidido a cambiar mi sistema operativo por uno libre. El elegido a sido Kubuntu 8.04 que es una versión del Ubuntu pero con el escritorio basado en KDE. Lo primero que he hecho ha sido instalar el compilador de C para PSP y ha sido toda una odisea. Por este motivo estoy creando este tutorial, para que todo aquel que como yo siempre haya querido pasarse al software libre no tenga problemas y pueda seguir programando para nuestra querida PSP. Sin mas rollo voy a comenzar a explicar los pasos que he seguido para llevarlo a buen puerto. La verdad es que me a costado mas de lo que pensaba en un principio pero ha merecido la pena.
Lo primero que tenemos que hacer es sacar la aplicación Konsole. Esta se puede iniciar eligiendo Menú K->Sistema->Konsole (Programa de terminal) desde el sistema de menús del escritorio. Aquí os pongo una imagen para que veáis como seria:

una vez que le damos a cargar a la consola se os mostrara de esta manera:

Ya tendremos la consola lista para introducir los comandos para la instalación del compilador de C para PSP. Lo primero que tenemos que hacer es instalar unos programas que nos harán falta para la instalacion del compilador. Para ello usaremos el APT-GET, pero lo usaremos desde la consola de la siguiente manera:
Pondremos sudo apt.get install y el programa que queramos instalar. Por ejemplo subversion, el cual sirve para bajar de PS2DEV las librería para PSP. Una vez que introducimos esto en la consola y pulsamos enter nos pedira la clave de Root o administrador general que sera la que designamos en la instalación de Kubuntu y acto seguido se instalara la versión mas nueva de dicha aplicación. Si la tenéis ya instalada se actualizara.
Estos son los comandos para la instalacion de los programas que nos harán falta. Tenéis que introducirlos 1 por 1 fácil verdad :)
sudo apt-get install subversion
sudo apt-get install automake1.9
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libncurses5-dev
sudo apt-get install patch
sudo apt-get install libreadline5-dev
sudo apt-get install wget
sudo apt-get install texinfo
sudo apt-get install build-essential
sudo apt-get install libusb-dev
sudo apt-get install libtool
sudo apt-get install gedit
Una vez que terminemos de instalar estos programas los cuales os aran falta en mas de una ocasión (y no solo para instalar el compilador) procederemos a la parte a la que hace referencia este tutorial a instalar las PSPTOOLCHAIN y las librerías necesarias para el funcionamiento del código en PSP. Espero que hasta ahora no os haya resultado complicado :)
Lo primero que tenemos que hacer es crear una carpeta donde guardar las librerías descargadas de internet. Para ello usaremos el siguiente comando en la consola:
mkdir Descargas
Lógicamente este comando creara un directorio en el directorio actual en el que nos encontremos, en mi caso /home/kaltorak. como a nosotros nos interesa estar dentro de dicho directorio, osea en /home/Usuario/Descargas donde usuario es el nombre de usuario con el que estáis trabajando, ponemos el siguiente comando para entrar en el directorio que acabamos de crear:
cd Descargas
Tras este comando estaremos en el directorio /home/Usuario/Descargas, para poder seguir con la instalación. ;)
Bien, el siguiente comando lo que hace es bajar de internet las librerías PSPTOOLCHAIN y copiarlas en el directorio actual que os recuerdo que es /home/usuario/Descargas
svn co svn://svn.ps2dev.org/psp/trunk/psptoolchain psptoolchain
Esto se tirara un ratito, poco tiempo la verdad dependiendo de la conexión a internet que tengáis, pero no sera mucho 1 o 2 minutos me tardo a mi con una adsl bastante saturada de descargas :)
Tras esto lo siguiente que tenemos que hacer es introducirnos en el directorio psptoolchain. Lo haremos de la misma manera que usamos para entrar en el directorio Descargas, la cual es la siguiente:
cd psptoolchain
Ya nos encontramos dentro del directorio psptoolchain. Las siguientes lineas modifican el path para que podamos instalar las toolchain sin problemas:
export PSPDEV=/usr/local/pspdev
export PATH=$PATH:$PSPDEV/bin
Una vez echo esto vamos a crear el directorio donde se van a instalar las toolchains una vez compiladas por Kubuntu y le vamos a modificar los permisos para que tu como usuario puedas modificar dicha carpeta. Las lineas que hacen esto son las siguientes:
sudo mkdir -p /usr/local/pspdev
sudo chmod a+rxw /usr/local/pspdev
sudo chown username:group /usr/local/pspdev
La ultima linea hay que modificarla dependiendo de nuestro usuario y nuestro grupo. Por ejemplo como podéis ver en la segunda captura (la que muestra la consola) mi usuario es kaltorak y mi grupo es kaltorak también por eso yo modifico la ultima linea de la siguiente manera:
sudo chown kaltorak:kaltorak /usr/local/pspdev
si no sabéis cual es vuestro usuario y vuestro grupo lo podéis saber mirando la consola. Veréis que os aparece de esta manera en la zona en la que podéis escribir:
username@group-desktop
A mi me aparece como podéis ver así kaltorak@kaltorak-desktop, por eso mi nombre de usuario y mi grupo son kaltorak y kaltorak respectivamente jajaj muy muy simple ;)
Tras esto ya estamos listos para instalar las toolchain, para lo que usaremos esta linea de código:
./toolchain.sh
Esta parte de la instalación es muy pesada y larga de soportar, porque tiene que descargar de internet cerca de 100 MB y compilarlos. Puede tardarte cerca de 2 horas en terminar. A mi me tardo 1 hora y media mas o menos, por eso os aconsejo que lo pongáis antes de ver una peli o de iros a dar una vuelta, porque es un rollo ver como pasan letras y letras por la consola sin parar :)
Una vez que hayamos visto la peli y haya terminado la instalación de las toolchain nos salimos del directorio psptoolchain para descargar las librerías y que se nos guarden dentro del directorio Descargas. Para eso usamos el siguiente comando, que lo que hace es retroceder un directorio si estamos en /home/usuario/Descargas/psptoolchain como es nuestro caso, tras poner este comando estaremos en /home/usuario/Descargas el comando es el siguientes
cd ..
La siguiente linea es igual a la que usamos para descargar las PSPTOOLCHAIN de internet, pero con la modificación de que ahora lo que vamos a descargar son las librerías que usaremos en todos nuestros proyectos. Por ejemplo SDL,SDL_mixer,png,jpeg Etc..
svn co svn://svn.ps2dev.org/psp/trunk/psplibraries psplibraries
Lo siguiente ya os sonara, tendremos que entrar en el directorio psplibraries, que es el directorio que acabamos de bajar de internet y lo haremos con la forma que hemos usado anteriormente
cd psplibreries
Acto seguido nos ponemos manos a la obra con la instalacion. Rápido y sencillo jajja ;)
./libraries.sh
Esta instalación no tarda tanto como la anterior pero si se lleva un ratito unos 10 o 15 minutos mas o menos. Paciencia que ya casi lo tenemos listo ;)
Tras finalizar esta instalación solo nos que da modificar el archivo ~/.bashrc para que no tengamos que modificar el path cada vez que vayamos a compilar un archivo.
Con la siguiente linea abriremos un editor de texto bastante simple e intuitivo pero no os preocupeis por que solo tendremos que bajar hasta el final del archivo e introducir 3 lineas que acontinuacion os pondre.
Para que nos salga el editor con el archivo abierto la linea que hay que poner es esta:
gedit ~/.bashrc
Una vez hayas bajado hasta el final del fichero copia y pega estas 3 lineas en el final del archivo y guardarlo:
export PSPDEV="/usr/local/pspdev"
export PSPSDK="$PSPDEV/psp/sdk"
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin"
Cierra el editor y listo, ya tendrás instalado el compilador C para PSP. Espero que os haya gustado el tutorial y os haya sido útil. Ya sabéis, cualquier duda no dudéis en preguntar jajaj ;)
Ya se que acabo de terminar el tutorial en las lineas anteriores pero he tenido que hacer también unas pequeñas modificaciones en el makefile para poder compilar mi código en Kubuntu, por eso os pongo a partir de aquí el makefile modificado. Solo os pongo la versión para los kernel 3.XX en adelante, la del 1.50 ya esta súper obsoleta ;)
TARGET = PRUEBA
PSPSDK = $(shell psp-config --pspsdk-path)
PSPBIN = $(shell psp-config --psp-prefix)/bin
SDL_CONFIG = $(PSPBIN)/sdl-config
OBJS = main.o
JOY = YES
BUILD_PRX = 1
PSP_FW_VERSION = 371
SDL_INSTALL_PATH=/usr/local/pspdev/psp
#DEFAULT_CFLAGS = $(shell $(SDL_CONFIG) --cflags)
DEFAULT_CFLAGS = -I$(SDL_INSTALL_PATH)/include/SDL
MORE_CFLAGS = -G0 -O2 -DPSP
CFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS)
CXXFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS) -fno-exceptions -fno-rtti
#LIBS = -lSDL_gfx -lSDL_image -lstdc++ -lSDL_mixer -lSDL_ttf -lvorbisidec -lfreetype -lpng -ljpeg -lz -lm $(shell $(SDL_CONFIG) --libs)
LIBS = -lSDL_gfx -lSDL_image -lstdc++ -lSDL_mixer -lSDL_ttf -lvorbisidec -lfreetype -lpng -ljpeg -lz -lm -L$(SDL_INSTALL_PATH)/lib -lm -L$(SDL_INSTALL_PATH)/sdk/lib -lpspsdk -lSDL -lGL -lpspvfpu -lpsprtc -lpspdebug -lpspgu -lpspctrl -lpspge -lpspdisplay -lpsphprm -lpspaudio -lc -lpspuser -lpsputility -lpspkernel -lpspge
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = PRUEBA
PSP_EBOOT_ICON="GFX/icon0.png"
PSP_EBOOT_PIC1="GFX/pic1.png"
include $(PSPSDK)/lib/build.mak
Listo, ahora si que si con esto ya podreis compilar vuestro código en Kubuntu. Solo un pequeño consejo, ojito con las mayúsculas y las minúsculas por que kubuntu es un poco toca pelotas en ese aspecto ;)
Un saludo
Kaltorak.
Comentarios
Vaya, pues no me va :-(
Me da exactamente el mismo error que siempre :-(
configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+.
Try the --with-gmp and/or --with-mpfr options to specify their locations.
Copies of these libraries' source code can be found at their respective
hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/.
See also http://gcc.gnu.org/install/prerequisites.html for additional info.
If you obtained GMP and/or MPFR from a vendor distribution package, make
sure that you have installed both the libraries and the header files.
They may be located in separate packages.
../scripts/002-gcc-4.3.2-stage1.sh: Failed.
ERROR: Could not run the toolchain script.
Ya lo he intentado con 2 ordenadores diferentes.
A ver si alguien entendido en linux o que se haya instalado el compilador nos explica por qué no se puede :-S
Salu2!
Dice
Que hubo un error al instlar el GCC, por que requiere de las librerias GMP 4.1+ y MPFR 2.3.0+.
Si te lees elntuto de Dark-Alex, te dira como descargarte esas librerias.
Ve intentalo.
PD: L ainstalación de las librerias esta en el tuto para windows, aunque pienso que es lo mismo para LInux.
Intentalo.
psp.scenebeta.com más que una web una comunidad unida.
Quiero una DS!!!!!!!!!!!
yo tambien voy a intentarlo instalar
a ver si cuando tenga mi ordenador lo consigo
salu2
Bueno
Solo quiero decir, que el compilador del PSPDev y el Cgwin son los mismos.
Pueden utilizar primero, si quieren, el SDK de minimalist, es sencillo y biene con todas las librerias.
Asi no tendran que liarse tato con esto.
Otra cosa, segun lei en la web de Dax, no es necesario instlar el compilador en linux, pues usan el GNU o el nucleo que se yo, como compilador o algo asi.
psp.scenebeta.com más que una web una comunidad unida.
Quiero una DS!!!!!!!!!!!
Ejem
Usamos Linux... los .exe no valen.
Llamado a los interesados en Lua: Terminemos juntos este proyecto.
ups
Sorry, se me habia pasado ese detalle.
Bueno pues suerte.
psp.scenebeta.com más que una web una comunidad unida.
Quiero una DS!!!!!!!!!!!
Puf, logré salir de los problemas de dependencias
Pero ahora me topo con algo que no sé cómo resolverlo. Ya descargué el Toolchain pero cuando la consola intenta instalarlo, me marca varios errores al final:
make[2]: se sale del directorio '/home/pedro/Descargas/psptoolchain/build/gcc-4.3.2/build-psp/psp/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: se sale del directorio '/home/pedro/Descargas/psptoolchain/build/gcc-4.3.2/build-psp'
make: *** [all] Error 2
../scripts/002-gcc-4.3.2-stage1.sh: Failed
Intenté seguir con la instalación del siguiente paquete de librerías pero dice que el toolchain no está instalado :S.
Gracias de antemano.
Llamado a los interesados en Lua: Terminemos juntos este proyecto.
Leete
El tutorial de la web de Dark-Alex, esta muy bien explicado y talves te sirva de algo.
Intentalo cuando puedas.
psp.scenebeta.com más que una web una comunidad unida.
Quiero una DS!!!!!!!!!!!
Problema en la instalacion de psptoolchain
Cuando intento instalar psptoolchain me sale en la ultima linea
../scripts/001-binutils-2.16.1.sh: Failed.
¿Me podrian ayudar a solucionar el problema? Tengo ganas de hacer mi propio programa.
Gracias por adelantado
Utilisimo
Utiliimo el tuto! Te libra de bastantes dolores de cabeza ! Te doy dos sugerencias kaltorak uuna es que sustituyas todas esas lineas de apt-get por una sola:
sudo apt-get install subversion automake1.9 bison flex libncurses5-dev patch libreadline5-dev wget texinfo build-essential libusb-dev libtool gedit
Y tambien que añadas que no solo es valido para kubuntu, si no para cualquier version de esta y cualquier distro derivada de Debian (Ubuntu, kubuntu, Knoppix...)
Saludos!
2.00 > bla bla bla > 5.00 M33-3
Y tambien al compilar......
El ejemplo que hiciste sobre como programar para 3.XX me sale esto:
psp-gcc -I. -I/usr/local/pspdev/psp/sdk/include -I/usr/local/pspdev/psp/include/SDL -G0 -O2 -DPSP -D_PSP_FW_VERSION=371 -c -o main.o main.c
main.c:8:17: error: sdl.h: No existe el fichero ó directorio
main.c:9:21: error: sdl_ttf.h: No existe el fichero ó directorio
main.c:10:23: error: sdl_image.h: No existe el fichero ó directorio
main.c:11:23: error: sdl_mixer.h: No existe el fichero ó directorio
main.c:14:21: error: textout.c: No existe el fichero ó directorio
main.c:15:21: error: textout.h: No existe el fichero ó directorio
make: *** [main.o] Error 1
Por lo que deduzco que me faltan librerias. Como consigo cada una de ellas y como las instalo.
Perdonad, pero no llevo mucho tiempo en Ubuntu, antes compilaba en Xp y me gustaria empezar a compilar en Linux. Gracias!
No es windows
Cuidain!!! que no estamos en Windows, Linux es sensible a mayusculas y minusculas, el problemas esque tienes mal incluidas las libreiras (al menos las SDL) susitulle en tu main.c los includes de sdl.h, etc por estos:
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>
#include <SDL/SDL_rotozoom.h>
#include <SDL/SDL_ttf.h>
Y revisa que los dos ultimos includes que nos muestras en la salida esten bien, respetando mayusculas minusculas, subdirectorios... etc
Saludos
2.00 > bla bla bla > 5.00 M33-3
Problema al compilar
Hola lo he instalado todo tal y como indicas. Y he intentado compilar un main.c con el makefile que has puesto y me sale esto:
psp-gcc -I. -I/usr/local/pspdev/psp/sdk/include -I/usr/local/pspdev/psp/include/SDL -G0 -O2 -DPSP -D_PSP_FW_VERSION=371 -c -o main.o main.c
psp-gcc -I. -I/usr/local/pspdev/psp/sdk/include -I/usr/local/pspdev/psp/include/SDL -G0 -O2 -DPSP -D_PSP_FW_VERSION=371 -L. -L/usr/local/pspdev/psp/sdk/lib -specs=/usr/local/pspdev/psp/sdk/lib/prxspecs -Wl,-q,-T/usr/local/pspdev/psp/sdk/lib/linkfile.prx main.o /usr/local/pspdev/psp/sdk/lib/prxexports.o -lSDL_gfx -lSDL_image -lstdc++ -lSDL_mixer -lSDL_ttf -lvorbisidec -lfreetype -lpng -ljpeg -lz -lm -L/usr/local/pspdev/psp/lib -lm -L/usr/local/pspdev/psp/sdk/lib -lpspsdk -lSDL -lGL -lpspvfpu -lpsprtc -lpspdebug -lpspgu -lpspctrl -lpspge -lpspdisplay -lpsphprm -lpspaudio -lc -lpspuser -lpsputility -lpspkernel -lpspge -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o PRUEBA.elf
/usr/local/pspdev/psp/sdk/lib/prxexports.o:(.rodata.sceResident+0xc): referencia a `module_info' sin definir
/usr/local/pspdev/psp/lib/libSDL.a(SDL_pspevents.o): En la funci�n `PSP_EventQuit':
/home/juanma/Descargas/psplibraries/build/SDL/src/video/psp/SDL_pspevents.c:274: referencia a `pspIrKeybFinish' sin definir
/usr/local/pspdev/psp/lib/libSDL.a(SDL_pspevents.o): En la funci�n `PSP_EventInit':
/home/juanma/Descargas/psplibraries/build/SDL/src/video/psp/SDL_pspevents.c:247: referencia a `pspIrKeybInit' sin definir
/home/juanma/Descargas/psplibraries/build/SDL/src/video/psp/SDL_pspevents.c:249: referencia a `pspIrKeybOutputMode' sin definir
/usr/local/pspdev/psp/lib/libSDL.a(SDL_pspevents.o): En la funci�n `PSP_PumpEvents':
/home/juanma/Descargas/psplibraries/build/SDL/src/video/psp/SDL_pspevents.c:112: referencia a `pspIrKeybReadinput' sin definir
collect2: ld devolvió el estado de salida 1
make: *** [PRUEBA.elf] Error 1
Resolver problemas con dependencias
Hola soy un Usuario de linux ya llevo mas o menos tiempo pegandole a esta madre y me inicialice en este jale, pero bueno aki les va una aportacion
ya ke llegan a la parte de
$ ./toolchain.sh # ke es para instalar las toolchains
pudede generar problemas de librerias de dependencias como
chec-gmp.h: failed
o algo asi ke les diga ke les falta una libreria o un programa o lo ke sea, bueno esto lo resuelves de la sig manera:
si te gijas son librerias las ke ocupa para compilar en este caso gmp.h pueden ser distintas en tu distribucion, a mi me dio este problema, bueno abres otra consola y escribes
$ sudo apt-get install lib<nombre de la libreria ke te falta> # y precionas tab 2 veces
esto te desplegara varias opciones de paketes a instalar y por ejemplo escojes
sudo apt-get install libgmp-dev
Siempre deves escojes las librerias ke sean de desarrollo pork son las ke ocupas para compilar, espero ke les sirva de algo este comentario
:S
che esto es medio confuso seria mas claro que pongan primero descarga esto luego esto luego entren en el homebrew y pongan esto esto y esto
¿Sabes qué es compilador?
Este tutorial va dedicado a los programadores.
Llamado a los interesados en Lua: Terminemos juntos este proyecto.
ayuda!!!!!!
cuando trato de correr ./toolchain.sh me sale este error
ERROR: Set $PSPDEV before continuing.
../depends/check-pspdev.sh: Failed.
que debo hacer?
[IMG]http://i267.photobucket.com/albums/ii287/janojk13/janojk13firma-1.jpg[/IMG]
Muy bien
La neta es muy bueno que te hayas cambiado a un sistema libre por que; digamoslo sinceramente supera por mucho al de la ventanita, te recomiendo más ubuntu por que tiene mejores graficos y es más facil de usar; a mi humilde parecer.
Lamentablemente en esta web casi no hay tutoriales ni aplicaciones para psp que puedas usar en linux y todavia peor faltan más en la comunidad madre: http://scenebeta.com claro por que aun es una comunidad joven asi que miembros del staff no se sulfuren.
Asi que muchas gracias por este tuto .
El conocimiento no vale si no se comparte.
Case sensitive
"" Solo un pequeño consejo, ojito con las mayúsculas y las minúsculas por que kubuntu es un poco toca pelotas en ese aspecto ;) ""
kubuntu es GNU/LINUX y como todos los linux es Case sensitive
wikipedia ----------------------------------------------------------------------
Se dice que un texto es 'case sensitive' si distingue mayúsculas de minúsculas, por ejemplo los Sistemas Operativos basados en UNIX en los que un texto escrito en mayúsculas es totalmente diferente a uno escrito en minúsculas.
>< Debian ><
Muchas gracias
Tengo kubuntu desde la hoary y me acabo de comprar la PSP. Así que te agradezco muchisimo este tutorial para poder iniciarme en la programación para la PSP (cosa que me interesa mucho).
Un saludo!