Win32 Binaries

239 views
Skip to first unread message

David S.

unread,
Oct 11, 2011, 11:05:55 PM10/11/11
to General Dart Discussion
Call me when there are some Win32 Binaries.

John Tamplin

unread,
Oct 11, 2011, 11:09:17 PM10/11/11
to David S., General Dart Discussion
On Tue, Oct 11, 2011 at 11:05 PM, David S. <dave.m....@gmail.com> wrote:
Call me when there are some Win32 Binaries.

As has been mentioned, the current state is a very early technology preview.  It isn't suitable for production use yet, so it seems limiting to those who are willing and able to build from source is a useful filter.

You can also experiment from the web interface without building anything.

--
John A. Tamplin
Software Engineer (GWT), Google

ZeroOne

unread,
Oct 12, 2011, 4:42:26 AM10/12/11
to General Dart Discussion
On Oct 12, 06:09, John Tamplin <j...@google.com> wrote:
> On Tue, Oct 11, 2011 at 11:05 PM, David S. <dave.m.solo...@gmail.com> wrote:
> > Call me when there are some Win32 Binaries.
>
> As has been mentioned, the current state is a very early technology preview.
>  It isn't suitable for production use yet, so it seems limiting to those who
> are willing and able to build from source is a useful filter.

I tried building from the source but failed at the point where it
requires Visual Studio. Can I work around this, or will the free
Visual Studio Express be enough? Also, what's your ETA on something
that the general public can use? I won't bother installing Visual
Studio Express if it's a week, but I just might have to install it if
I'd otherwise have to wait until Christmas.

-ZeroOne

Kevin Kelley

unread,
Oct 12, 2011, 7:10:51 AM10/12/11
to ZeroOne, General Dart Discussion
On 10/12/2011 3:42 AM, ZeroOne wrote:
> On Oct 12, 06:09, John Tamplin<j...@google.com> wrote:
>> On Tue, Oct 11, 2011 at 11:05 PM, David S.<dave.m.solo...@gmail.com> wrote:
>>> Call me when there are some Win32 Binaries.
>> As has been mentioned, the current state is a very early technology preview.
>> It isn't suitable for production use yet, so it seems limiting to those who
>> are willing and able to build from source is a useful filter.
> I tried building from the source but failed at the point where it
> requires Visual Studio. Can I work around this, or will the free
> Visual Studio Express be enough?

No luck... express is supposed to work, and seems like it would, but I
ran into various errors
that make me think it hasn't actually been tested -- a python
configuration script breaking
on windows-style backslashed paths, for one. I got as far as some
targets building, most failing...


Kevin

Bob Nystrom

unread,
Oct 12, 2011, 1:28:36 PM10/12/11
to ZeroOne, General Dart Discussion
Our build stuff is based on what Chromium uses, which seems to support VS Express (http://www.chromium.org/developers/how-tos/build-instructions-windows). Given that, you should be able to use it for Dart too, but it's no surprise that it's buggy right now. We're still very very early on and Windows isn't a platform many of the developers use, so that path hasn't been trod frequently. We care about it, of course, but we haven't had much time to look at it and other fires have been burning hotter.

If it's something you care strongly about and feel like working on it, I think we would be interested in taking patches for stuff you can fix.

- bob

Kevin Kelley

unread,
Oct 12, 2011, 8:28:08 PM10/12/11
to General Dart Discussion

Replying to myself... tried again today and succeeded, building just the
standalone.deps;
binaries built and tests pass. I have both VS2008pro and 2010express,
and for some reason
the scripts picked the vs2008. It sounds as though either should work
fine; only issue I had
was needing to point VS at an OpenSSL include directory -- "bn.h" was
needed, I guess for
bignum?

Anyway I didn't want to leave the impression that things were broken; it
(seems to be)
working now for me.


Kevin


G. Hussain Chinoy

unread,
Oct 12, 2011, 8:41:35 PM10/12/11
to General Dart Discussion
Kevin,

Would you mind posting instructions on how to build?

Thanks!

H

Kevin Kelley

unread,
Oct 12, 2011, 9:42:42 PM10/12/11
to G. Hussain Chinoy, General Dart Discussion
On 10/12/2011 7:41 PM, G. Hussain Chinoy wrote:
Would you mind posting instructions on how to build?
I didn't take notes, so this may not be exact, but here goes...

1)  depot_tools
    a) download http://src.chromium.org/svn/trunk/tools/depot_tools.zip and extract.
    b) open cmd shell in that dir
    c) run gclient  -- this pulls a local copy of svn and python
    d) add this depot_tools dir to your PATH  (I also added depot_tools/python_bin, but I think that's not needed)

2) OpenSSL
    a) get and install http://www.slproweb.com/download/Win32OpenSSL-1_0_0e.exe
    b) add its include and lib directories to VisualStudio's locations
        i) for VS2008: open VS, then Tools|Options|Projects and Solutions|VC++ Directories
        ii) for VS2010e: View|Property Manager, any project, open either Debug or Release,
            right-click "Microsoft.Cpp.Win32.user" - properties, "VC++ Directories"
        in either case, add an include for your new OpenSSL-dir/include and a lib dir for
        OpenSSL-dir/lib/VC/static.  Save all and exit VS.  (this added those new dirs to
        Visual Studio's global properties, so the cmd-line tools should see them too)

3) Dart source
    a) make a dart dir and go there in cmd shell
    b)
