2013-06-04 14 views
5

Esiste un numero massimo di moduli che è possibile compilare tramite Cabal/via GHC?Esiste un numero massimo di moduli che possono essere compilati tramite Cabal?

Ho un progetto piuttosto grande (molti moduli generati automaticamente) che non viene compilato utilizzando la cabala, ma non viene visualizzato alcun messaggio di errore. Cabal esce silenziosamente con exit code 127 (Mac OS X, accade in 10.6 e 10.8, solo queste 2 piattaforme testate; GHC 7.4.2).

EDIT uscita di cabal build -v3:

>>> cabal build -v3 
Using internal setup method with build-type Simple and args: 
["build","--verbose=3"] 
creating dist/build 
creating dist/build/autogen 
Building java-bindings-1.0... 
Preprocessing library java-bindings-1.0... 
Building library... 
creating dist/build 
("/usr/bin/ghc",["--make","-package-name","java-bindings-1.0","-v","-hide-all-packages","-fbuilding-cabal-package","-i","-idist/build","-i.","-idist/build/autogen","-Idist/build/autogen","-Idist/build","-optP-include","-optPdist/build/autogen/cabal_macros.h","-odir","dist/build","-hidir","dist/build","-stubdir","dist/build","-package-id","base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd","-package-id","java-bridge-0.20130602-5cb59a7e71733b25cf4b8a8ae649598b","-O","-XHaskell98","Java.Applet", (references to the other modules) 
/usr/bin/ghc returned ExitFailure 127 

Ora che vedo che la produzione credo che forse è il numero di argomenti della riga di comando che vengono passati al GHC - Credo che ci sia una lunghezza massima imposta dal sistema operativo ... C'è un modo per aggirare questa limitazione?

+2

Cosa succede se si esegue 'cabal' con un livello di verbosità più elevato (ad esempio' -v3')? –

+0

Non penso ci sia alcun limite. Inoltre, solo per riferimento e confronto, quanto è grande il tuo progetto? – Laar

+0

~ 6800 moduli, ma non riesce con 2500 già. È un collegamento alla libreria standard Java SE 6 su cui sto lavorando. Contiene 3400 classi e ogni classe risulta in due moduli. – scravy

risposta

2

Sì: il sistema operativo pone un limite sulla lunghezza di una riga di comando, che viene utilizzata internamente per il passaggio di collegamento finale.

Non sono sicuro di cosa suggerire qui, oltre a segnalare l'errore di Cabal e magari provare a risolverlo da solo. Il codice della cabala è abbastanza leggibile, se segui questa strada. :)

+0

Sai quanti limiti ci sono per Mac OS X 10.8/Debian 7? – scravy

Problemi correlati