www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - dwt-win build error

reply "Simen Haugen" <simen norstat.no> writes:
Trying to compile simple.d, but got some errors:


.\dwt-widgets-Display.obj(dwt-widgets-Display)
 Error 42: Symbol Undefined _IsHungAppWindow 4
.\dwt-internal-win32-OS.obj(dwt-internal-win32-OS)
 Error 42: Symbol Undefined _GetSystemDefaultUILanguage 0
Feb 29 2008
next sibling parent reply Frank Benoit <keinfarbton googlemail.com> writes:
Simen Haugen schrieb:
 Trying to compile simple.d, but got some errors:
 
 
 ..\dwt-widgets-Display.obj(dwt-widgets-Display)
  Error 42: Symbol Undefined _IsHungAppWindow 4
 ..\dwt-internal-win32-OS.obj(dwt-internal-win32-OS)
  Error 42: Symbol Undefined _GetSystemDefaultUILanguage 0
 
 
 

If building with dsss, please try to add -full to the commandline.
Feb 29 2008
next sibling parent reply "Simen Haugen" <simen norstat.no> writes:
Gives the same error.

I'm using dsss 0.75, dmd 1.025, tango rev 3317 and dwt rev 172.


"Frank Benoit" <keinfarbton googlemail.com> wrote in message 
news:fq8p3v$qd5$1 digitalmars.com...
 Simen Haugen schrieb:
 Trying to compile simple.d, but got some errors:


 ..\dwt-widgets-Display.obj(dwt-widgets-Display)
  Error 42: Symbol Undefined _IsHungAppWindow 4
 ..\dwt-internal-win32-OS.obj(dwt-internal-win32-OS)
  Error 42: Symbol Undefined _GetSystemDefaultUILanguage 0

If building with dsss, please try to add -full to the commandline.

Feb 29 2008
parent reply Frank Benoit <keinfarbton googlemail.com> writes:
Simen Haugen schrieb:
 Gives the same error.
 
 I'm using dsss 0.75, dmd 1.025, tango rev 3317 and dwt rev 172.
 
 
 "Frank Benoit" <keinfarbton googlemail.com> wrote in message 
 news:fq8p3v$qd5$1 digitalmars.com...
 Simen Haugen schrieb:
 Trying to compile simple.d, but got some errors:


 ..\dwt-widgets-Display.obj(dwt-widgets-Display)
  Error 42: Symbol Undefined _IsHungAppWindow 4
 ..\dwt-internal-win32-OS.obj(dwt-internal-win32-OS)
  Error 42: Symbol Undefined _GetSystemDefaultUILanguage 0



hm, -full solves this always in my case. Did you also apply -full while building the dwt lib? dsss build dwt -full
Feb 29 2008
parent reply "Simen Haugen" <simen norstat.no> writes:
Yup. Still the same error


"Frank Benoit" <keinfarbton googlemail.com> wrote in message 
news:fq8vq8$1lnp$1 digitalmars.com...
 Simen Haugen schrieb:
 Gives the same error.

 I'm using dsss 0.75, dmd 1.025, tango rev 3317 and dwt rev 172.


 "Frank Benoit" <keinfarbton googlemail.com> wrote in message 
 news:fq8p3v$qd5$1 digitalmars.com...
 Simen Haugen schrieb:
 Trying to compile simple.d, but got some errors:


 ..\dwt-widgets-Display.obj(dwt-widgets-Display)
  Error 42: Symbol Undefined _IsHungAppWindow 4
 ..\dwt-internal-win32-OS.obj(dwt-internal-win32-OS)
  Error 42: Symbol Undefined _GetSystemDefaultUILanguage 0



hm, -full solves this always in my case. Did you also apply -full while building the dwt lib? dsss build dwt -full

Feb 29 2008
parent reply John Reimer <terminal.node gmail.com> writes:
Simen Haugen wrote:
 Yup. Still the same error
 
 
 "Frank Benoit" <keinfarbton googlemail.com> wrote in message 
 news:fq8vq8$1lnp$1 digitalmars.com...
 Simen Haugen schrieb:
 Gives the same error.

 I'm using dsss 0.75, dmd 1.025, tango rev 3317 and dwt rev 172.


 "Frank Benoit" <keinfarbton googlemail.com> wrote in message 
 news:fq8p3v$qd5$1 digitalmars.com...
 Simen Haugen schrieb:
 Trying to compile simple.d, but got some errors:


 ..\dwt-widgets-Display.obj(dwt-widgets-Display)
  Error 42: Symbol Undefined _IsHungAppWindow 4
 ..\dwt-internal-win32-OS.obj(dwt-internal-win32-OS)
  Error 42: Symbol Undefined _GetSystemDefaultUILanguage 0