gclient config http://dart.googlecode.com/svn/trunk/deps/standalone.deps
    c) gclient sync
    this should use your new python and svn to run scripts and pull sources, takes
    a while, but not nearly as long as the "all.deps" process.  If everything completes
    okay, you should be set and ready to build.

4) Building standalone VM
    a) cd ./runtime    (you should have still been in your new dart dir)
    b) ../tools/build.py --arch=ia32
    building...building...yay!  (note: you could open the generated
    runtime/dart-runtime.sln and build from there too, probably)

5) run tests
    a) ../tools/test.py --arch=ia32
    4 minutes pass, tests pass...  may see unlink errors at the end, this is windows
    being too slow at deleting temp files, no problem.

I think that was it.  I now have a dart.exe and a dart_bin.exe in runtime/Debug_ia32
and it's time to figure out what this thing does.

I mostly followed the instructions at code.google.com/p/dart Wiki -- PreparingYourMachine,
which refers you to the Chromium project Windows Build Instructions page,
which in turn lists all the possible gigabytes of VS SDKs and service packs,
but all that's certainly necessary is to install the Chromium "depot_tools"
package.  See <http://www.chromium.org/developers/how-tos/install-depot-tools>
for those details.


good luck!
Kevin

camel spotter

unread,
Oct 13, 2011, 5:41:41 AM10/13/11
to General Dart Discussion
hi kevin,

that's good news :-)
could you upload the binaries somewhere (e.g. rapidshare)?
this would be great.

thx,
chis

On Oct 13, 3:42 am, Kevin Kelley <ke...@kelleysoft.com> wrote:
> On 10/12/2011 7:41 PM, G. Hussain Chinoy wrote:> Would you mind posting instructions on how to build?
>
> I didn't take notes, so this may not be exact, but here goes...
>
> 1)  depot_tools
>      a) downloadhttp://src.chromium.org/svn/trunk/tools/depot_tools.zip
> and extract.
>      b) open cmd shell in that dir
>      c) run gclient  -- this pulls a local copy of svn and python
>      d) add this depot_tools dir to your PATH  (I also added
> depot_tools/python_bin, but I think that's not needed)
>
> 2) OpenSSL
>      a) get and installhttp://www.slproweb.com/download/Win32OpenSSL-1_0_0e.exe
>      b) add its include and lib directories to VisualStudio's locations
>          i) for VS2008: open VS, then Tools|Options|Projects and
> Solutions|VC++ Directories
>          ii) for VS2010e: View|Property Manager, any project, open
> either Debug or Release,
>              right-click "Microsoft.Cpp.Win32.user" - properties, "VC++
> Directories"
>          in either case, add an include for your new OpenSSL-dir/include
> and a lib dir for
>          OpenSSL-dir/lib/VC/static.  Save all and exit VS.  (this added
> those new dirs to
>          Visual Studio's global properties, so the cmd-line tools should
> see them too)
>
> 3) Dart source
>      a) make a dart dir and go there in cmd shell
>      b) gclient confighttp://dart.googlecode.com/svn/trunk/deps/standalone.deps
>      c)gclient sync

