quiero compilar mi programa con perfiles, por lo que corren:¿Cabal no instala dependencias cuando necesita bibliotecas de creación de perfiles?
$ cabal configure --enable-executable-profiling
...
$ cabal build
...
Could not find module 'Graphics.UI.GLUT':
Perhaps you havent installed the profiling libraries for package 'GLUT-2.2.2.0'?
...
$ # indeed I have not installed the prof libs for GLUT, so..
$ cabal install -p GLUT --reinstall
...
Could not find module 'Graphics.Rendering.OpenGL':
Perhaps you havent installed the profiling libraries for package 'OpenGL-2.4.0.1'?
...
Por lo tanto, el problema es que, a diferencia de comportamiento de bienvenida habitual de cábala, cábala no resuelve las dependencias e instalarlas cuando se necesitan bibliotecas de perfiles.
puedo evitar que al resolver las dependencias manualmente (siguiendo los errores que aparecen después de un tiempo de compilación):
$ cabal install -p OpenGLRaw --reinstall
$ cabal install -p StateVar --reinstall
$ cabal install -p Tensor --reinstall
$ cabal install -p ObjectName --reinstall
$ cabal install -p GLURaw --reinstall
$ cabal install -p OpenGL --reinstall
$ cabal install -p GLUT --reinstall
Y luego repetir para mi próximo dependencia ..
¿Existe una mejor manera de hacer esto? Es decir, ¿hace que él haga el trabajo por sí mismo como lo hace con las bibliotecas normales?
He activado ' biblioteca-profilin g: True' en mi archivo '~/.cabal/config'. A partir de ese momento, cualquier instalación nueva habilitará automáticamente el perfil. Lamentablemente, eso significa que tuve que volver a instalar manualmente los paquetes antiguos que ya estaban instalados. Aunque, después de un tiempo de hacerlo manualmente, tengo la mayoría de los paquetes reinstalados con el perfil habilitado ... –
@Tom Lokhorst: Gracias. Además, esta parece ser la mejor/única respuesta. Entonces, si lo desea, puede dejarlo como una respuesta para que pueda aceptarlo – yairchu
Bueno, es de mala educación decir que no a los votos libres :-) Sin embargo, sí espero que alguien presente una mejor respuesta, una respuesta que no requiere que reinstale la plataforma Haskell completa manualmente la próxima vez. –