building the dwt lib? dsss build dwt -full


I've had this error before too... These functions are in User32.lib and Kernel32.lib. If dsss doesn't know where to find these libraries, this can happen. Try adding "-S<path to implibs>" to your dsss command line and see if this changes anything. Also try adding the "-llKernel32" and "-llUser32" to the dsss command line. You shouldn't have to do this, but maybe it might be a useful diagnostic. -JJR
Feb 29 2008
parent reply "Simen Haugen" <simen norstat.no> writes:
Great, thanks a lot. It works now.


"John Reimer" <terminal.node gmail.com> wrote in message 
news:fq93t8$2avv$1 digitalmars.com...
 Simen Haugen wrote:
 Yup. Still the same error


 "Frank Benoit" <keinfarbton googlemail.com> wrote in message 
 news:fq8vq8$1lnp$1 digitalmars.com...
 Simen Haugen schrieb:
 Gives the same error.

 I'm using dsss 0.75, dmd 1.025, tango rev 3317 and dwt rev 172.


 "Frank Benoit" <keinfarbton googlemail.com> wrote in message 
 news:fq8p3v$qd5$1 digitalmars.com...
 Simen Haugen schrieb:
 Trying to compile simple.d, but got some errors:


 ..\dwt-widgets-Display.obj(dwt-widgets-Display)
  Error 42: Symbol Undefined _IsHungAppWindow 4
 ..\dwt-internal-win32-OS.obj(dwt-internal-win32-OS)
  Error 42: Symbol Undefined _GetSystemDefaultUILanguage 0



building the dwt lib? dsss build dwt -full


I've had this error before too... These functions are in User32.lib and Kernel32.lib. If dsss doesn't know where to find these libraries, this can happen. Try adding "-S<path to implibs>" to your dsss command line and see if this changes anything. Also try adding the "-llKernel32" and "-llUser32" to the dsss command line. You shouldn't have to do this, but maybe it might be a useful diagnostic. -JJR

Feb 29 2008
next sibling parent reply Frank Benoit <keinfarbton googlemail.com> writes:
yidabu schrieb:
 Terrible speed to build dwt.lib
 
 I'm using DSSS to build dwt.lib, one hour passed, but it's not finished yet.
 

It is explained in the README file. Now i added Point 9 to the installation page http://www.dsource.org/projects/dwt/wiki/Installation
Mar 01 2008
parent reply Tim Healey <leikeze gmail.com> writes:
I've followed the suggestions in this thread and the suggestions on the
installation page. And some combinations thereof. Regardless of how I
build dwt-win, and regardless of how I build it (dsss, rebuild, by hand)
or the test application simple.d or the one off the wiki, I still get
linker errors for Win32 API functions.

Finally, I used lib -l to get a text listing of all the functions in
user32.lib and searched for the string "IsHungAppWindow" in the list
file, as it was the first on the list of not-founds. The problem for me
does not appear to be that the tool chain can't find the library for
whatever reason, but that the function isn't in the library for whatever
reason. This is using the libraries that come with DMC v8.50.

Any suggestions on what to try next?
Mar 16 2008
parent reply Tim Healey <leikeze gmail.com> writes:
And I just solved my own problem, and here's how:

The import libraries provided on the installation web page contain a 
user32.lib with the functions the linker isn't finding in it. Originally 
I only installed the libraries from that file that I didn't already 
have. However, after trying to link it with just the DMC version, just 
the dwt-win-imports version, and both together, I found that both 
versions of the library are required to complete the linking step 
without error.

Perhaps the installation docs could be updated to inform people that the 
libs provided there are required to supplement the existing Win32 
libraries provided with DMC?
Mar 16 2008
next sibling parent John Reimer <terminal.node gmail.com> writes:
Tim Healey wrote:
 And I just solved my own problem, and here's how:
 
 The import libraries provided on the installation web page contain a 
 user32.lib with the functions the linker isn't finding in it. Originally 
 I only installed the libraries from that file that I didn't already 
 have. However, after trying to link it with just the DMC version, just 
 the dwt-win-imports version, and both together, I found that both 
 versions of the library are required to complete the linking step 
 without error.
 

