Windows binaries

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Windows binaries

kintel
Administrator
Hi all,

As you may have noticed, Windows binaries are missing for the latest release.

The latest build instructions (thanks Giles and Stefan for doing the ground work) should yield a more or less useable binary (http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows), but as always there are issues related to Microsoft's plethora of CRT libraries interfering with each other, and getting this under control appears to be somewhat of a job. This is primarily related to building the dependencies, not OpenSCAD itself.

According to feedback I've gotten, OpenSCAD and its dependencies should build using Visual C++ 2008 and 2010, as well as under Mingw.

Somehow it's been hard to find developers familiar enough with Windows, who's got the time to help out with this.
What I'm looking for is someone who's be willing to build shippable binaries for Windows (32-bit and if possible 64-bit ones). It would be really awesome if someone would put on the Windows platform maintainer hat, setting up a "nightly" build or smth. and in general care for that platform : )

Sorry for the inconvenience,

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Kliment Yanev
Hey,

I'm familiar with building shippable binaries for Win32 that do not have
CRT conflicts. It is possible to include the CRT in the binary rather
than referencing an external one. I have, however, no experience with
win64. Win32 bins work on win64, however, so I think having Win32
binaries available will be sufficient. I will try to set up a build
system for OpenSCAD on Windows on Monday. If it works out, I can
probably do regular ones (weekly, not nightly though).

Kliment

Marius Kintel wrote:

> Hi all,
>
> As you may have noticed, Windows binaries are missing for the latest release.
>
> The latest build instructions (thanks Giles and Stefan for doing the ground work) should yield a more or less useable binary (http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows), but as always there are issues related to Microsoft's plethora of CRT libraries interfering with each other, and getting this under control appears to be somewhat of a job. This is primarily related to building the dependencies, not OpenSCAD itself.
>
> According to feedback I've gotten, OpenSCAD and its dependencies should build using Visual C++ 2008 and 2010, as well as under Mingw.
>
> Somehow it's been hard to find developers familiar enough with Windows, who's got the time to help out with this.
> What I'm looking for is someone who's be willing to build shippable binaries for Windows (32-bit and if possible 64-bit ones). It would be really awesome if someone would put on the Windows platform maintainer hat, setting up a "nightly" build or smth. and in general care for that platform : )
>
> Sorry for the inconvenience,
>
>  -Marius
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Stuart Stegall
On Thu, Apr 28, 2011 at 12:42 PM, Kliment Yanev <[hidden email]> wrote:

> Hey,
>
> I'm familiar with building shippable binaries for Win32 that do not have
> CRT conflicts. It is possible to include the CRT in the binary rather
> than referencing an external one. I have, however, no experience with
> win64. Win32 bins work on win64, however, so I think having Win32
> binaries available will be sufficient. I will try to set up a build
> system for OpenSCAD on Windows on Monday. If it works out, I can
> probably do regular ones (weekly, not nightly though).
>
> Kliment
>
> Marius Kintel wrote:
>> Hi all,
>>
>> As you may have noticed, Windows binaries are missing for the latest release.
>>
>> The latest build instructions (thanks Giles and Stefan for doing the ground work) should yield a more or less useable binary (http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows), but as always there are issues related to Microsoft's plethora of CRT libraries interfering with each other, and getting this under control appears to be somewhat of a job. This is primarily related to building the dependencies, not OpenSCAD itself.
>>
>> According to feedback I've gotten, OpenSCAD and its dependencies should build using Visual C++ 2008 and 2010, as well as under Mingw.
>>
>> Somehow it's been hard to find developers familiar enough with Windows, who's got the time to help out with this.
>> What I'm looking for is someone who's be willing to build shippable binaries for Windows (32-bit and if possible 64-bit ones). It would be really awesome if someone would put on the Windows platform maintainer hat, setting up a "nightly" build or smth. and in general care for that platform : )
>>
>> Sorry for the inconvenience,
>>
>>  -Marius
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> [hidden email]
>> http://rocklinux.net/mailman/listinfo/openscad
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>

I've also built Win32 binaries (VS2010 and MinGW) and I an going to
test the build with Win64 - I'll report back about that after I make
an attempt.

Go n-éirí leat,
keltor

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Baxsie
In reply to this post by kintel
I would be happy to check out Windows 64 binaries on my box.

Is there a way to make OpenSCAD aware of multiple cores?

> It is possible to include the CRT in the binary rather
> than referencing an external one.

