Thanks, that completely clears things up for me. I likely won't have VS on any of the machines I could be parked at.

--Will

On 12/6/2016 7:41 PM, Zach DeVito wrote:
Just to clear some things up. Terra requires the visual studio compiler for linking (creating of executables, and dlls) but not for compiling (create object files, or llvm output). Generally even with LLVM on windows, it is using the underlying linking tools from the VS compiler to work.

On Tue, Dec 6, 2016 at 4:34 PM, Will Rubin <[email protected] <mailto:[email protected]>> wrote:

    I was looking at Terra as a way to create sort of executable Lua
    scripts that I could create on arbitrary Windows machines and then
    distribute to other Windows machines as needed. A way to bundle
    Lua in a nice self contained manner from, for example, a flash
    drive. A way to create non tamperable scripts, so to speak.


    --Will

    On 12/6/2016 7:26 PM, [email protected]
    <mailto:[email protected]> wrote:

        If you want to use Terra,  you want to interact with C. You’d
        be calling C
        library functions, and compiled Terra libraries are compatible
        with C.

        LLVM is already part of Terra, don’t worry about LLVM. LLVM
        does not come with
        Visual Studio 2013. You just have to have that installed to
        compile your own
        executables or libraries.

        On Tuesday, December 6, 2016 7:25:54 PM EST Will Rubin wrote:

            Thought that was referring to if I wanted to interact with
            C, which I
            don't.

            LLMV is not a default part of Windows but may well come
            with Visual
            Studio 2013. Have not idea though.

            Well I guess that explains things. Bummer. Was hoping
            Terra was complete
            and stand alone.

            Thanks for the help.
            --Will

            On 12/6/2016 7:20 PM, [email protected]
            <mailto:[email protected]> wrote:

                Hmm, from the “Getting Started” page: "for Windows you
                need a copy of
                Microsoft Visual Studio 2013 installed”

                So it does use Windows headers and libs, it seems.

                On Tuesday, December 6, 2016 7:19:17 PM EST
                [email protected] <mailto:[email protected]> wrote:

                    It’s not paths, and LLVM is on Windows. Terra uses
                    LLVM. I don’t think
                    you
                    need to install LLVM separately though, did you
                    install Terra?

                    On Tuesday, December 6, 2016 7:19:34 PM EST Will
                    Rubin wrote:

                        Path is not it. Just tried a couple.

                        Still seems that calling saveobj wants to call
                        LLVM, which is not on
                        Windows. (llvm: program not executable message
                        on saveobj.)

                        --Will

                        On 12/6/2016 7:02 PM, [email protected]
                        <mailto:[email protected]> wrote:

                            You don’t 'install C’, don’t worry about
                            that. You should have
                            everything
                            you need installed with Terra itself. Are
                            you sure you got the same
                            error? I just ran exactly what you sent,
                            and it compiled perfectly.

                            I will say that you’ll want to use printf
                            to show your output, unless
                            your
                            goal is to return the number of arguments + 1.

                            On Tuesday, December 6, 2016 6:58:24 PM
                            EST Will Rubin wrote:

                                The example on the first page assumes
                                C is installed. I don't have C
                                installed. That's the question I
                                suppose ... do I need to have a C
                                compiler installed?

                                --Will

                                On 12/6/2016 6:45 PM,
                                [email protected]
                                <mailto:[email protected]> wrote:

                                    Try using a terra function that
                                    takes (argc : int, argv :
                                    &rawstring).
                                    The
                                    main method takes an int, the
                                    number of arguments, and an array of
                                    that
                                    many strings.

                                    This is comparable to the C main
                                    method.

                                    There is a great example of this
                                    on the main page of
                                    http://terralang.org/.

                                    On Tuesday, December 6, 2016
                                    6:43:40 PM EST Will Rubin wrote:

                                        Lots of them:

                                        For example when I type into
                                        the REPL

                                        terra addone(a : int)

                                               return a + 1

                                        end

                                        the function is created.

                                        typing print(addone(2)) shows
                                        the correct answer.

                                        then typing
                                        terralib.saveobj("addone",{main=addone})
                                        gives:
                                        llvm: program not executable
                                        and a stack trace to saveobj

                                        (Other error messages are on
                                        the other thread I'm on. All
                                        seem to be
                                        about not finding things I'm
                                        now thinking would be in a C
                                        library or
                                        such.)

                                        Just tried
                                        terralib.saveObj(...) in case
                                        there's a case sensitivity
                                        issue. Got error message:

                                        [string "stdin"]:1: attempt to
                                        call field 'saveObj' (a nil value)

                                        stack traceback:
                                                     [string
                                        "stdin"]:1: in main chunk

                                        --Will

                                        On 12/6/2016 6:33 PM,
                                        [email protected]
                                        <mailto:[email protected]>
                                        wrote:

                                            It would help if you could
                                            tell us the error.

                                            On Tuesday, December 6,
                                            2016 6:33:55 PM EST Will
                                            Rubin wrote:

                                                Hmmm ... just can't
                                                get an executable out
                                                of Terra. I'm on Windows
                                                and
                                                not Linux. Default
                                                Windows system.
                                                Unzipped Terra as per the
                                                documentation. Can get
                                                some of the REPL
                                                examples to work. As soon
                                                as
                                                I
                                                try
                                                
terralib.saveobj("MyExecutable",{
                                                main = myMain }) I get an
                                                error.

                                                Do I need to have a C
                                                compiler or such
                                                installed in order to
                                                create
                                                an
                                                executable?

                                                --Will
                                                
_______________________________________________
                                                terralang mailing list
                                                [email protected]
                                                
<mailto:[email protected]>
                                                
https://mailman.stanford.edu/mailman/listinfo/terralang
                                                
<https://mailman.stanford.edu/mailman/listinfo/terralang>

                                        
_______________________________________________
                                        terralang mailing list
                                        [email protected]
                                        <mailto:[email protected]>
                                        
https://mailman.stanford.edu/mailman/listinfo/terralang
                                        
<https://mailman.stanford.edu/mailman/listinfo/terralang>

                                _______________________________________________
                                terralang mailing list
                                [email protected]
                                <mailto:[email protected]>
                                
https://mailman.stanford.edu/mailman/listinfo/terralang
                                
<https://mailman.stanford.edu/mailman/listinfo/terralang>

                        _______________________________________________
                        terralang mailing list
                        [email protected]
                        <mailto:[email protected]>
                        https://mailman.stanford.edu/mailman/listinfo/terralang
                        
<https://mailman.stanford.edu/mailman/listinfo/terralang>

            _______________________________________________
            terralang mailing list
            [email protected]
            <mailto:[email protected]>
            https://mailman.stanford.edu/mailman/listinfo/terralang
            <https://mailman.stanford.edu/mailman/listinfo/terralang>



    _______________________________________________
    terralang mailing list
    [email protected] <mailto:[email protected]>
    https://mailman.stanford.edu/mailman/listinfo/terralang
    <https://mailman.stanford.edu/mailman/listinfo/terralang>



_______________________________________________
terralang mailing list
[email protected]
https://mailman.stanford.edu/mailman/listinfo/terralang

Reply via email to