Ticket #97 (closed defect: fixed)
Should not create empty directories in setup install/copy
|Reported by:||duncan||Owned by:||ijones|
|Cc:||Gregory Wright <gwright@…>||Difficulty:||normal|
|GHC Version:||6.4.2||Platform:||Mac OS|
When installing a library, in this case MissingH 0.16, I get the error:
ghc-pkg: /opt/local/lib/MissingH-0.16.0/ghc-6.6/include doesn't exist or isn't a directory (use --force to override) Error: Target com.apple.activate returned: shell command "/opt/local/libexec/missingh/register.sh" returned error 1 Command output: Reading package info from stdin ... done. ghc-pkg: /opt/local/lib/MissingH-0.16.0/ghc-6.6/include doesn't exist or isn't a directory (use --force to override) Warning: the following items did not execute (for missingh): com.apple.activate Error: Status 1 encountered during processing.
(the above is the output of the MacPorts? portfile.)
The problem is that when the build is staged into a temporary location so the files can be inventoried, an empty directory, <prefix>/lib/MissingH-0.16.0/ghc-6.6/include is created. MacPorts? deletes this empty directory (along with a number of other unused directories it creates in the staging process). The registration process requires the empty directory to be present and fails, as shown above, if it is not.