I have not built windows stuff since the VC++ 6,0 days, but this is always the way we did it so there were no run-time issues. It makes the EXE slightly bigger, but that is not a big deal.
Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

kintel
Administrator
On Apr 28, 2011, at 18:57 PM, Brent Crosby wrote:

> Is there a way to make OpenSCAD aware of multiple cores?
>
Not at the moment, but the evaluation is inherently parallelizable, so I'd like to explore that in the future.

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Kliment Yanev
In reply to this post by kintel
Windows binary for 0411 is now available at:
http://koti.kapsi.fi/~kliment/openscad/

I bundled it with the current mcad and also built an installer with
NSIS that creates shortcuts and file associations for .scad files. It
does not depend on any DLLs except the ones built into Windows and the
ones included in the distribution (that's as portable as I could make
it with minor effort). Compiling it was hell, but I believe it will be
easier from now on.

Feel free to put this on the github download page or on the website.
It needs more testing, particularly command line functionality and 64
bit compatibility.

Kliment

On Thu, Apr 28, 2011 at 7:20 PM, Marius Kintel <[hidden email]> wrote:

> Hi all,
>
> As you may have noticed, Windows binaries are missing for the latest release.
>
> The latest build instructions (thanks Giles and Stefan for doing the ground work) should yield a more or less useable binary (http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows), but as always there are issues related to Microsoft's plethora of CRT libraries interfering with each other, and getting this under control appears to be somewhat of a job. This is primarily related to building the dependencies, not OpenSCAD itself.
>
> According to feedback I've gotten, OpenSCAD and its dependencies should build using Visual C++ 2008 and 2010, as well as under Mingw.
>
> Somehow it's been hard to find developers familiar enough with Windows, who's got the time to help out with this.
> What I'm looking for is someone who's be willing to build shippable binaries for Windows (32-bit and if possible 64-bit ones). It would be really awesome if someone would put on the Windows platform maintainer hat, setting up a "nightly" build or smth. and in general care for that platform : )
>
> Sorry for the inconvenience,
>
>  -Marius
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Adam Milner
Thanks!  I'll give it a try now.

On Wed, May 4, 2011 at 7:43 AM, kliment yanev <[hidden email]> wrote:

> Windows binary for 0411 is now available at:
> http://koti.kapsi.fi/~kliment/openscad/
>
> I bundled it with the current mcad and also built an installer with
> NSIS that creates shortcuts and file associations for .scad files. It
> does not depend on any DLLs except the ones built into Windows and the
> ones included in the distribution (that's as portable as I could make
> it with minor effort). Compiling it was hell, but I believe it will be
> easier from now on.
>
> Feel free to put this on the github download page or on the website.
> It needs more testing, particularly command line functionality and 64
> bit compatibility.
>
> Kliment
>
> On Thu, Apr 28, 2011 at 7:20 PM, Marius Kintel <[hidden email]> wrote:
>> Hi all,
>>
>> As you may have noticed, Windows binaries are missing for the latest release.
>>
>> The latest build instructions (thanks Giles and Stefan for doing the ground work) should yield a more or less useable binary (http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows), but as always there are issues related to Microsoft's plethora of CRT libraries interfering with each other, and getting this under control appears to be somewhat of a job. This is primarily related to building the dependencies, not OpenSCAD itself.
>>
>> According to feedback I've gotten, OpenSCAD and its dependencies should build using Visual C++ 2008 and 2010, as well as under Mingw.
>>
>> Somehow it's been hard to find developers familiar enough with Windows, who's got the time to help out with this.
>> What I'm looking for is someone who's be willing to build shippable binaries for Windows (32-bit and if possible 64-bit ones). It would be really awesome if someone would put on the Windows platform maintainer hat, setting up a "nightly" build or smth. and in general care for that platform : )
>>
>> Sorry for the inconvenience,
>>
>>  -Marius
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> [hidden email]
>> http://rocklinux.net/mailman/listinfo/openscad
>>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

nophead
In reply to this post by Kliment Yanev
Thanks. It seems to fix the bug I had with the previous version where mouse drags would lock up all Windows input if a Python program was running.

On 4 May 2011 14:43, kliment yanev <[hidden email]> wrote:
Windows binary for 0411 is now available at:
http://koti.kapsi.fi/~kliment/openscad/

I bundled it with the current mcad and also built an installer with
NSIS that creates shortcuts and file associations for .scad files. It
does not depend on any DLLs except the ones built into Windows and the
ones included in the distribution (that's as portable as I could make
it with minor effort). Compiling it was hell, but I believe it will be
easier from now on.

