Author Topic: Error de "Permiso denegado" confuso.  (Read 5671 times)

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
Error de "Permiso denegado" confuso.
« on: 2007 August 22 18:21:40 »
Probando el script FFTRegistration.js me aparece un errorcillo de que no existe pjsr/Sizer.jsh. Esto quizá es culpa de que estoy usando el paquete .deb y los archivos andan por ahí un tanto perdidos ;). Lo investigaré.

El tema es que modifico la línea del #include relevante en el script y al intentar ejecutarlo de nuevo, me dice "File access error: /usr/share/pixinsight/src/scripts/FFTRegistration.js: Permiso denegado". Al principio me quedé un poco sorprendido, hasta que se me ocurrió que el error puede venir porque Pixi quiere guardar el archivo. Por tanto, no estaría de más una indicación de ello en el mensaje de error (si es que este es el caso, claro!). Por ejemplo "File write access error", o "Write: file access error".

Y si ahora me despido con un "Hasta dentro de 10 minutos", Murphy entrará en acción y no volveré a escribir. A ver si funciona ;)
--
 David Serrano

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
Re: Error de "Permiso denegado" confuso.
« Reply #1 on: 2007 August 22 18:28:33 »
Ahora me aparece un error similar ("include file not found") dado que NumericControl.jsh no encuentra pjsr/Slider.jsh. No sabría decir cuál de estas soluciones es mejor:

a) Que yo efectivamente revise la disposición de los archivos en los paquetes y/o ponga enlaces simbólicos a puntapala.
b) Crear una opción de configuración tal que "Directorio donde residen los *.jsh". Como si fuera el parámetro -I de gcc.

Hmmm...  :roll:
--
 David Serrano

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Error de "Permiso denegado" confuso.
« Reply #2 on: 2007 August 23 05:36:28 »
Hola David

Sí, efectivamente cuando tienes un script cuyo texto ha sido modificado y lo ejecutas, siempre se guarda primero el archivo. Esto es porque el engine de JavaScript, tal como lo he incorporado en PI, ejecuta siempre archivos, nunca scripts residentes en memoria. Hay evidentes razones de seguridad para que esto sea así; piensa que de lo contrario abriríamos la puerta a que alguien ejecutara cosas muy muy feas si encontrara la posibilidad de hacer un buffer overrun o algún back door (que nunca se debe jurar que no lo va a haber, aunque se esté muy seguro, como es el caso).

Respecto de los paquetes. Tenemos un problema: no se puede seguir haciendo la distribución de archivos tal como hasta ahora. La razón es que PI es ya ahora una plataforma de desarrollo, incluso la versión sin PCL, y la existencia de archivos fuente situados de forma controlada en un único subárbol de directorios es esencial. Los problemas que comentas son una muestra de esto. Además hay más razones, como la portabilidad del código entre diferentes instalaciones (#include pjsr/loquesea siempre tiene que funbcionar si loquesea existe, esté donde esté todo el tinglado) y la detección automática de los scripts de ejemplo, por citar un par.

Así que la solución, como ya te comenté en un mensaje privado, yo creo que es que los paquetes se instalen en un único directorio, a saber:

/usr/lib/pixinsight

y toda la estructura de directorios propia de PI colgando de ahí. O sea tal como se instala Qt, o FireFox (y en general todas las aplicaciones de Mozilla), por ejemplo. No podemos repartir el ejecutable por un lado, los fuentes por otro, etc. Por una parte, esto te ahorra un montón de faena ;) Por otra, sé que te va a dar náuseas :)

A ver qué piensas de esto. Por otra parte, lo de los mensajes un poco confusos respecto del acceso a archivos, pues sí, es verdad que deberían ser a veces más precisos. Todo se andará :-)
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
Error de "Permiso denegado" confuso.
« Reply #3 on: 2007 August 23 08:30:04 »
Quote from: "Juan Conejero"
el engine de JavaScript, tal como lo he incorporado en PI, ejecuta siempre archivos, nunca scripts residentes en memoria.


Correcto :^).

Quote from: "Juan Conejero"
Por una parte, esto te ahorra un montón de faena ;) Por otra, sé que te va a dar náuseas :)


Pues sí, alguna que otra arcada ha caído :^P. El no repartir los archivos no me ahorra ningún trabajo, que para eso ya tenemos ordenadores ;^). Simplemente me toca editar un par de cosas para decirles a las herramientas de empaquetación el sitio "nuevo" de los archivos.

Quote from: "Juan Conejero"
A ver qué piensas de esto.


Pues el asunto no me convence nada pero bueno, chapuzas peores hacen los de m$, y ahí están. Con "chapuzas" me refiero a empaquetar un .tar.gz en un .deb sin apenas cambiar nada, no a las exigencias del guión ;). Y el hecho de no ser el primero me hace sentir mejor.

Para la siguiente versión le echaré un ojillo. Y ya de paso haré la PCL, que reconozco que la tengo un poco aparcada precisamente por esta misma razón.
--
 David Serrano