Building on windows

42 views
Skip to first unread message

hackspanner

unread,
Mar 30, 2016, 7:04:32 PM3/30/16
to Extempore
I'm continuing with a new thread here specifically for Windows build.

I've managed to build the ALL_BUILD project successfully (using IN_TREE), with some extra steps described below:

I manually copied the llvm folder out of the LLVM-build folder to the root of the git project.
There were some issues with the LLVM libs having extra suffixes (.lib.lib) when building the "extempore" project, that I manually sorted out.
I had to make the EXT_SHARE_DIR an absolute path, the "." was causing errors at certain points.
DirectX SDK must be installed before you load the project into Visual studio (I used June 2010) in order for assimp to build properly.

I'm now stuck trying to build the "aot" or "aot_extended projects.

base.xtm compiles, then gets errors at the end when the JIT runs:

13>  Ahead-of-time compiling the standard library...
13>  -- AOT-compiling libs/base/base.xtm

(...)

Finished compiling: "libs/base/base.xtm"
13>
13>
13>
13>
13>
13>
13>
13>
13>   JIT-compiling IR
13>
13>  '+""' is not a recognized feature for this target (ignoring feature)
13>
13>  '+""' is not a recognized feature for this target (ignoring feature)
13>
13>CUSTOMBUILD : error : evaluating expr: (impc:aot:compile-xtm-file "libs/base/base.xtm" #t #t)
13>
13>  Attempting to return a string from a non-string obj #f
13>
13>  Trace: regex:replace-all <- impc:aot:compile-module


I've tried this with MCJIT and the old JIT with the same results.

Not sure where to proceed from here...



Ben Swift

unread,
Mar 30, 2016, 7:17:42 PM3/30/16
to extemp...@googlegroups.com
Hi there

I had to push some changes yesterday or OSX, and they may have broken
things in Windows - sorry about that (I was away from the office and
couldn't test on Windows).

Re: moving llvm into place in the toplevel Extempore dir - that should
happen automatically if you're on HEAD. The extra .lib suffixes should
be an easy fix - I'll look at it today.

Thanks for your patience.

Cheers
Ben
> --
> You received this message because you are subscribed to the Google Groups
> "Extempore" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to extemporelan...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

hackspanner

unread,
Mar 30, 2016, 10:23:15 PM3/30/16
to Extempore, b...@benswift.me

Thanks for your patience.


No problem. Thanks for creating this excellent live-coding environment!

My ultimate goal is to add some VR headset/controller support. Unfortunately, the reality of the situation is that can only happen on Windows for now.

-Dave

Ben Swift

unread,
Mar 30, 2016, 11:47:40 PM3/30/16
to hackspanner, Extempore
Cool, sounds fun :) Oculus? Or some other option?

And I should mention that Andy's the creator :)

Cheers
Ben

hackspanner

unread,
Mar 31, 2016, 12:00:02 PM3/31/16
to Extempore, hacks...@gmail.com, b...@benswift.me
Thanks for your contributions, then! I only got into Impromptu near the end of it's life. I was more of a Fluxus guy back then...

I develop for Oculus, Vive, and GearVR. I think I will concentrate on Vive, because room-scale live-coding in VR would just be so cool :).
I also have an OSVR HMD, which is the only thing being actively supported in Linux and Mac OS right now.  Hopefully, that situation will change.

hackspanner

unread,
Apr 8, 2016, 3:23:03 AM4/8/16
to Extempore, b...@benswift.me
I've successfully built the windows version from source with commit  d88e6a2b7d28f33e0e02c67a07513b9c1cd0b67d.

I basically followed the instructions in "install.rst".

One thing that helped a lot was to setup git to "checkout CRLF" and "commit LF" also known as "core.autocrlf=true".
I was getting some weirdness with the LLVM patch build that seems to have cleared up in the last week or so.

Good Times!

Ben Swift

unread,
Apr 8, 2016, 3:55:18 AM4/8/16
to hackspanner, Extempore
Gooderer times!

I've actually pushed up a flurry of improvements to the Windows build
(i.e. polishing the turd) process this arvo. Although they will break a
couple of things, I've tried to document it all in install.rst

Let me know if you get stuck.

Cheers
Ben


hackspanner <hacks...@gmail.com> writes:

>> > email to extemporelan...@googlegroups.com <javascript:>.

Ben Swift

unread,
Apr 8, 2016, 4:06:14 AM4/8/16
to hackspanner, Extempore
That is to say, as at 3a0855f.

Cheers
Ben

Andrew Sorensen

unread,
Apr 8, 2016, 5:03:07 AM4/8/16
to extemp...@googlegroups.com, hackspanner
Ben has done a great job on this, building from source on windows is *much* easier than it has been in the past.

To unsubscribe from this group and stop receiving emails from it, send an email to extemporelan...@googlegroups.com.

hackspanner

unread,
Apr 8, 2016, 5:54:01 PM4/8/16
to Extempore, hacks...@gmail.com, b...@benswift.me
Building On 3a0855f:

Everything worked except at the final extempore.exe build -- there seems to be some extra junk in the LLVM library paths:

(lines 478-480)
${BOOST_DIR}/boost_date_time-vc140.1.59.0.0/lib/native/address-model-64/lib/libboost_date_time-vc140-mt$<$<CONFIG:Debug>:-gd>-1_59.lib
should be:
${BOOST_DIR}/lib/libboost_date_time-vc140-mt$<$<CONFIG:Debug>:-gd>-1_59.lib

Or is this the layout of one of the binary distributions? The boost binaries I got have the format where the root is boost_1_59_0/
and there is a ./lib64-msvc-14.0 containing all the libs, and a ./boost which has the includes.
 
When I fix the above paths, everything works.

I notice that the ATTR values are empty when running the AOT, which causes the '+"" is not a recognized feature' warnings.
 Does that mean some optimizations are skipped in Windows?

Thanks for all your efforts!

-Dave
Reply all
Reply to author
Forward
0 new messages