Feel free to put this on the github download page or on the website.
It needs more testing, particularly command line functionality and 64
bit compatibility.

Kliment

On Thu, Apr 28, 2011 at 7:20 PM, Marius Kintel <[hidden email]> wrote:
> Hi all,
>
> As you may have noticed, Windows binaries are missing for the latest release.
>
> The latest build instructions (thanks Giles and Stefan for doing the ground work) should yield a more or less useable binary (http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows), but as always there are issues related to Microsoft's plethora of CRT libraries interfering with each other, and getting this under control appears to be somewhat of a job. This is primarily related to building the dependencies, not OpenSCAD itself.
>
> According to feedback I've gotten, OpenSCAD and its dependencies should build using Visual C++ 2008 and 2010, as well as under Mingw.
>
> Somehow it's been hard to find developers familiar enough with Windows, who's got the time to help out with this.
> What I'm looking for is someone who's be willing to build shippable binaries for Windows (32-bit and if possible 64-bit ones). It would be really awesome if someone would put on the Windows platform maintainer hat, setting up a "nightly" build or smth. and in general care for that platform : )
>
> Sorry for the inconvenience,
>
>  -Marius
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Giles Bathgate-2
In reply to this post by Kliment Yanev
On 4 May 2011 14:43, kliment yanev <[hidden email]> wrote:
> Compiling it was hell, but I believe it will be
> easier from now on.

Could you update the instructions (link below) with notes to help
others compile from source on Windows

http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows

Regards

Giles.

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Kliment Yanev
Will do. I made a mostly static build so my setup is a tad more complex.
  But I think static is the way to go really.

Kliment

Giles Bathgate wrote:

> On 4 May 2011 14:43, kliment yanev <[hidden email]> wrote:
>> Compiling it was hell, but I believe it will be
>> easier from now on.
>
> Could you update the instructions (link below) with notes to help
> others compile from source on Windows
>
> http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows
>
> Regards
>
> Giles.
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Giles Bathgate-2
On 4 May 2011 22:30, Kliment Yanev <[hidden email]> wrote:
> Will do. I made a mostly static build so my setup is a tad more complex.
>  But I think static is the way to go really.

Indeed static is the way I was going the last time I had a go at compiling it ;)

I think Marius would ideally prefer shared, but I sure he will be more
than glad that
someone has finally cracked the windows release procedure.

Regards

Giles

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Kliment Yanev
Any advantage to shared?

Giles Bathgate wrote:

> On 4 May 2011 22:30, Kliment Yanev <[hidden email]> wrote:
>> Will do. I made a mostly static build so my setup is a tad more complex.
>>  But I think static is the way to go really.
>
> Indeed static is the way I was going the last time I had a go at compiling it ;)
>
> I think Marius would ideally prefer shared, but I sure he will be more
> than glad that
> someone has finally cracked the windows release procedure.
>
> Regards
>
> Giles
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Giles Bathgate-2
On 4 May 2011 22:38, Kliment Yanev <[hidden email]> wrote:
> Any advantage to shared?
Probably not for openscad, but in theory you can drop in a newer
version of cgal without having to re-compile.

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Stuart Stegall
On Wed, May 4, 2011 at 4:43 PM, Giles Bathgate <[hidden email]> wrote:
> On 4 May 2011 22:38, Kliment Yanev <[hidden email]> wrote:
>> Any advantage to shared?
> Probably not for openscad, but in theory you can drop in a newer
> version of cgal without having to re-compile.
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>

As well the VERY large C/C++ libraries you've statically compiled in,
which are likely installed on your system already.

Go n-éirí leat,
keltor

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Kliment Yanev
Stuart Stegall wrote:

> On Wed, May 4, 2011 at 4:43 PM, Giles Bathgate <[hidden email]> wrote:
>> On 4 May 2011 22:38, Kliment Yanev <[hidden email]> wrote:
>>> Any advantage to shared?
>> Probably not for openscad, but in theory you can drop in a newer
>> version of cgal without having to re-compile.
>> _______________________________________________
>> OpenSCAD mailing list
>> [hidden email]
>> http://rocklinux.net/mailman/listinfo/openscad
>>
>
> As well the VERY large C/C++ libraries you've statically compiled in,
> which are likely installed on your system already.

