Crie um executável estático do Haskell Linux

Muitas vezes não são duas coisas que eu amo muito que se juntam para me causar tanto aborrecimento (além dos meus filhos). Eu escrevi um programa Haskell no trabalho que usa bibliotecas como texto, xml-enumerator, attoparsec-text, etc. Eu o tenho funcionando corretamente na minha máquina Windows no trabalho, na minha máquina virtual Ubuntu no trabalho (32 bits), no meu Área de trabalho Ubuntu (32 bits novamente) e uma instância do EC2 executando o Ubuntu (64 bits).

Nosso cliente está executando o CentOS 5.3, 64 bits. Pela minha vida, não consigo fazer com que este executável seja executado corretamente. Tentei criar um executável estático usando:

ghc --make myprog.hs -optl-static -optl-pthread

Mas quando tento executar esse executável no servidor CentOS, recebo uma mensagem de erro:

openFile: invalid argument (Invalid argument)

Suponho que isso esteja relacionado ao bug descrito aqui. Eu tentei compilar a partir do Ubuntu de 32 e 64 bits, tentei compilações estáticas e compartilhadas, nada funciona (embora eu ocasionalmente receba segfaults em vez da mensagem de erro acima). Posso tentar fazer o download do CentOS 5.3 e criar uma máquina virtual para ele, mas levará um tempo para fazer o download, e não tenho certeza de qual versão do GHC funcionará nele (tentei obter o GHC 7 no servidor deles, mas executei em um problema de libc).

este momento, propus algumas abordagens possíveis, mas gostaria de evitá-las, se possíve

Rescreva em uma linguagem diferente (o pensamento de fazer isso em Java me deixa enjoado, embora possa ser um bom momento para experimentar o Cal / OpenQuarkalvez tente um compilador alternativo, como o jhc. Mas não sei ao certo como começar a instalar todas as dependências desse programa no jhc; se as pessoas tiverem experiência e souberem que o texto / attoparsec / etc funciona em jhc, eu adoraria ouvi-lo. Hack de todos os hacks: crie um executável do Windows, instale o wine no servidor deles e execute dessa maneir

omo um todo, essas são as situações em que realment gostaria que tivéssemos um back-end da JVM para o GHC. Suponho que eu poderia experimentar o LambdaVM também. Mas adoraria ouvir conselhos da comunidade sobre o que fazer aqui.

questionAnswers(3)

yourAnswerToTheQuestion