Kevin Kelley

unread,
Oct 13, 2011, 6:15:30 AM10/13/11
to camel spotter, General Dart Discussion
On 10/13/2011 4:41 AM, camel spotter wrote:
> that's good news :-)
> could you upload the binaries somewhere (e.g. rapidshare)?
> this would be great.

http://www.kelleysoft.com/dart/dart.exe

There's also dart_bin.exe, dart_no_snapshot.exe, dart_no_snapshot_bin.exe,
gen_snapshot_bin.exe, process_test.exe, run_vm_tests.exe, and libdart.dll
and libdart.lib, all in the same location.

I don't yet know what does what among them. I believe you'll need at least
dart.exe and libdart.dll.

I'm in process now of getting the all.deps downloaded, will hopefully get a
full build next, instead of just the standalone one. Also hoping the
eclipse
plugin build will work for me...

Kevin

camel spotter

unread,
Oct 13, 2011, 7:45:00 AM10/13/11
to General Dart Discussion
thank you kevin,

the binaries look good for seven (hello word tested ok).
but with xp i get an error box:
"The procedure entry point InitializeConditionVariable could not be
located in the dynamic link library KERNEL32.dll."

possibly there is a way to add xp compatibility.

regards,
chris

Kevin Kelley

unread,
Oct 13, 2011, 8:29:10 AM10/13/11
to General Dart Discussion
Good to know... I'm going to guess that Dart needs thread APIs that
aren't available
(or at least are harder to implement) on XP...
"InitializeConditionVariable" sounds like
mutex-related, and I vaguely remember that Win threading got some
changes in Vista
timeframe.

StackOverflow[1] says "vista and up" for "InitializeCV", mentions Boost
Thread to
workaround. Not sure if there's an easy way, or if there'd be other
issues...

Kevin

[1]
http://stackoverflow.com/questions/2847960/procedure-entry-point-initializeconditionvariable-could-not-be-located-in-kernel3
[2] http://www.boost.org/libs/thread

Kevin Kelley

unread,
Oct 13, 2011, 8:39:33 AM10/13/11
to General Dart Discussion
Found this comment in runtime/vm/thread_win.h:

// TODO(ager): Condition variables only available since Windows
// Vista. Therefore, this is only a temporary solution. We will have
// to implement simple condition variables for use in Windows XP and
// earlier.
CONDITION_VARIABLE cond_;

So I guess at the moment XP is "no".

Kevin

CB Ash

unread,
Oct 13, 2011, 11:02:45 AM10/13/11
to General Dart Discussion
I'm game to help try and patch for Windows OS.

What's the process / procedure / requirements for sending in fixes for
bugs, etc?

On Oct 12, 12:28 pm, Bob Nystrom <rnyst...@google.com> wrote:

Florian Loitsch

unread,
Oct 13, 2011, 11:06:18 AM10/13/11
to CB Ash, General Dart Discussion
On Thu, Oct 13, 2011 at 17:02, CB Ash <the.sha...@gmail.com> wrote:
I'm game to help try and patch for Windows OS.

What's the process / procedure / requirements for sending in fixes for
bugs, etc?



--
Give a man a fire and he's warm for the whole day,
but set fire to him and he's warm for the rest of his life. - Terry Pratchett

camel spotter

unread,
Oct 13, 2011, 5:36:13 PM10/13/11
to General Dart Discussion
filed according bug:
http://code.google.com/p/dart/issues/detail?id=107

On Oct 13, 2:29 pm, Kevin Kelley <ke...@kelleysoft.com> wrote:
> Good to know...  I'm going to guess that Dart needs thread APIs that
> aren't available
> (or at least are harder to implement) on XP...
> "InitializeConditionVariable" sounds like
> mutex-related, and I vaguely remember that Win threading got some
> changes in Vista
> timeframe.
>
> StackOverflow[1] says "vista and up" for "InitializeCV", mentions Boost
> Thread to
> workaround.  Not sure if there's an easy way, or if there'd be other
> issues...
>
> Kevin
>
> [1]http://stackoverflow.com/questions/2847960/procedure-entry-point-init...
Reply all
Reply to author
Forward
0 new messages