Más problemas de ns con Debian Etch

Una vez solucionados los problemas de configuración de ns con bash 3.1.x, al compilar me da un error también interesante:

queue/cbq.cc:1002: error: 'cbq_' was not declared in this scope
make: *** [queue/cbq.o] Error 1
Ns make failed!

Al parecer, no se lleva bien tampoco con GCC 4, por lo que he tenido que hacer un downgrade de gcc y g++ a la versión 3.4 para que compile.

Veremos qué nuevas sorpresas me depara el final de la compilación (o el próximo error de compilación).

Share

Errores en la instalación de ns con bash 3.1.x

El simulador tiene un fallo en las librerías que distribuye con el paquete all-in-one (versiones 2.28 y 2.29), que hace que no se pueda compilar. Me he enfrentado a este problema al intentar instalar el simulador en dos ordenadores con una recién instalada.

Se produce con el intérprete bash en su versión 3.1.x o superior, que yo haya visto. Con las versiones 3.0.x va bien.

El error que da en primer lugar es:

checking system version (for dynamic loading)... ./configure: line 7624: syntax error near unexpected token `)'
./configure: line 7624: ` OSF*)'

(El número de línea puede variar de una distribución a otra)

Este error no se produce por esa salida, «OSF*)», que es una simple comprobación y está correcta, sino por un error de sintaxis que hay en otra parte. Está en 3 paquetes de los que se distribuyen en el ns-allinone: tcl, tk y otcl. Tendremos que buscar los siguientes archivos:

  • tcl: archivo tcl8.x.x/unix/tcl.m4.
  • tk: archivo tk8.x.x/unix/tcl.m4. Igual que para tcl.
  • otcl: archivo otcl-1.x/configure.in. Igual que para tcl y tk.

Dentro de esos archivos buscamos las líneas que contengan:
system=MP-RAS-`awk '{print $3}' /etc/.relid'`
y se sustituyen por:
system=MP-RAS-`awk '{print $3}' /etc/.relid`
Es decir, hay que quitar el apóstrofe del final.

Después de editar los archivos hay que ejecutar «autoconf» en cada directorio que se modifique, para volver a generar el script configure. A continuación, el script de instalación debería funcionar sin ningún problema.

Actualización: he enviado un informe de este problema al sistema de seguimiento de bugs en SourceForge: Configuration error in tcl, tk and otcl.

Share

Cómo NO pensar en un algoritmo de planificación de huecos para OBS

Sea un algoritmo de planificación para OBS LAUC (Latest Available Unscheduled Channel) con Void Filling (rellenado de huecos).

La forma correcta de implementarlo NO se hará pensando que el ordenador es inteligente de verdad y va a entender que tú le quieres decir que mire si se solapa con la planificación anterior o con la siguiente a la vez, sobre todo si lo que escribes dice que mire si se solapa con uno o con el resto de los huecos libres.

Vamos, que lo que tiene que hacer el algoritmo es comprobar si se solapa con una planificación cada paso del bucle, y no con dos a la vez.

Lo que más gusto da de esto es resolver el problema a las 8 de la mañana, menos de una hora después de llegar al curro 🙂

Me imagino que la mayoría de la gente que haya leído esto no se habrá coscado de nada, sólo necesitaba desahogarme un poco.

Share

Transistores laser

En el artículo The Transistor Laser de la Spectrum de febrero hablan del desarrollo de transistores laser, con salidas tanto eléctricas como ópticas, que podrían ser la puerta (o la base, que son BJT) a la computación totalmente óptica. A ver si de esta salen memorias ópticas y se puede empezar a experimentar con OPS (Optical Packet Switching, Conmutación de Paquetes Ópticos).

Las salidas ópticas son de tipo laser (Light Amplification by Stimulated Emission of Radiation, Amplificación de Luz mediante Emisión Estimulada de Radiación), modulables a 10 Gbps y más. Y esto lo han conseguido a temperatura ambiente. Anteriormente los experimentos se llevaron a cabo a -73ºC, y sugieren que pronto se encontrarán dispositivos de este tipo en producción.

Para los que quieran ver el esquema del transistor laser. Se observa que han usado pozos cuánticos y diversos tipos de semiconductores: Arseniuro de Galio, Arseniuro de Indio y Galio, Arseniuro de Aluminio y Galio y Fosfato de Indio y Galio.

Como curiosidad, uno de los investigadores es Nick Holonyak Jr., inventor del LED.

Share