[Hugs-bugs] Missing Types.dll in WinHugs-May2006.exe?
Dear all, It seems that the Windows installer WinHugs-May2006.exe leaves out Types.dll. That release cannot load the following program which runs well in the Hugs version 20050308 on my Linux machine.
module Main where import Graphics.SOE main = runGraphics (do w <- openWindow "My First Graphics Program" (300, 300) drawInWindow w (text (100, 200) "HelloGraphicsWorld") k <- getKey w closeWindow w )
When I load the program, I see the following error message:
Hugs> :load "C:\\soe\\window.hs" ERROR file:{Hugs}\packages\Win32\System\Win32\Types.hs - Error while importing DLL "C:\Program Files\WinHugs\packages\Win32\System\Win32\Types.dll"
The Types.dll file does not really exist in that directory. Is it missing? Thanks. -- Deokhwan Kim
Hi Kim, The libraries that ship with WinHugs May 2006 are a fresh build, those with the old version are from a really old WinHugs release, hence the different contents. As far as I can tell, the build for the Win32 package succeeded. That means that: * The build script missed making the .dll * The build script failed to make the .dll, and didn't shout at me * The library has an issue. I don't really know what this is, but i'll take a look if no one else shouts. I have cc'd a person who seems to be working on the Win32 package, to see if thats anything to do with it. For the moment you should be able to paper over the problem by copying the old Win32 directory into the packages directory, replacing the new one. Thanks Neil On 5/24/06, Deokhwan Kim <dk@ropas.snu.ac.kr> wrote:
Dear all,
It seems that the Windows installer WinHugs-May2006.exe leaves out Types.dll.
That release cannot load the following program which runs well in the Hugs version 20050308 on my Linux machine.
module Main where import Graphics.SOE main = runGraphics (do w <- openWindow "My First Graphics Program" (300, 300) drawInWindow w (text (100, 200) "HelloGraphicsWorld") k <- getKey w closeWindow w )
When I load the program, I see the following error message:
Hugs> :load "C:\\soe\\window.hs" ERROR file:{Hugs}\packages\Win32\System\Win32\Types.hs - Error while importing DLL "C:\Program Files\WinHugs\packages\Win32\System\Win32\Types.dll"
The Types.dll file does not really exist in that directory. Is it missing?
Thanks.
-- Deokhwan Kim _______________________________________________ Hugs-Bugs mailing list Hugs-Bugs@haskell.org http://www.haskell.org/mailman/listinfo/hugs-bugs
Hi Mitchell, Neil Mitchell wrote:
For the moment you should be able to paper over the problem by copying the old Win32 directory into the packages directory, replacing the new one.
Your recipe works (at least for that program). I copied the Win32 directory from the hugs_SOE-Jan2005.msi[1] into the WinHugs-May2006's packages directory. Thanks. [1] http://cvs.haskell.org/Hugs/pages/downloading-Mar2005.htm -- Deokhwan Kim
Hi, Having run a new compilation on WinHugs libraries I get the following messages: ..\..\hugsdir\packages\Win32\Graphics\Win32\GDI\HDC.c: In function `hugsprim_SelectObject_34': ..\..\hugsdir\packages\Win32\Graphics\Win32\GDI\HDC.c:121: warning: assignment makes integer from pointer without a cast ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c: In function `hugsprim_CreateDialogIndirectParamW_7': ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c:290: warning: passing arg 4 of `CreateDialogIndirectParamW' from incompatible pointer type ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c: In function `hugsprim_CreateDialogParamW_6': ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c:313: warning: passing arg 4 of `CreateDialogParamW' from incompatible pointer type ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c: In function `hugsprim_DialogBoxIndirectParamW_2': ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c:422: warning: passing arg 4 of `DialogBoxIndirectParamW' from incompatible pointer type ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c: In function `hugsprim_DialogBoxParamW_1': ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c:445: warning: passing arg 4 of `DialogBoxParamW' from incompatible pointer type ..\..\hugsdir\packages\Win32\Graphics\Win32\Misc.c: In function `hugsprim_SetTimer_13': ..\..\hugsdir\packages\Win32\Graphics\Win32\Misc.c:59: warning: passing arg 4 of `SetTimer' from incompatible pointer type runhugs: Error occurred ERROR "..\..\hugsdir\packages\Win32\System\Win32\Info.hs":26 - Syntax error in import declaration (unexpected comma) I guess the warnings should be fixed anyway. The final error is on the following line: import Foreign ( Storable(sizeOf, alignment, peekByteOff, pokeByteOff, peek, poke), , Ptr, alloca ) One two many comma's, I guess the CPP has had an effect here. As for System.Win32.Types, the folder hugsdir\packages\Win32\System\Win32 has Types.hs but no Types.c, it doesn't appear in any of the build logs. I'm not sure where it should come from, but it doesn't appear to get there. Thanks Neil
On Wed, May 24, 2006 at 05:31:22PM +0100, Neil Mitchell wrote:
Having run a new compilation on WinHugs libraries I get the following messages:
..\..\hugsdir\packages\Win32\Graphics\Win32\GDI\HDC.c: In function `hugsprim_SelectObject_34': ..\..\hugsdir\packages\Win32\Graphics\Win32\GDI\HDC.c:121: warning: assignment makes integer from pointer without a cast
No idea.
..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c: In function `hugsprim_CreateDialogIndirectParamW_7': ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c:290: warning: passing arg 4 of `CreateDialogIndirectParamW' from incompatible pointer type ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c: In function `hugsprim_CreateDialogParamW_6': ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c:313: warning: passing arg 4 of `CreateDialogParamW' from incompatible pointer type ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c: In function `hugsprim_DialogBoxIndirectParamW_2': ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c:422: warning: passing arg 4 of `DialogBoxIndirectParamW' from incompatible pointer type ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c: In function `hugsprim_DialogBoxParamW_1': ..\..\hugsdir\packages\Win32\Graphics\Win32\Dialogue.c:445: warning: passing arg 4 of `DialogBoxParamW' from incompatible pointer type ..\..\hugsdir\packages\Win32\Graphics\Win32\Misc.c: In function `hugsprim_SetTimer_13': ..\..\hugsdir\packages\Win32\Graphics\Win32\Misc.c:59: warning: passing arg 4 of `SetTimer' from incompatible pointer type
These are all FunPtr arguments. Hugs doesn't generate a complete C type signature for them, I think.
runhugs: Error occurred ERROR "..\..\hugsdir\packages\Win32\System\Win32\Info.hs":26 - Syntax error in import declaration (unexpected comma)
I guess the warnings should be fixed anyway.
The final error is on the following line: import Foreign ( Storable(sizeOf, alignment, peekByteOff, pokeByteOff, peek, poke), , Ptr, alloca )
One two many comma's, I guess the CPP has had an effect here.
No, that's just my mistake. Unfortunately GHC didn't mind.
As for System.Win32.Types, the folder hugsdir\packages\Win32\System\Win32 has Types.hs but no Types.c, it doesn't appear in any of the build logs. I'm not sure where it should come from, but it doesn't appear to get there.
The Cabal build should invoke ffihugs on System.Win32.Types (add --verbose to check), and this should generate Types.c and Types.dll.
participants (3)
-
Deokhwan Kim -
Neil Mitchell -
Ross Paterson