I left the system libs out. Those are still dynamically linked (GL,
Windows builtin stuff).The biggest one I compiled in was Qt, which we
otherwise distribute as a DLL, and CGAL. It's not a full static build.
I'd like to get the gmp libs in there statically as well, since those
are the only DLL dependencies that don't come with Windows. I don't
think the executable is particularly large compared to the previous
release. 2010.05 is 7mb download size, and has a 10mb Qt DLL. Linking
that in statically means most of the functions are not included, so the
final download size actually goes down. The executable itself, and the
gmp DLLs, are 10.6mb total, with a download size of 5.4mb So I don't
believe that your statement applies here. All the libraries I considered
likely to be installed already are dynamically linked, everything we
would have to ship along as a DLL is static (except for gmp/mpfr, which
I have not gotten around to yet).

Incidentally, can someone link to my build from the website/github?


>
> Go n-éirí leat,
> keltor
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Kliment Yanev
In reply to this post by Giles Bathgate-2
I just removed the dependency on gmp and mpfr DLLs and uploaded a new
zip file and installer. As  expected, the download size has gone down.
There is no dependency on a C runtime, and the only requirements are
Windows and OpenGL. This means this is also an ideal portable build. The
address is the same as before. Marius, is it true you are partial to
shared libs?

Kliment

Giles Bathgate wrote:

> On 4 May 2011 22:30, Kliment Yanev <[hidden email]> wrote:
>> Will do. I made a mostly static build so my setup is a tad more complex.
>>  But I think static is the way to go really.
>
> Indeed static is the way I was going the last time I had a go at compiling it ;)
>
> I think Marius would ideally prefer shared, but I sure he will be more
> than glad that
> someone has finally cracked the windows release procedure.
>
> Regards
>
> Giles
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

kintel
Administrator
Hi Kliment,

On May 5, 2011, at 10:22 AM, Kliment Yanev wrote:

> [...] The address is the same as before. Marius, is it true you are partial to
> shared libs?
>


Thanks a lot for helping out with this! I'm super-busy this week, so I haven't had time to deal with this.

I'm not partial to shared vs. static - I was just under the impression that it's common to build dynamic + that some build systems might not handle static builds too well.

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Giles Bathgate-2
In reply to this post by Kliment Yanev
Kliment,

Before you compile openscad you need to do a

git fetch --tags

git reset --hard openscad-2011.04

Can you confirm that you have done this? the version I just installed
reports 2011.05.04 as the version number.

Once you have fixed this I will upload it to the github download area
on Marius behalf.

also

Giles Bathgate wrote:
> I think Marius would ideally prefer shared

I take that back, it was bad recollection of a IM conversation we had
the last time we tried to build on windows ;)

Regards

Giles

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Kliment Yanev
The reported version seems to depend on compile date. I just did the
reset --hard and rebuilt just to make sure. New files have been
uploaded.

I also updated the build guide at
http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows
to match what I had to do to get it to build. I tested the entire
sequence again with a fresh checkout, and it works perfectly.

On Thu, May 5, 2011 at 6:09 PM, Giles Bathgate <[hidden email]> wrote:

> Kliment,
>
> Before you compile openscad you need to do a
>
> git fetch --tags
>
> git reset --hard openscad-2011.04
>
> Can you confirm that you have done this? the version I just installed
> reports 2011.05.04 as the version number.
>
> Once you have fixed this I will upload it to the github download area
> on Marius behalf.
>
> also
>
> Giles Bathgate wrote:
>> I think Marius would ideally prefer shared
>
> I take that back, it was bad recollection of a IM conversation we had
> the last time we tried to build on windows ;)
>
> Regards
>
> Giles
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>

Reply | Threaded
Open this post in threaded view
|

Re: Windows binaries

Kliment Yanev
In reply to this post by kintel
It's not a full static build, as I mentioned before. I only linked the
things we were distributing as DLLs statically, as well as the C
runtime. The standard Windows libs are still dynamically linked, so no
need to worry about the problems of full static builds. This build
depends only on Windows, and is portable and smaller than the previous
Windows build.

On Thu, May 5, 2011 at 5:57 PM, Marius Kintel <[hidden email]> wrote:

> Hi Kliment,
>
> On May 5, 2011, at 10:22 AM, Kliment Yanev wrote:
>
>> [...] The address is the same as before. Marius, is it true you are partial to
>> shared libs?
>>
>
>
> Thanks a lot for helping out with this! I'm super-busy this week, so I haven't had time to deal with this.
>
> I'm not partial to shared vs. static - I was just under the impression that it's common to build dynamic + that some build systems might not handle static builds too well.
>
>  -Marius
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://rocklinux.net/mailman/listinfo/openscad
>

12