Re: GHC Undefined

2002-12-16 Thread michael vorin

Thanks All for the feedback,

I guess one of the reasons for posting the message to the ghc maillist was 
to suggest that in the next release of ghc for windows the bin tools be 
refreshed as the versions in use with ghc apear to be several releases 
behind - and as Mike Thomas pointed out the latest release of mingw bintools 
has a number of bugfixes.

Thanks all.

Mike

_
MSN 8 with e-mail virus protection service: 2 months FREE* 
http://join.msn.com/?page=features/virus

___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


Re: GHC Undefined

2002-12-13 Thread Sigbjorn Finne
If you're mixing code compiled and linked with different
versions of binutils / gcc, then you're pretty much on your
own - i.e., I'm assuming you didn't build pdcurses via
'ghc' but 'gcc' & 'ld'/'dllwrap'.

--sigbjorn

- Original Message -
From: "michael vorin" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, December 11, 2002 14:13
Subject: GHC Undefined


> Whilst I was trying to get the curses binding example in QForeign to
compile
> - I stumbled on what I believe to be a bug. Essentialy I believe that the
> version of ld.exe that you have packaged up with ghc 5.04 win32 has a bug
or
> is perhaps badly configured.
>
> ghc uses - GNU ld version 2.11.90 (20010704) (with BFD 2.11.90)
>
> which did not properly resolve external references to variables (see
below).
>
> I resolved problem by using - GNU ld version 2.13, from current mingw
> release.
>
> my configuration
> GHC 5.04 Win32 running on win2K platform.
> What I encountered
> 
> ghc -fglasgow-exts CursesTest.hs CursesTest_hsc.c Curses.hs curses_hsc.c
> -lpdcurses
>
> curses_hsc.o(.text+0x4):curses_hsc.c: undefined reference to `stdscr'
> curses_hsc.o(.text+0x10):curses_hsc.c: undefined reference to `LINES'
> curses_hsc.o(.text+0x1c):curses_hsc.c: undefined reference to `COLS'
> curses_hsc.o(.text+0x28):curses_hsc.c: undefined reference to
`COLOR_PAIRS'
> curses_hsc.o(.text+0x34):curses_hsc.c: undefined reference to `COLORS'
>
>
> when I had a look at the object files and the libpdcurses.dll, the
> appropriate symbols were in fact defined, and in fact all functions were
> resolved, the above symbols represent bindings to variables declared as
> follows:-
>
> extern int LINES;
>
> 2. setup of a test
> -
> I setup a test (test.c attached) where I just had one external reference
> that I was trying to resolve. I compiled it
>
>
> curses\tst-lines>ghc tst.c -o tst.exe -lpdcurses
> tst.o(.text+0x4):tst.c: undefined reference to `LINES'
>
> curses\tst-lines>gcc tst.c -o tst.exe -lpdcurses
> Info: resolving _LINES by linking to __imp__LINES (auto-import)
>
> the above should give the same result, i.e. the later result
>
> 3. fix
> 
> I copied ld.exe from my mingw release (version 2.13) over ld.exe in the
ghc
> release (version 2.11.90 ). This solved my problem
>
> 4. postmortem
> -
> why the problem ? Does this problem occur with all external variable
> references or is limitted to a few dll libraries, does it occur linking
> against static libraries ?
>
> I don't know
>
>
>
> _
> Help STOP SPAM with the new MSN 8 and get 2 months FREE*
> http://join.msn.com/?page=features/junkmail
>

___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs



RE: GHC Undefined

2002-12-12 Thread Mike Thomas
Hi Michael.

The latest release candidate of Mingw binutils fixed some problems with
autoimporting variables from DLL's.  More details at:

http://sourceforge.net/project/shownotes.php?release_id=127364

I believe that there have also been similar changes in one or two other
recent MinGW32 binutils releases.

Cheers

Mike Thomas.


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of michael
vorin
Sent: Thursday, December 12, 2002 8:14 AM
To: [EMAIL PROTECTED]
Subject: GHC Undefined


Whilst I was trying to get the curses binding example in QForeign to compile
- I stumbled on what I believe to be a bug. Essentialy I believe that the
version of ld.exe that you have packaged up with ghc 5.04 win32 has a bug or
is perhaps badly configured.

ghc uses - GNU ld version 2.11.90 (20010704) (with BFD 2.11.90)

which did not properly resolve external references to variables (see below).