!! That's strange. I know that I had to add -S option for the library search path in order for these symbols to be found, but I'm surprised that it needs both the dmc and the dwt-win-imports version together in order to work. The library versions provided in dwt-win-imports should be much more up to date (and all that's necessary). I'll test this and see what's wrong. It might be that the tango library expects one library for the windows functions (tango-win32-dmd.lib) and dwt another, in which case linking with both would indeed be necessary.
 Perhaps the installation docs could be updated to inform people that the 
 libs provided there are required to supplement the existing Win32 
 libraries provided with DMC?

Yes, first I'll see what the problem is exactly, then the docs can be updated. Thanks for the report. -JJR
Mar 16 2008
prev sibling parent reply John Reimer <terminal.node gmail.com> writes:
Tim Healey wrote:
 And I just solved my own problem, and here's how:
 
 The import libraries provided on the installation web page contain a 
 user32.lib with the functions the linker isn't finding in it. Originally 
 I only installed the libraries from that file that I didn't already 
 have. However, after trying to link it with just the DMC version, just 
 the dwt-win-imports version, and both together, I found that both 
 versions of the library are required to complete the linking step 
 without error.
 

Now, I'm confused why you are linking with the DMC version of these libs? You should only be linking with the "tango-win32-dmd.lib" (which should be automatic when using Tango) and the import libs provided with dwt.
 Perhaps the installation docs could be updated to inform people that the 
 libs provided there are required to supplement the existing Win32 
 libraries provided with DMC?

I tested this and a clarification is in order. Implibs should be extracted to a directory of your choice. From there all that should be necessary is to add -S<path to dwt-import-win32-import-libs> to your dsss commandline. The dmc library should not factor into this since the only /other/ win32 library that should exist is the tango one (which, once again, is automatically imported). I think the instructions are clear about the -S switch being needed. The only addition I can think of is pointing out that you should not be using the dmc libraries? -JJR
Mar 16 2008
parent Tim Healey <leikeze gmail.com> writes:
John Reimer wrote:
 Tim Healey wrote:
 And I just solved my own problem, and here's how:

 The import libraries provided on the installation web page contain a 
 user32.lib with the functions the linker isn't finding in it. 
 Originally I only installed the libraries from that file that I didn't 
 already have. However, after trying to link it with just the DMC 
 version, just the dwt-win-imports version, and both together, I found 
 that both versions of the library are required to complete the linking 
 step without error.

Now, I'm confused why you are linking with the DMC version of these libs? You should only be linking with the "tango-win32-dmd.lib" (which should be automatic when using Tango) and the import libs provided with dwt.
 Perhaps the installation docs could be updated to inform people that 
 the libs provided there are required to supplement the existing Win32 
 libraries provided with DMC?

I tested this and a clarification is in order. Implibs should be extracted to a directory of your choice. From there all that should be necessary is to add -S<path to dwt-import-win32-import-libs> to your dsss commandline. The dmc library should not factor into this since the only /other/ win32 library that should exist is the tango one (which, once again, is automatically imported). I think the instructions are clear about the -S switch being needed. The only addition I can think of is pointing out that you should not be using the dmc libraries? -JJR

Hmm, that would certainly explain some of the problems. I'll'a just run off and play around some more... Hokay, I think I may have figured out the issue here. The DMC libs were in the search path for libraries, and removing it as I prolly should have makes everything work fine. I'm not sure why I ran into issues when I built without the DMC libs as I said before, but there's no issues now... I'm'a gonna go with "operator error" on that experiment. So, as suspected all along, it was related to library paths. Maybe a note to check one's sc.ini does not include the DMC library path could prevent future linker issues like this, I guess.
Mar 16 2008
prev sibling parent John Reimer <terminal.node gmail.com> writes:
Simen Haugen wrote:
 Great, thanks a lot. It works now.
 

 I've had this error before too... These functions are in User32.lib and 
 Kernel32.lib. If dsss doesn't know where to find these libraries, this can 
 happen. Try adding "-S<path to implibs>"  to your dsss command line and 
 see if this changes anything.  Also try adding the "-llKernel32" and 
 "-llUser32" to the dsss command line. You shouldn't have to do this, but 
 maybe it might be a useful diagnostic.

 -JJR 


In my case, I had the implibs stored in dmd\lib directory... so I don't know why the "-S" option must be added for dsss. dmd should know to search the it's own lib directory (sc.ini tells it too). Maybe this is a problem with dsss? I'm not sure. But good to hear that this worked for you. -JJR
Mar 01 2008
prev sibling parent reply Jesse Phillips <jessekphillips gmail.com> writes:
On Sun, 02 Mar 2008 08:48:43 +0800, yidabu wrote:

 Thanks, works fine.
 
 I changed:
 oneatatime=yes
 
 to :
 oneatatime=no
 
 
 Is oneatatime=off same as oneatatime=no ? I not tested yet. any one know
 this?
 
 
 On Sat, 01 Mar 2008 10:25:09 +0100
 Frank Benoit <keinfarbton googlemail.com> wrote:
 
 yidabu schrieb:
 Terrible speed to build dwt.lib
 
 I'm using DSSS to build dwt.lib, one hour passed, but it's not
 finished yet.
 
 

Now i added Point 9 to the installation page http://www.dsource.org/projects/dwt/wiki/Installation


yeah its the same.
Mar 01 2008
parent "Simen Haugen" <simen norstat.no> writes:
I had to use no. If I used off, it still compiled file-by-file

"Jesse Phillips" <jessekphillips gmail.com> wrote in message 
news:fqctnn$fp7$1 digitalmars.com...
 On Sun, 02 Mar 2008 08:48:43 +0800, yidabu wrote:

 Thanks, works fine.

 I changed:
 oneatatime=yes

 to :
 oneatatime=no


 Is oneatatime=off same as oneatatime=no ? I not tested yet. any one know
 this?


 On Sat, 01 Mar 2008 10:25:09 +0100
 Frank Benoit <keinfarbton googlemail.com> wrote:

 yidabu schrieb:
 Terrible speed to build dwt.lib

 I'm using DSSS to build dwt.lib, one hour passed, but it's not
 finished yet.

Now i added Point 9 to the installation page http://www.dsource.org/projects/dwt/wiki/Installation


yeah its the same.

Mar 04 2008
prev sibling next sibling parent yidabu <yidabu.nospam gmail.com> writes:
Terrible speed to build dwt.lib

I'm using DSSS to build dwt.lib, one hour passed, but it's not finished yet.


On Fri, 29 Feb 2008 15:22:49 +0100
"Simen Haugen" <simen norstat.no> wrote:

 Great, thanks a lot. It works now.
 
 
 "John Reimer" <terminal.node gmail.com> wrote in message 
 news:fq93t8$2avv$1 digitalmars.com...
 Simen Haugen wrote:
 Yup. Still the same error


 "Frank Benoit" <keinfarbton googlemail.com> wrote in message 
 news:fq8vq8$1lnp$1 digitalmars.com...
 Simen Haugen schrieb:
 Gives the same error.

 I'm using dsss 0.75, dmd 1.025, tango rev 3317 and dwt rev 172.


 "Frank Benoit" <keinfarbton googlemail.com> wrote in message 
 news:fq8p3v$qd5$1 digitalmars.com...
 Simen Haugen schrieb:
 Trying to compile simple.d, but got some errors:


 ..\dwt-widgets-Display.obj(dwt-widgets-Display)
  Error 42: Symbol Undefined _IsHungAppWindow 4
 ..\dwt-internal-win32-OS.obj(dwt-internal-win32-OS)
  Error 42: Symbol Undefined _GetSystemDefaultUILanguage 0



building the dwt lib? dsss build dwt -full


I've had this error before too... These functions are in User32.lib and Kernel32.lib. If dsss doesn't know where to find these libraries, this can happen. Try adding "-S<path to implibs>" to your dsss command line and see if this changes anything. Also try adding the "-llKernel32" and "-llUser32" to the dsss command line. You shouldn't have to do this, but maybe it might be a useful diagnostic. -JJR


-- yidabu <yidabu.nospam gmail.com> SciTE4D: http://scite4d.chinese-blog.org/
Mar 01 2008
prev sibling parent yidabu <yidabu.nospam gmail.com> writes:
Thanks, works fine.

I changed: 
oneatatime=yes 

to :
oneatatime=no


Is oneatatime=off same as oneatatime=no ? 
I not tested yet. any one know this?


On Sat, 01 Mar 2008 10:25:09 +0100
Frank Benoit <keinfarbton googlemail.com> wrote:

 yidabu schrieb:
 Terrible speed to build dwt.lib
 
 I'm using DSSS to build dwt.lib, one hour passed, but it's not finished yet.
 

It is explained in the README file. Now i added Point 9 to the installation page http://www.dsource.org/projects/dwt/wiki/Installation

-- yidabu <yidabu.nospam gmail.com> SciTE4D: http://scite4d.chinese-blog.org/ http://www.chinese-blog.org/
Mar 01 2008