I resolved problem by using - GNU ld version 2.13, from current mingw
release.

my configuration
GHC 5.04 Win32 running on win2K platform.
What I encountered

ghc -fglasgow-exts CursesTest.hs CursesTest_hsc.c Curses.hs curses_hsc.c
-lpdcurses

curses_hsc.o(.text+0x4):curses_hsc.c: undefined reference to `stdscr'
curses_hsc.o(.text+0x10):curses_hsc.c: undefined reference to `LINES'
curses_hsc.o(.text+0x1c):curses_hsc.c: undefined reference to `COLS'
curses_hsc.o(.text+0x28):curses_hsc.c: undefined reference to `COLOR_PAIRS'
curses_hsc.o(.text+0x34):curses_hsc.c: undefined reference to `COLORS'


when I had a look at the object files and the libpdcurses.dll, the
appropriate symbols were in fact defined, and in fact all functions were
resolved, the above symbols represent bindings to variables declared as
follows:-

extern  int LINES;

2. setup of a test
-
I setup a test (test.c attached) where I just had one external reference
that I was trying to resolve. I compiled it


curses\tst-lines>ghc tst.c -o tst.exe -lpdcurses
tst.o(.text+0x4):tst.c: undefined reference to `LINES'

curses\tst-lines>gcc tst.c -o tst.exe -lpdcurses
Info: resolving _LINES by linking to __imp__LINES (auto-import)

the above should give the same result, i.e. the later result

3. fix

I copied ld.exe from my mingw release (version 2.13) over ld.exe in the ghc
release (version 2.11.90 ). This solved my problem

4. postmortem
-
why the problem ? Does this problem occur with all external variable
references or is limitted to a few dll libraries, does it occur linking
against static libraries ?

I don't know



_
Help STOP SPAM with the new MSN 8 and get 2 months FREE*
http://join.msn.com/?page=features/junkmail


___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs



GHC Undefined

2002-12-12 Thread michael vorin
Whilst I was trying to get the curses binding example in QForeign to compile 
- I stumbled on what I believe to be a bug. Essentialy I believe that the 
version of ld.exe that you have packaged up with ghc 5.04 win32 has a bug or 
is perhaps badly configured.

ghc uses - GNU ld version 2.11.90 (20010704) (with BFD 2.11.90)

which did not properly resolve external references to variables (see below).

I resolved problem by using - GNU ld version 2.13, from current mingw 
release.

my configuration
GHC 5.04 Win32 running on win2K platform.
What I encountered

ghc -fglasgow-exts CursesTest.hs CursesTest_hsc.c Curses.hs curses_hsc.c 
-lpdcurses

curses_hsc.o(.text+0x4):curses_hsc.c: undefined reference to `stdscr'
curses_hsc.o(.text+0x10):curses_hsc.c: undefined reference to `LINES'
curses_hsc.o(.text+0x1c):curses_hsc.c: undefined reference to `COLS'
curses_hsc.o(.text+0x28):curses_hsc.c: undefined reference to `COLOR_PAIRS'
curses_hsc.o(.text+0x34):curses_hsc.c: undefined reference to `COLORS'


when I had a look at the object files and the libpdcurses.dll, the 
appropriate symbols were in fact defined, and in fact all functions were 
resolved, the above symbols represent bindings to variables declared as 
follows:-

extern	int	LINES;

2. setup of a test
-
I setup a test (test.c attached) where I just had one external reference 
that I was trying to resolve. I compiled it


curses\tst-lines>ghc tst.c -o tst.exe -lpdcurses
tst.o(.text+0x4):tst.c: undefined reference to `LINES'

curses\tst-lines>gcc tst.c -o tst.exe -lpdcurses
Info: resolving _LINES by linking to __imp__LINES (auto-import)

the above should give the same result, i.e. the later result

3. fix

I copied ld.exe from my mingw release (version 2.13) over ld.exe in the ghc 
release (version 2.11.90 ). This solved my problem

4. postmortem
-
why the problem ? Does this problem occur with all external variable 
references or is limitted to a few dll libraries, does it occur linking 
against static libraries ?

I don't know



_
Help STOP SPAM with the new MSN 8 and get 2 months FREE*  
http://join.msn.com/?page=features/junkmail
#include "curses.h"
#include 


extern	int	LINES;

int *hs_lines (void) {return &LINES;}

int main()
{

   return 0;
}