You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Left Right <ol...@gmail.com> on 2014/12/28 16:57:03 UTC

Building Falcom

Hello,

I was wondering, what do I need to build Falcon, and if possible, on Linux :)

I've got as far as this:

raw.as.tokenizer:
     [echo] Generating RawASTokenizer
     [java] Executing
'/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc19.x86_64/jre/bin/java'
with arguments:
     [java] '-jar'
     [java] '/usr/share/java/jflex.jar'
     [java] '-d'
     [java] '/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as'
     [java] '-q'
     [java] '/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/RawASTokenizer.lex'
     [java] '--skel'
     [java] '/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/skeleton.falcon'
     [java]
     [java] The ' characters around the executable and arguments are
     [java] not part of the command.
     [java] Exception in thread "main" java.lang.NoClassDefFoundError:
java_cup/runtime/lr_parser
     [java] at java.lang.Class.getDeclaredMethods0(Native Method)
     [java] at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
     [java] at java.lang.Class.getMethod0(Class.java:2774)
     [java] at java.lang.Class.getMethod(Class.java:1663)
     [java] at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
     [java] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
     [java] Caused by: java.lang.ClassNotFoundException:
java_cup.runtime.lr_parser
     [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
     [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
     [java] at java.security.AccessController.doPrivileged(Native Method)
     [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
     [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
     [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
     [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
     [java] ... 6 more
     [java] Java Result: 1

I've no clue what java_cup/runtime/lr_parser is. This looks like some
sort of misconfiguration rather than missing dependence (typically in
that place one would see the name of the class which is missing).

More info:

$ yum info jflex
Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
Installed Packages
Name        : jflex
Arch        : noarch
Version     : 1.4.3
Release     : 13.fc19
Size        : 1.2 M
Repo        : installed
>From repo   : fedora
Summary     : Fast Scanner Generator
URL         : http://jflex.de/
License     : GPL+
Description : JFlex is a lexical analyzer generator (also known as scanner
            : generator) for Java(tm), written in Java(tm). It is also a
            : rewrite of the very useful tool JLex which was developed by
            : Elliot Berk at Princeton University. As Vern Paxson states
            : for his C/C++ tool flex: They do not share any code though.
            : JFlex is designed to work together with the LALR parser
            : generator CUP by Scott Hudson, and the Java modification of
            : Berkeley Yacc BYacc/J by Bob Jamison. It can also be used
            : together with other parser generators like ANTLR or as a
            : standalone tool.

$ javac -version
javac 1.7.0_51

Anything else I need to tell you, just let me know.  If this is
important, I'm only interested in AS3 compiler, not the documentation
nor the MXML part, no JavaScript etc.

Thanks!

Oleg

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
I had what git clone brought me.. but now I replaced it with whatever
yum had installed and it finds Guava, so that's ok.

Next problem, however:

    [javac] /home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/mxml/RawMXMLTokenizer.java:339:
error: cannot find symbol
    [javac] private ITagAggregateDetector detector = null;
    [javac]         ^
    [javac]   symbol:   class ITagAggregateDetector
    [javac]   location: class RawMXMLTokenizer

I believe this is something that should've been generated by jflex, or
is it?  But the relevant target seems to succeed.  I'm not sure what
should I be looking for here.

Thanks,

Oleg

Re: Building Falcom

Posted by Alex Harui <ah...@adobe.com>.
Could you have an old guava?  I think we’re using Guava17.  My copy has
that class.

-Alex

On 12/29/14, 12:41 AM, "Left Right" <ol...@gmail.com> wrote:

>Actually, I've checked, CacheBuilder isn't in that guava.jar.
>
>On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com>
>wrote:
>> Hi Alex,
>>
>> I've tried to build from develop branch, and I think I could get
>> further than before, however, there're problems with dependencies:
>>
>>     [javac] Compiling 1777 source files to
>> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>>     [javac] warning: [options] bootstrap class path not set in
>> conjunction with -source 1.6
>>     [javac] 
>>/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/in
>>ternal/projects/CompilerProject.java:67:
>> error: package com.google.common.cache does not exist
>>     [javac] import com.google.common.cache.CacheBuilder;
>>
>> (and there are a bunch more of these)
>>
>> I've added this to the target generating this error:
>>
>> <pathconvert property="cp.string" refid="classpath"/>
>> <echo>classpath: ${cp.string}</echo>
>>
>> And the classpath printed is
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>>
>> formatted for readability
>>
>> So, Guava is there (or do I need some more Guava jars?)
>>
>> Thanks,
>>
>> Oleg


Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
PS. There just aren't debug players on Linux any more, launching a
browser won't help :) Wine is the last option (though it seems
reasonably solid, except the problem with multiple instances of the
flash player all drawing regardless of the browser tab, weird
fullscreen mode and intermittent but rare problems with sound).

On Mon, Dec 29, 2014 at 6:12 PM, Left Right <ol...@gmail.com> wrote:
> Apparently it copied it to a wrong place... where should it be? After
> the build I have it in $FALCON_HOME/../lib/ but that doesn't seem to
> be the proper place for it, or is it?
> Actually, the build doesn't finish properly because of the tests, is
> there any simple way to skip the tests? Maybe it would have copied it,
> if the tests succeeded?
>
> Re' names - well, maybe on Macs Ant will translate all names to
> lowercase or something like that. I'm sure that it says in the build
> script JFlex.jar, but loads jflex.jar.
>
> Thanks!
>
> On Mon, Dec 29, 2014 at 5:46 PM, Alex Harui <ah...@adobe.com> wrote:
>> The download script should have downloaded flex-tool-api.jar.  The ant
>> script does run on OSX and not just Windows.  Is there some difference in
>> how Ant works on Linux that changes when tasks are resolved?
>>
>> I don’t know off-hand what the SWF tests might find that the unit tests
>> don’t.  It might also be possible to launch a browser on Linux instead of
>> standalone player.
>>
>> -Alex
>>
>> On 12/29/14, 2:12 AM, "Left Right" <ol...@gmail.com> wrote:
>>
>>>Another question: what do I miss if some junit tests fail
>>>(specifically those related to running SWF in debugger - there simply
>>>isn't a Flash debug player that runs on Linux, unless it's in Wine, so
>>>I don't really know how to set up those tests).
>>>
>>>Thanks
>>>
>>>On Mon, Dec 29, 2014 at 11:22 AM, Left Right <ol...@gmail.com>
>>>wrote:
>>>> And trying to run falcon gives me:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/commandline/mxmlc --help
>>>> Using Flex SDK: /home/wvxvw/.wine/drive_c/flex/sdk/4.6.0
>>>> Exception in thread "main" java.lang.NoClassDefFoundError:
>>>> org/apache/flex/tools/FlexTool
>>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>>>> at
>>>>java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>>>> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>> at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
>>>> Caused by: java.lang.ClassNotFoundException:
>>>>org.apache.flex.tools.FlexTool
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>> ... 13 more
>>>>
>>>> What is this?
>>>>
>>>> Thanks
>>>>
>>>> On Mon, Dec 29, 2014 at 11:00 AM, Left Right <ol...@gmail.com>
>>>>wrote:
>>>>> OK, I figured out that par of the problem.
>>>>>
>>>>> Ant defines <jflex> macro to have JFlex.jar, but downloads jflex.jar,
>>>>> that would probably work on Windows, but not on Linux.  With that
>>>>> fixed (why not fail when generating parser files fails?) I get to
>>>>> this:
>>>>>
>>>>>     [javac]
>>>>>/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/
>>>>>compiler/internal/parsing/as/MetadataTokenTypes.java:48:
>>>>> error: duplicate annotation
>>>>>     [javac] @SuppressWarnings("unused")
>>>>>     [javac] ^
>>>>>     [javac]
>>>>>/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/
>>>>>compiler/internal/parsing/as/MetadataParser.java:62:
>>>>> error: duplicate annotation
>>>>>     [javac] @SuppressWarnings("all")
>>>>>
>>>>> It seems like if I'll deal with these two, I'm done, or at least, this
>>>>> target would have succeeded.  Why would there be two annotations?
>>>>>
>>>>> Best,
>>>>>
>>>>> Oleg
>>>>>
>>>>> On Mon, Dec 29, 2014 at 10:54 AM, Erik de Bruin <er...@ixsoftware.nl>
>>>>>wrote:
>>>>>> The protocol I follow is this:
>>>>>>
>>>>>> I get 'flex-falcon' AND 'flex-sdk' from Git. Then, in 'flex-falcon',
>>>>>> in the root of that directory - NOT in e.g. the 'compiler'
>>>>>> subdirectory - I run 'ant main'. This takes care of all the dependency
>>>>>> downloads as well as the copying of the relevant parts of the SDK,
>>>>>> etc.
>>>>>>
>>>>>> EdB
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Dec 29, 2014 at 9:41 AM, Left Right <ol...@gmail.com>
>>>>>>wrote:
>>>>>>> Actually, I've checked, CacheBuilder isn't in that guava.jar.
>>>>>>>
>>>>>>> On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com>
>>>>>>>wrote:
>>>>>>>> Hi Alex,
>>>>>>>>
>>>>>>>> I've tried to build from develop branch, and I think I could get
>>>>>>>> further than before, however, there're problems with dependencies:
>>>>>>>>
>>>>>>>>     [javac] Compiling 1777 source files to
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>>>>>>>>     [javac] warning: [options] bootstrap class path not set in
>>>>>>>> conjunction with -source 1.6
>>>>>>>>     [javac]
>>>>>>>>/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compile
>>>>>>>>r/internal/projects/CompilerProject.java:67:
>>>>>>>> error: package com.google.common.cache does not exist
>>>>>>>>     [javac] import com.google.common.cache.CacheBuilder;
>>>>>>>>
>>>>>>>> (and there are a bunch more of these)
>>>>>>>>
>>>>>>>> I've added this to the target generating this error:
>>>>>>>>
>>>>>>>> <pathconvert property="cp.string" refid="classpath"/>
>>>>>>>> <echo>classpath: ${cp.string}</echo>
>>>>>>>>
>>>>>>>> And the classpath printed is
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>>>>>>>>
>>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>>>>>>>>
>>>>>>>> formatted for readability
>>>>>>>>
>>>>>>>> So, Guava is there (or do I need some more Guava jars?)
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Oleg
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ix Multimedia Software
>>>>>>
>>>>>> Jan Luykenstraat 27
>>>>>> 3521 VB Utrecht
>>>>>>
>>>>>> T. 06-51952295
>>>>>> I. www.ixsoftware.nl
>>

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
I never packaged Java libraries for Linux, but I'm marginally familiar
with packaging Common Lisp. Of course it's not the same, but some
principles will most likely apply there too. So, the idea is that
packages are made to depend on some other package, which handles their
installation and provides all other relevant info about what's already
installed and where. Linux distros usually publish their policies for
packaging different languages. Seeing how Java is a popular language,
there must be a lot of material explaining how to do that. So, I'd
need to find out who's that "resident" program is, and call it to
figure out what there is.
Here's one such description:
http://fedoraproject.org/wiki/Packaging:Java (it doesn't mention any
resident programs, but it has a predefined %{_javadir}. I'll need to
look into some actual packages to figure out how they do it.

Another way to go about it, although it would require more work would
be to ask RPM / DEB / Emerge and whatever other package managers are
there for what's installed. Yet another way would be to simply call
`locate some.jar`, but that might find jars not meant to be used in
the project. On my machine these jars live in /usr/share/java/ so it
might be a good fallback for distros, where one is unable to identify
the package manager used...

The simplest way to go about it: the one I used, I guess. I symlinked
the jars from /usr/share/java to the lib directory of the project.
This allowed me to keep all paths intact.

How much work it would be to add this to the current build script -
I'm not yet ready to tell, but I'll look into this in the next few
days.

...

On Tue, Dec 30, 2014 at 6:10 PM, Alex Harui <ah...@adobe.com> wrote:
>
>
> On 12/30/14, 1:06 AM, "Left Right" <ol...@gmail.com> wrote:
>
>>Re' patches: many of the jars loaded by the build script may already
>>exist on the user's system. At least Guava, JFlex, ANTLR, Java CUP,
>>JBurg and LZMA are all installable on Linux in a more conventional way
>>(i.e. through the package manager). Wouldn't it be better to first
>>test for installed jars and only then load them? (I would have
>>preferred that this was the default which can be overridden).
>>I also think that this is possible to achieve on Cygwin (i.e. have
>>Cygwin provide the global locations of the above jars). I don't know
>>what is the policy wrt common jar location on Mac or Windows.
>
> Interesting idea.  I don’t know enough about Java and Linux to know how
> our jars would find those jars and make sure they are the right version.
> Also any tweaking of configs and class paths needs to be done via Ant.  Is
> that easy to do?
>
> -Alex
>

Re: Building Falcom

Posted by Alex Harui <ah...@adobe.com>.

On 12/30/14, 1:06 AM, "Left Right" <ol...@gmail.com> wrote:

>Re' patches: many of the jars loaded by the build script may already
>exist on the user's system. At least Guava, JFlex, ANTLR, Java CUP,
>JBurg and LZMA are all installable on Linux in a more conventional way
>(i.e. through the package manager). Wouldn't it be better to first
>test for installed jars and only then load them? (I would have
>preferred that this was the default which can be overridden).
>I also think that this is possible to achieve on Cygwin (i.e. have
>Cygwin provide the global locations of the above jars). I don't know
>what is the policy wrt common jar location on Mac or Windows.

Interesting idea.  I don’t know enough about Java and Linux to know how
our jars would find those jars and make sure they are the right version.
Also any tweaking of configs and class paths needs to be done via Ant.  Is
that easy to do?

-Alex


Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
Re' patches: many of the jars loaded by the build script may already
exist on the user's system. At least Guava, JFlex, ANTLR, Java CUP,
JBurg and LZMA are all installable on Linux in a more conventional way
(i.e. through the package manager). Wouldn't it be better to first
test for installed jars and only then load them? (I would have
preferred that this was the default which can be overridden).
I also think that this is possible to achieve on Cygwin (i.e. have
Cygwin provide the global locations of the above jars). I don't know
what is the policy wrt common jar location on Mac or Windows.

Best,

Oleg

On Mon, Dec 29, 2014 at 11:37 PM, Alex Harui <ah...@adobe.com> wrote:
> Good to know you got it working.  Patches to fix case-sensitivity issues
> are welcome.
>
> -Alex
>
> On 12/29/14, 8:43 AM, "Left Right" <ol...@gmail.com> wrote:
>
>>Case sensitivity also causes some tests to fail:
>>
>>    [junit] /home/wvxvw/projects/flex-tlf/compile-config.xml:37
>>    [junit] Error: unable to open
>>'/home/wvxvw/projects/flex-tlf/textlayout/manifest.xml'.
>>    [junit] /home/wvxvw/projects/flex-tlf/compile-config.xml (line: 37)
>>    [junit]             </namespace>
>>
>>This is because the directory is actually called textLayout (note capital
>>L).
>>
>>And, I think I got it to work, I also needed to symlink the guava.jar
>>which I copied before into the flex-falcon/compiler/lib directory to
>>this flex-falcon/compiler/generated/dist/sdk/lib/external/guava.jar
>>
>>Thanks!
>>
>>On Mon, Dec 29, 2014 at 6:26 PM, Alex Harui <ah...@adobe.com> wrote:
>>>
>>>
>>> On 12/29/14, 8:12 AM, "Left Right" <ol...@gmail.com> wrote:
>>>
>>>>Apparently it copied it to a wrong place... where should it be? After
>>>>the build I have it in $FALCON_HOME/../lib/ but that doesn't seem to
>>>>be the proper place for it, or is it?
>>>>Actually, the build doesn't finish properly because of the tests, is
>>>>there any simple way to skip the tests? Maybe it would have copied it,
>>>>if the tests succeeded?
>>>
>>> The build.xml in the compiler folder should download flex-tool-api.jar
>>>to
>>> its lib folder.  Then some build step copies it into a modified Flex SDK
>>> in the generated/dist/sdk/lib/external folder.
>>>
>>>>
>>>>Re' names - well, maybe on Macs Ant will translate all names to
>>>>lowercase or something like that. I'm sure that it says in the build
>>>>script JFlex.jar, but loads jflex.jar.
>>>
>>> Ah, ok. I didn’t notice it was a case-sensitivity issue.
>>>
>>> -Alex
>>>
>

Re: Building Falcom

Posted by Alex Harui <ah...@adobe.com>.
Good to know you got it working.  Patches to fix case-sensitivity issues
are welcome.

-Alex

On 12/29/14, 8:43 AM, "Left Right" <ol...@gmail.com> wrote:

>Case sensitivity also causes some tests to fail:
>
>    [junit] /home/wvxvw/projects/flex-tlf/compile-config.xml:37
>    [junit] Error: unable to open
>'/home/wvxvw/projects/flex-tlf/textlayout/manifest.xml'.
>    [junit] /home/wvxvw/projects/flex-tlf/compile-config.xml (line: 37)
>    [junit]             </namespace>
>
>This is because the directory is actually called textLayout (note capital
>L).
>
>And, I think I got it to work, I also needed to symlink the guava.jar
>which I copied before into the flex-falcon/compiler/lib directory to
>this flex-falcon/compiler/generated/dist/sdk/lib/external/guava.jar
>
>Thanks!
>
>On Mon, Dec 29, 2014 at 6:26 PM, Alex Harui <ah...@adobe.com> wrote:
>>
>>
>> On 12/29/14, 8:12 AM, "Left Right" <ol...@gmail.com> wrote:
>>
>>>Apparently it copied it to a wrong place... where should it be? After
>>>the build I have it in $FALCON_HOME/../lib/ but that doesn't seem to
>>>be the proper place for it, or is it?
>>>Actually, the build doesn't finish properly because of the tests, is
>>>there any simple way to skip the tests? Maybe it would have copied it,
>>>if the tests succeeded?
>>
>> The build.xml in the compiler folder should download flex-tool-api.jar
>>to
>> its lib folder.  Then some build step copies it into a modified Flex SDK
>> in the generated/dist/sdk/lib/external folder.
>>
>>>
>>>Re' names - well, maybe on Macs Ant will translate all names to
>>>lowercase or something like that. I'm sure that it says in the build
>>>script JFlex.jar, but loads jflex.jar.
>>
>> Ah, ok. I didn’t notice it was a case-sensitivity issue.
>>
>> -Alex
>>


Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
Case sensitivity also causes some tests to fail:

    [junit] /home/wvxvw/projects/flex-tlf/compile-config.xml:37
    [junit] Error: unable to open
'/home/wvxvw/projects/flex-tlf/textlayout/manifest.xml'.
    [junit] /home/wvxvw/projects/flex-tlf/compile-config.xml (line: 37)
    [junit]             </namespace>

This is because the directory is actually called textLayout (note capital L).

And, I think I got it to work, I also needed to symlink the guava.jar
which I copied before into the flex-falcon/compiler/lib directory to
this flex-falcon/compiler/generated/dist/sdk/lib/external/guava.jar

Thanks!

On Mon, Dec 29, 2014 at 6:26 PM, Alex Harui <ah...@adobe.com> wrote:
>
>
> On 12/29/14, 8:12 AM, "Left Right" <ol...@gmail.com> wrote:
>
>>Apparently it copied it to a wrong place... where should it be? After
>>the build I have it in $FALCON_HOME/../lib/ but that doesn't seem to
>>be the proper place for it, or is it?
>>Actually, the build doesn't finish properly because of the tests, is
>>there any simple way to skip the tests? Maybe it would have copied it,
>>if the tests succeeded?
>
> The build.xml in the compiler folder should download flex-tool-api.jar to
> its lib folder.  Then some build step copies it into a modified Flex SDK
> in the generated/dist/sdk/lib/external folder.
>
>>
>>Re' names - well, maybe on Macs Ant will translate all names to
>>lowercase or something like that. I'm sure that it says in the build
>>script JFlex.jar, but loads jflex.jar.
>
> Ah, ok. I didn’t notice it was a case-sensitivity issue.
>
> -Alex
>

Re: Building Falcom

Posted by Alex Harui <ah...@adobe.com>.

On 12/29/14, 8:12 AM, "Left Right" <ol...@gmail.com> wrote:

>Apparently it copied it to a wrong place... where should it be? After
>the build I have it in $FALCON_HOME/../lib/ but that doesn't seem to
>be the proper place for it, or is it?
>Actually, the build doesn't finish properly because of the tests, is
>there any simple way to skip the tests? Maybe it would have copied it,
>if the tests succeeded?

The build.xml in the compiler folder should download flex-tool-api.jar to
its lib folder.  Then some build step copies it into a modified Flex SDK
in the generated/dist/sdk/lib/external folder.

>
>Re' names - well, maybe on Macs Ant will translate all names to
>lowercase or something like that. I'm sure that it says in the build
>script JFlex.jar, but loads jflex.jar.

Ah, ok. I didn’t notice it was a case-sensitivity issue.

-Alex


Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
Apparently it copied it to a wrong place... where should it be? After
the build I have it in $FALCON_HOME/../lib/ but that doesn't seem to
be the proper place for it, or is it?
Actually, the build doesn't finish properly because of the tests, is
there any simple way to skip the tests? Maybe it would have copied it,
if the tests succeeded?

Re' names - well, maybe on Macs Ant will translate all names to
lowercase or something like that. I'm sure that it says in the build
script JFlex.jar, but loads jflex.jar.

Thanks!

On Mon, Dec 29, 2014 at 5:46 PM, Alex Harui <ah...@adobe.com> wrote:
> The download script should have downloaded flex-tool-api.jar.  The ant
> script does run on OSX and not just Windows.  Is there some difference in
> how Ant works on Linux that changes when tasks are resolved?
>
> I don’t know off-hand what the SWF tests might find that the unit tests
> don’t.  It might also be possible to launch a browser on Linux instead of
> standalone player.
>
> -Alex
>
> On 12/29/14, 2:12 AM, "Left Right" <ol...@gmail.com> wrote:
>
>>Another question: what do I miss if some junit tests fail
>>(specifically those related to running SWF in debugger - there simply
>>isn't a Flash debug player that runs on Linux, unless it's in Wine, so
>>I don't really know how to set up those tests).
>>
>>Thanks
>>
>>On Mon, Dec 29, 2014 at 11:22 AM, Left Right <ol...@gmail.com>
>>wrote:
>>> And trying to run falcon gives me:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/commandline/mxmlc --help
>>> Using Flex SDK: /home/wvxvw/.wine/drive_c/flex/sdk/4.6.0
>>> Exception in thread "main" java.lang.NoClassDefFoundError:
>>> org/apache/flex/tools/FlexTool
>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>>> at
>>>java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>>> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>> at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
>>> Caused by: java.lang.ClassNotFoundException:
>>>org.apache.flex.tools.FlexTool
>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>> ... 13 more
>>>
>>> What is this?
>>>
>>> Thanks
>>>
>>> On Mon, Dec 29, 2014 at 11:00 AM, Left Right <ol...@gmail.com>
>>>wrote:
>>>> OK, I figured out that par of the problem.
>>>>
>>>> Ant defines <jflex> macro to have JFlex.jar, but downloads jflex.jar,
>>>> that would probably work on Windows, but not on Linux.  With that
>>>> fixed (why not fail when generating parser files fails?) I get to
>>>> this:
>>>>
>>>>     [javac]
>>>>/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/
>>>>compiler/internal/parsing/as/MetadataTokenTypes.java:48:
>>>> error: duplicate annotation
>>>>     [javac] @SuppressWarnings("unused")
>>>>     [javac] ^
>>>>     [javac]
>>>>/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/
>>>>compiler/internal/parsing/as/MetadataParser.java:62:
>>>> error: duplicate annotation
>>>>     [javac] @SuppressWarnings("all")
>>>>
>>>> It seems like if I'll deal with these two, I'm done, or at least, this
>>>> target would have succeeded.  Why would there be two annotations?
>>>>
>>>> Best,
>>>>
>>>> Oleg
>>>>
>>>> On Mon, Dec 29, 2014 at 10:54 AM, Erik de Bruin <er...@ixsoftware.nl>
>>>>wrote:
>>>>> The protocol I follow is this:
>>>>>
>>>>> I get 'flex-falcon' AND 'flex-sdk' from Git. Then, in 'flex-falcon',
>>>>> in the root of that directory - NOT in e.g. the 'compiler'
>>>>> subdirectory - I run 'ant main'. This takes care of all the dependency
>>>>> downloads as well as the copying of the relevant parts of the SDK,
>>>>> etc.
>>>>>
>>>>> EdB
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Dec 29, 2014 at 9:41 AM, Left Right <ol...@gmail.com>
>>>>>wrote:
>>>>>> Actually, I've checked, CacheBuilder isn't in that guava.jar.
>>>>>>
>>>>>> On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com>
>>>>>>wrote:
>>>>>>> Hi Alex,
>>>>>>>
>>>>>>> I've tried to build from develop branch, and I think I could get
>>>>>>> further than before, however, there're problems with dependencies:
>>>>>>>
>>>>>>>     [javac] Compiling 1777 source files to
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>>>>>>>     [javac] warning: [options] bootstrap class path not set in
>>>>>>> conjunction with -source 1.6
>>>>>>>     [javac]
>>>>>>>/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compile
>>>>>>>r/internal/projects/CompilerProject.java:67:
>>>>>>> error: package com.google.common.cache does not exist
>>>>>>>     [javac] import com.google.common.cache.CacheBuilder;
>>>>>>>
>>>>>>> (and there are a bunch more of these)
>>>>>>>
>>>>>>> I've added this to the target generating this error:
>>>>>>>
>>>>>>> <pathconvert property="cp.string" refid="classpath"/>
>>>>>>> <echo>classpath: ${cp.string}</echo>
>>>>>>>
>>>>>>> And the classpath printed is
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>>>>>>>
>>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>>>>>>>
>>>>>>> formatted for readability
>>>>>>>
>>>>>>> So, Guava is there (or do I need some more Guava jars?)
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Oleg
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Ix Multimedia Software
>>>>>
>>>>> Jan Luykenstraat 27
>>>>> 3521 VB Utrecht
>>>>>
>>>>> T. 06-51952295
>>>>> I. www.ixsoftware.nl
>

Re: Building Falcom

Posted by Alex Harui <ah...@adobe.com>.
The download script should have downloaded flex-tool-api.jar.  The ant
script does run on OSX and not just Windows.  Is there some difference in
how Ant works on Linux that changes when tasks are resolved?

I don’t know off-hand what the SWF tests might find that the unit tests
don’t.  It might also be possible to launch a browser on Linux instead of
standalone player.

-Alex

On 12/29/14, 2:12 AM, "Left Right" <ol...@gmail.com> wrote:

>Another question: what do I miss if some junit tests fail
>(specifically those related to running SWF in debugger - there simply
>isn't a Flash debug player that runs on Linux, unless it's in Wine, so
>I don't really know how to set up those tests).
>
>Thanks
>
>On Mon, Dec 29, 2014 at 11:22 AM, Left Right <ol...@gmail.com>
>wrote:
>> And trying to run falcon gives me:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/commandline/mxmlc --help
>> Using Flex SDK: /home/wvxvw/.wine/drive_c/flex/sdk/4.6.0
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> org/apache/flex/tools/FlexTool
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>> at 
>>java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>> at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
>> Caused by: java.lang.ClassNotFoundException:
>>org.apache.flex.tools.FlexTool
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>> ... 13 more
>>
>> What is this?
>>
>> Thanks
>>
>> On Mon, Dec 29, 2014 at 11:00 AM, Left Right <ol...@gmail.com>
>>wrote:
>>> OK, I figured out that par of the problem.
>>>
>>> Ant defines <jflex> macro to have JFlex.jar, but downloads jflex.jar,
>>> that would probably work on Windows, but not on Linux.  With that
>>> fixed (why not fail when generating parser files fails?) I get to
>>> this:
>>>
>>>     [javac] 
>>>/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/
>>>compiler/internal/parsing/as/MetadataTokenTypes.java:48:
>>> error: duplicate annotation
>>>     [javac] @SuppressWarnings("unused")
>>>     [javac] ^
>>>     [javac] 
>>>/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/
>>>compiler/internal/parsing/as/MetadataParser.java:62:
>>> error: duplicate annotation
>>>     [javac] @SuppressWarnings("all")
>>>
>>> It seems like if I'll deal with these two, I'm done, or at least, this
>>> target would have succeeded.  Why would there be two annotations?
>>>
>>> Best,
>>>
>>> Oleg
>>>
>>> On Mon, Dec 29, 2014 at 10:54 AM, Erik de Bruin <er...@ixsoftware.nl>
>>>wrote:
>>>> The protocol I follow is this:
>>>>
>>>> I get 'flex-falcon' AND 'flex-sdk' from Git. Then, in 'flex-falcon',
>>>> in the root of that directory - NOT in e.g. the 'compiler'
>>>> subdirectory - I run 'ant main'. This takes care of all the dependency
>>>> downloads as well as the copying of the relevant parts of the SDK,
>>>> etc.
>>>>
>>>> EdB
>>>>
>>>>
>>>>
>>>> On Mon, Dec 29, 2014 at 9:41 AM, Left Right <ol...@gmail.com>
>>>>wrote:
>>>>> Actually, I've checked, CacheBuilder isn't in that guava.jar.
>>>>>
>>>>> On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com>
>>>>>wrote:
>>>>>> Hi Alex,
>>>>>>
>>>>>> I've tried to build from develop branch, and I think I could get
>>>>>> further than before, however, there're problems with dependencies:
>>>>>>
>>>>>>     [javac] Compiling 1777 source files to
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>>>>>>     [javac] warning: [options] bootstrap class path not set in
>>>>>> conjunction with -source 1.6
>>>>>>     [javac] 
>>>>>>/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compile
>>>>>>r/internal/projects/CompilerProject.java:67:
>>>>>> error: package com.google.common.cache does not exist
>>>>>>     [javac] import com.google.common.cache.CacheBuilder;
>>>>>>
>>>>>> (and there are a bunch more of these)
>>>>>>
>>>>>> I've added this to the target generating this error:
>>>>>>
>>>>>> <pathconvert property="cp.string" refid="classpath"/>
>>>>>> <echo>classpath: ${cp.string}</echo>
>>>>>>
>>>>>> And the classpath printed is
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>>>>>>
>>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>>>>>>
>>>>>> formatted for readability
>>>>>>
>>>>>> So, Guava is there (or do I need some more Guava jars?)
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Oleg
>>>>
>>>>
>>>>
>>>> --
>>>> Ix Multimedia Software
>>>>
>>>> Jan Luykenstraat 27
>>>> 3521 VB Utrecht
>>>>
>>>> T. 06-51952295
>>>> I. www.ixsoftware.nl


Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
Another question: what do I miss if some junit tests fail
(specifically those related to running SWF in debugger - there simply
isn't a Flash debug player that runs on Linux, unless it's in Wine, so
I don't really know how to set up those tests).

Thanks

On Mon, Dec 29, 2014 at 11:22 AM, Left Right <ol...@gmail.com> wrote:
> And trying to run falcon gives me:
>
> /home/wvxvw/projects/flex-falcon/compiler/commandline/mxmlc --help
> Using Flex SDK: /home/wvxvw/.wine/drive_c/flex/sdk/4.6.0
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/apache/flex/tools/FlexTool
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
> Caused by: java.lang.ClassNotFoundException: org.apache.flex.tools.FlexTool
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> ... 13 more
>
> What is this?
>
> Thanks
>
> On Mon, Dec 29, 2014 at 11:00 AM, Left Right <ol...@gmail.com> wrote:
>> OK, I figured out that par of the problem.
>>
>> Ant defines <jflex> macro to have JFlex.jar, but downloads jflex.jar,
>> that would probably work on Windows, but not on Linux.  With that
>> fixed (why not fail when generating parser files fails?) I get to
>> this:
>>
>>     [javac] /home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataTokenTypes.java:48:
>> error: duplicate annotation
>>     [javac] @SuppressWarnings("unused")
>>     [javac] ^
>>     [javac] /home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataParser.java:62:
>> error: duplicate annotation
>>     [javac] @SuppressWarnings("all")
>>
>> It seems like if I'll deal with these two, I'm done, or at least, this
>> target would have succeeded.  Why would there be two annotations?
>>
>> Best,
>>
>> Oleg
>>
>> On Mon, Dec 29, 2014 at 10:54 AM, Erik de Bruin <er...@ixsoftware.nl> wrote:
>>> The protocol I follow is this:
>>>
>>> I get 'flex-falcon' AND 'flex-sdk' from Git. Then, in 'flex-falcon',
>>> in the root of that directory - NOT in e.g. the 'compiler'
>>> subdirectory - I run 'ant main'. This takes care of all the dependency
>>> downloads as well as the copying of the relevant parts of the SDK,
>>> etc.
>>>
>>> EdB
>>>
>>>
>>>
>>> On Mon, Dec 29, 2014 at 9:41 AM, Left Right <ol...@gmail.com> wrote:
>>>> Actually, I've checked, CacheBuilder isn't in that guava.jar.
>>>>
>>>> On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com> wrote:
>>>>> Hi Alex,
>>>>>
>>>>> I've tried to build from develop branch, and I think I could get
>>>>> further than before, however, there're problems with dependencies:
>>>>>
>>>>>     [javac] Compiling 1777 source files to
>>>>> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>>>>>     [javac] warning: [options] bootstrap class path not set in
>>>>> conjunction with -source 1.6
>>>>>     [javac] /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/projects/CompilerProject.java:67:
>>>>> error: package com.google.common.cache does not exist
>>>>>     [javac] import com.google.common.cache.CacheBuilder;
>>>>>
>>>>> (and there are a bunch more of these)
>>>>>
>>>>> I've added this to the target generating this error:
>>>>>
>>>>> <pathconvert property="cp.string" refid="classpath"/>
>>>>> <echo>classpath: ${cp.string}</echo>
>>>>>
>>>>> And the classpath printed is
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>>>>>
>>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>>>>>
>>>>> formatted for readability
>>>>>
>>>>> So, Guava is there (or do I need some more Guava jars?)
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Oleg
>>>
>>>
>>>
>>> --
>>> Ix Multimedia Software
>>>
>>> Jan Luykenstraat 27
>>> 3521 VB Utrecht
>>>
>>> T. 06-51952295
>>> I. www.ixsoftware.nl

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
And trying to run falcon gives me:

/home/wvxvw/projects/flex-falcon/compiler/commandline/mxmlc --help
Using Flex SDK: /home/wvxvw/.wine/drive_c/flex/sdk/4.6.0
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/flex/tools/FlexTool
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Caused by: java.lang.ClassNotFoundException: org.apache.flex.tools.FlexTool
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 13 more

What is this?

Thanks

On Mon, Dec 29, 2014 at 11:00 AM, Left Right <ol...@gmail.com> wrote:
> OK, I figured out that par of the problem.
>
> Ant defines <jflex> macro to have JFlex.jar, but downloads jflex.jar,
> that would probably work on Windows, but not on Linux.  With that
> fixed (why not fail when generating parser files fails?) I get to
> this:
>
>     [javac] /home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataTokenTypes.java:48:
> error: duplicate annotation
>     [javac] @SuppressWarnings("unused")
>     [javac] ^
>     [javac] /home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataParser.java:62:
> error: duplicate annotation
>     [javac] @SuppressWarnings("all")
>
> It seems like if I'll deal with these two, I'm done, or at least, this
> target would have succeeded.  Why would there be two annotations?
>
> Best,
>
> Oleg
>
> On Mon, Dec 29, 2014 at 10:54 AM, Erik de Bruin <er...@ixsoftware.nl> wrote:
>> The protocol I follow is this:
>>
>> I get 'flex-falcon' AND 'flex-sdk' from Git. Then, in 'flex-falcon',
>> in the root of that directory - NOT in e.g. the 'compiler'
>> subdirectory - I run 'ant main'. This takes care of all the dependency
>> downloads as well as the copying of the relevant parts of the SDK,
>> etc.
>>
>> EdB
>>
>>
>>
>> On Mon, Dec 29, 2014 at 9:41 AM, Left Right <ol...@gmail.com> wrote:
>>> Actually, I've checked, CacheBuilder isn't in that guava.jar.
>>>
>>> On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com> wrote:
>>>> Hi Alex,
>>>>
>>>> I've tried to build from develop branch, and I think I could get
>>>> further than before, however, there're problems with dependencies:
>>>>
>>>>     [javac] Compiling 1777 source files to
>>>> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>>>>     [javac] warning: [options] bootstrap class path not set in
>>>> conjunction with -source 1.6
>>>>     [javac] /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/projects/CompilerProject.java:67:
>>>> error: package com.google.common.cache does not exist
>>>>     [javac] import com.google.common.cache.CacheBuilder;
>>>>
>>>> (and there are a bunch more of these)
>>>>
>>>> I've added this to the target generating this error:
>>>>
>>>> <pathconvert property="cp.string" refid="classpath"/>
>>>> <echo>classpath: ${cp.string}</echo>
>>>>
>>>> And the classpath printed is
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>>>>
>>>> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>>>>
>>>> formatted for readability
>>>>
>>>> So, Guava is there (or do I need some more Guava jars?)
>>>>
>>>> Thanks,
>>>>
>>>> Oleg
>>
>>
>>
>> --
>> Ix Multimedia Software
>>
>> Jan Luykenstraat 27
>> 3521 VB Utrecht
>>
>> T. 06-51952295
>> I. www.ixsoftware.nl

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
OK, I figured out that par of the problem.

Ant defines <jflex> macro to have JFlex.jar, but downloads jflex.jar,
that would probably work on Windows, but not on Linux.  With that
fixed (why not fail when generating parser files fails?) I get to
this:

    [javac] /home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataTokenTypes.java:48:
error: duplicate annotation
    [javac] @SuppressWarnings("unused")
    [javac] ^
    [javac] /home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataParser.java:62:
error: duplicate annotation
    [javac] @SuppressWarnings("all")

It seems like if I'll deal with these two, I'm done, or at least, this
target would have succeeded.  Why would there be two annotations?

Best,

Oleg

On Mon, Dec 29, 2014 at 10:54 AM, Erik de Bruin <er...@ixsoftware.nl> wrote:
> The protocol I follow is this:
>
> I get 'flex-falcon' AND 'flex-sdk' from Git. Then, in 'flex-falcon',
> in the root of that directory - NOT in e.g. the 'compiler'
> subdirectory - I run 'ant main'. This takes care of all the dependency
> downloads as well as the copying of the relevant parts of the SDK,
> etc.
>
> EdB
>
>
>
> On Mon, Dec 29, 2014 at 9:41 AM, Left Right <ol...@gmail.com> wrote:
>> Actually, I've checked, CacheBuilder isn't in that guava.jar.
>>
>> On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com> wrote:
>>> Hi Alex,
>>>
>>> I've tried to build from develop branch, and I think I could get
>>> further than before, however, there're problems with dependencies:
>>>
>>>     [javac] Compiling 1777 source files to
>>> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>>>     [javac] warning: [options] bootstrap class path not set in
>>> conjunction with -source 1.6
>>>     [javac] /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/projects/CompilerProject.java:67:
>>> error: package com.google.common.cache does not exist
>>>     [javac] import com.google.common.cache.CacheBuilder;
>>>
>>> (and there are a bunch more of these)
>>>
>>> I've added this to the target generating this error:
>>>
>>> <pathconvert property="cp.string" refid="classpath"/>
>>> <echo>classpath: ${cp.string}</echo>
>>>
>>> And the classpath printed is
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>>>
>>> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>>>
>>> formatted for readability
>>>
>>> So, Guava is there (or do I need some more Guava jars?)
>>>
>>> Thanks,
>>>
>>> Oleg
>
>
>
> --
> Ix Multimedia Software
>
> Jan Luykenstraat 27
> 3521 VB Utrecht
>
> T. 06-51952295
> I. www.ixsoftware.nl

Re: Building Falcom

Posted by Erik de Bruin <er...@ixsoftware.nl>.
The protocol I follow is this:

I get 'flex-falcon' AND 'flex-sdk' from Git. Then, in 'flex-falcon',
in the root of that directory - NOT in e.g. the 'compiler'
subdirectory - I run 'ant main'. This takes care of all the dependency
downloads as well as the copying of the relevant parts of the SDK,
etc.

EdB



On Mon, Dec 29, 2014 at 9:41 AM, Left Right <ol...@gmail.com> wrote:
> Actually, I've checked, CacheBuilder isn't in that guava.jar.
>
> On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com> wrote:
>> Hi Alex,
>>
>> I've tried to build from develop branch, and I think I could get
>> further than before, however, there're problems with dependencies:
>>
>>     [javac] Compiling 1777 source files to
>> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>>     [javac] warning: [options] bootstrap class path not set in
>> conjunction with -source 1.6
>>     [javac] /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/projects/CompilerProject.java:67:
>> error: package com.google.common.cache does not exist
>>     [javac] import com.google.common.cache.CacheBuilder;
>>
>> (and there are a bunch more of these)
>>
>> I've added this to the target generating this error:
>>
>> <pathconvert property="cp.string" refid="classpath"/>
>> <echo>classpath: ${cp.string}</echo>
>>
>> And the classpath printed is
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>>
>> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>>
>> formatted for readability
>>
>> So, Guava is there (or do I need some more Guava jars?)
>>
>> Thanks,
>>
>> Oleg



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
Actually, I've checked, CacheBuilder isn't in that guava.jar.

On Mon, Dec 29, 2014 at 10:38 AM, Left Right <ol...@gmail.com> wrote:
> Hi Alex,
>
> I've tried to build from develop branch, and I think I could get
> further than before, however, there're problems with dependencies:
>
>     [javac] Compiling 1777 source files to
> /home/wvxvw/projects/flex-falcon/compiler/generated/classes
>     [javac] warning: [options] bootstrap class path not set in
> conjunction with -source 1.6
>     [javac] /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/projects/CompilerProject.java:67:
> error: package com.google.common.cache does not exist
>     [javac] import com.google.common.cache.CacheBuilder;
>
> (and there are a bunch more of these)
>
> I've added this to the target generating this error:
>
> <pathconvert property="cp.string" refid="classpath"/>
> <echo>classpath: ${cp.string}</echo>
>
> And the classpath printed is
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:
>
> /home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar
>
> formatted for readability
>
> So, Guava is there (or do I need some more Guava jars?)
>
> Thanks,
>
> Oleg

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
Hi Alex,

I've tried to build from develop branch, and I think I could get
further than before, however, there're problems with dependencies:

    [javac] Compiling 1777 source files to
/home/wvxvw/projects/flex-falcon/compiler/generated/classes
    [javac] warning: [options] bootstrap class path not set in
conjunction with -source 1.6
    [javac] /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/projects/CompilerProject.java:67:
error: package com.google.common.cache does not exist
    [javac] import com.google.common.cache.CacheBuilder;

(and there are a bunch more of these)

I've added this to the target generating this error:

<pathconvert property="cp.string" refid="classpath"/>
<echo>classpath: ${cp.string}</echo>

And the classpath printed is

/home/wvxvw/projects/flex-falcon/compiler/lib/antlr.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/commons-cli.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/commons-io.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/flex-tool-api.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/guava.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/java_cup-runtime.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/java_cup.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/jburg.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/jflex.jar:

/home/wvxvw/projects/flex-falcon/compiler/lib/lzma-sdk.jar

formatted for readability

So, Guava is there (or do I need some more Guava jars?)

Thanks,

Oleg

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
Ah, thanks Alex, will do. Before I left it, I got to the point where
it was trying to copy the flex-sdk directory.  Does it need Flex SDK
to function? If so, may I ask you, which parts of the SDK are used?
I.e. I was hoping to save some work, if I only build the AS3 compiler,
or isn't it worth the effort?

Thanks,

Oleg

On Sun, Dec 28, 2014 at 6:55 PM, Alex Harui <ah...@adobe.com> wrote:
> Where did you get the source for Falcon?  If the repo, make sure you are
> pulling from the “develop” branch and not “master”.
>
> On 12/28/14, 8:31 AM, "Left Right" <ol...@gmail.com> wrote:
>
>>Some more info: jflex -d
>>/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/co
>>mpiler/internal/parsing/as
>>-q
>>/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/int
>>ernal/parsing/as/RawASTokenizer.lex
>>--skel
>>/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/int
>>ernal/parsing/as/skeleton.falcon
>>
>>The above runs just fine.
>>
>>I tried modifying the CLASSPATH variable to include the java_cup jars
>>(there are two,
>>
>>/usr/share/java/java_cup.jar
>>/usr/share/java/java_cup-runtime.jar
>>)
>>But the <jflex> task seems to ignore my changes... So, how do I make
>>it add jars to the classpath?
>>
>>Thanks!
>>
>>On Sun, Dec 28, 2014 at 6:02 PM, Left Right <ol...@gmail.com> wrote:
>>> I figured this might be useful too:
>>>
>>> $ yum info java_cup
>>> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
>>> Installed Packages
>>> Name        : java_cup
>>> Arch        : noarch
>>> Epoch       : 1
>>> Version     : 0.11a
>>> Release     : 12.fc19
>>> Size        : 128 k
>>> Repo        : installed
>>> From repo   : fedora
>>> Summary     : Java source interpreter
>>> URL         : http://www.cs.princeton.edu/%7Eappel/modern/java/CUP/
>>> License     : MIT
>>> Description : java_cup is a LALR Parser Generator for Java
>>>
>>> On Sun, Dec 28, 2014 at 5:57 PM, Left Right <ol...@gmail.com>
>>>wrote:
>>>> Hello,
>>>>
>>>> I was wondering, what do I need to build Falcon, and if possible, on
>>>>Linux :)
>>>>
>>>> I've got as far as this:
>>>>
>>>> raw.as.tokenizer:
>>>>      [echo] Generating RawASTokenizer
>>>>      [java] Executing
>>>>
>>>>'/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc19.x86_64/jre/bin/ja
>>>>va'
>>>> with arguments:
>>>>      [java] '-jar'
>>>>      [java] '/usr/share/java/jflex.jar'
>>>>      [java] '-d'
>>>>      [java]
>>>>'/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex
>>>>/compiler/internal/parsing/as'
>>>>      [java] '-q'
>>>>      [java]
>>>>'/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/
>>>>internal/parsing/as/RawASTokenizer.lex'
>>>>      [java] '--skel'
>>>>      [java]
>>>>'/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/
>>>>internal/parsing/as/skeleton.falcon'
>>>>      [java]
>>>>      [java] The ' characters around the executable and arguments are
>>>>      [java] not part of the command.
>>>>      [java] Exception in thread "main" java.lang.NoClassDefFoundError:
>>>> java_cup/runtime/lr_parser
>>>>      [java] at java.lang.Class.getDeclaredMethods0(Native Method)
>>>>      [java] at
>>>>java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
>>>>      [java] at java.lang.Class.getMethod0(Class.java:2774)
>>>>      [java] at java.lang.Class.getMethod(Class.java:1663)
>>>>      [java] at
>>>>sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
>>>>      [java] at
>>>>sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
>>>>      [java] Caused by: java.lang.ClassNotFoundException:
>>>> java_cup.runtime.lr_parser
>>>>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>>      [java] at java.security.AccessController.doPrivileged(Native
>>>>Method)
>>>>      [java] at
>>>>java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>>      [java] at
>>>>sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>>      [java] ... 6 more
>>>>      [java] Java Result: 1
>>>>
>>>> I've no clue what java_cup/runtime/lr_parser is. This looks like some
>>>> sort of misconfiguration rather than missing dependence (typically in
>>>> that place one would see the name of the class which is missing).
>>>>
>>>> More info:
>>>>
>>>> $ yum info jflex
>>>> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
>>>> Installed Packages
>>>> Name        : jflex
>>>> Arch        : noarch
>>>> Version     : 1.4.3
>>>> Release     : 13.fc19
>>>> Size        : 1.2 M
>>>> Repo        : installed
>>>> From repo   : fedora
>>>> Summary     : Fast Scanner Generator
>>>> URL         : http://jflex.de/
>>>> License     : GPL+
>>>> Description : JFlex is a lexical analyzer generator (also known as
>>>>scanner
>>>>             : generator) for Java(tm), written in Java(tm). It is also
>>>>a
>>>>             : rewrite of the very useful tool JLex which was developed
>>>>by
>>>>             : Elliot Berk at Princeton University. As Vern Paxson
>>>>states
>>>>             : for his C/C++ tool flex: They do not share any code
>>>>though.
>>>>             : JFlex is designed to work together with the LALR parser
>>>>             : generator CUP by Scott Hudson, and the Java modification
>>>>of
>>>>             : Berkeley Yacc BYacc/J by Bob Jamison. It can also be used
>>>>             : together with other parser generators like ANTLR or as a
>>>>             : standalone tool.
>>>>
>>>> $ javac -version
>>>> javac 1.7.0_51
>>>>
>>>> Anything else I need to tell you, just let me know.  If this is
>>>> important, I'm only interested in AS3 compiler, not the documentation
>>>> nor the MXML part, no JavaScript etc.
>>>>
>>>> Thanks!
>>>>
>>>> Oleg
>

Re: Building Falcom

Posted by Alex Harui <ah...@adobe.com>.
Where did you get the source for Falcon?  If the repo, make sure you are
pulling from the “develop” branch and not “master”.

On 12/28/14, 8:31 AM, "Left Right" <ol...@gmail.com> wrote:

>Some more info: jflex -d
>/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/co
>mpiler/internal/parsing/as
>-q 
>/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/int
>ernal/parsing/as/RawASTokenizer.lex
>--skel 
>/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/int
>ernal/parsing/as/skeleton.falcon
>
>The above runs just fine.
>
>I tried modifying the CLASSPATH variable to include the java_cup jars
>(there are two,
>
>/usr/share/java/java_cup.jar
>/usr/share/java/java_cup-runtime.jar
>)
>But the <jflex> task seems to ignore my changes... So, how do I make
>it add jars to the classpath?
>
>Thanks!
>
>On Sun, Dec 28, 2014 at 6:02 PM, Left Right <ol...@gmail.com> wrote:
>> I figured this might be useful too:
>>
>> $ yum info java_cup
>> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
>> Installed Packages
>> Name        : java_cup
>> Arch        : noarch
>> Epoch       : 1
>> Version     : 0.11a
>> Release     : 12.fc19
>> Size        : 128 k
>> Repo        : installed
>> From repo   : fedora
>> Summary     : Java source interpreter
>> URL         : http://www.cs.princeton.edu/%7Eappel/modern/java/CUP/
>> License     : MIT
>> Description : java_cup is a LALR Parser Generator for Java
>>
>> On Sun, Dec 28, 2014 at 5:57 PM, Left Right <ol...@gmail.com>
>>wrote:
>>> Hello,
>>>
>>> I was wondering, what do I need to build Falcon, and if possible, on
>>>Linux :)
>>>
>>> I've got as far as this:
>>>
>>> raw.as.tokenizer:
>>>      [echo] Generating RawASTokenizer
>>>      [java] Executing
>>> 
>>>'/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc19.x86_64/jre/bin/ja
>>>va'
>>> with arguments:
>>>      [java] '-jar'
>>>      [java] '/usr/share/java/jflex.jar'
>>>      [java] '-d'
>>>      [java] 
>>>'/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex
>>>/compiler/internal/parsing/as'
>>>      [java] '-q'
>>>      [java] 
>>>'/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/
>>>internal/parsing/as/RawASTokenizer.lex'
>>>      [java] '--skel'
>>>      [java] 
>>>'/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/
>>>internal/parsing/as/skeleton.falcon'
>>>      [java]
>>>      [java] The ' characters around the executable and arguments are
>>>      [java] not part of the command.
>>>      [java] Exception in thread "main" java.lang.NoClassDefFoundError:
>>> java_cup/runtime/lr_parser
>>>      [java] at java.lang.Class.getDeclaredMethods0(Native Method)
>>>      [java] at 
>>>java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
>>>      [java] at java.lang.Class.getMethod0(Class.java:2774)
>>>      [java] at java.lang.Class.getMethod(Class.java:1663)
>>>      [java] at 
>>>sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
>>>      [java] at 
>>>sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
>>>      [java] Caused by: java.lang.ClassNotFoundException:
>>> java_cup.runtime.lr_parser
>>>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>      [java] at java.security.AccessController.doPrivileged(Native
>>>Method)
>>>      [java] at 
>>>java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>      [java] at 
>>>sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>      [java] ... 6 more
>>>      [java] Java Result: 1
>>>
>>> I've no clue what java_cup/runtime/lr_parser is. This looks like some
>>> sort of misconfiguration rather than missing dependence (typically in
>>> that place one would see the name of the class which is missing).
>>>
>>> More info:
>>>
>>> $ yum info jflex
>>> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
>>> Installed Packages
>>> Name        : jflex
>>> Arch        : noarch
>>> Version     : 1.4.3
>>> Release     : 13.fc19
>>> Size        : 1.2 M
>>> Repo        : installed
>>> From repo   : fedora
>>> Summary     : Fast Scanner Generator
>>> URL         : http://jflex.de/
>>> License     : GPL+
>>> Description : JFlex is a lexical analyzer generator (also known as
>>>scanner
>>>             : generator) for Java(tm), written in Java(tm). It is also
>>>a
>>>             : rewrite of the very useful tool JLex which was developed
>>>by
>>>             : Elliot Berk at Princeton University. As Vern Paxson
>>>states
>>>             : for his C/C++ tool flex: They do not share any code
>>>though.
>>>             : JFlex is designed to work together with the LALR parser
>>>             : generator CUP by Scott Hudson, and the Java modification
>>>of
>>>             : Berkeley Yacc BYacc/J by Bob Jamison. It can also be used
>>>             : together with other parser generators like ANTLR or as a
>>>             : standalone tool.
>>>
>>> $ javac -version
>>> javac 1.7.0_51
>>>
>>> Anything else I need to tell you, just let me know.  If this is
>>> important, I'm only interested in AS3 compiler, not the documentation
>>> nor the MXML part, no JavaScript etc.
>>>
>>> Thanks!
>>>
>>> Oleg


Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
OK... it appears that <jflex> isn't the <flex> JFlex Ant task, but
just a macro defined in the same build file... how quaint...

On Sun, Dec 28, 2014 at 6:31 PM, Left Right <ol...@gmail.com> wrote:
> Some more info: jflex -d
> /home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as
> -q /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/RawASTokenizer.lex
> --skel /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/skeleton.falcon
>
> The above runs just fine.
>
> I tried modifying the CLASSPATH variable to include the java_cup jars
> (there are two,
>
> /usr/share/java/java_cup.jar
> /usr/share/java/java_cup-runtime.jar
> )
> But the <jflex> task seems to ignore my changes... So, how do I make
> it add jars to the classpath?
>
> Thanks!
>
> On Sun, Dec 28, 2014 at 6:02 PM, Left Right <ol...@gmail.com> wrote:
>> I figured this might be useful too:
>>
>> $ yum info java_cup
>> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
>> Installed Packages
>> Name        : java_cup
>> Arch        : noarch
>> Epoch       : 1
>> Version     : 0.11a
>> Release     : 12.fc19
>> Size        : 128 k
>> Repo        : installed
>> From repo   : fedora
>> Summary     : Java source interpreter
>> URL         : http://www.cs.princeton.edu/%7Eappel/modern/java/CUP/
>> License     : MIT
>> Description : java_cup is a LALR Parser Generator for Java
>>
>> On Sun, Dec 28, 2014 at 5:57 PM, Left Right <ol...@gmail.com> wrote:
>>> Hello,
>>>
>>> I was wondering, what do I need to build Falcon, and if possible, on Linux :)
>>>
>>> I've got as far as this:
>>>
>>> raw.as.tokenizer:
>>>      [echo] Generating RawASTokenizer
>>>      [java] Executing
>>> '/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc19.x86_64/jre/bin/java'
>>> with arguments:
>>>      [java] '-jar'
>>>      [java] '/usr/share/java/jflex.jar'
>>>      [java] '-d'
>>>      [java] '/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as'
>>>      [java] '-q'
>>>      [java] '/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/RawASTokenizer.lex'
>>>      [java] '--skel'
>>>      [java] '/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/skeleton.falcon'
>>>      [java]
>>>      [java] The ' characters around the executable and arguments are
>>>      [java] not part of the command.
>>>      [java] Exception in thread "main" java.lang.NoClassDefFoundError:
>>> java_cup/runtime/lr_parser
>>>      [java] at java.lang.Class.getDeclaredMethods0(Native Method)
>>>      [java] at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
>>>      [java] at java.lang.Class.getMethod0(Class.java:2774)
>>>      [java] at java.lang.Class.getMethod(Class.java:1663)
>>>      [java] at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
>>>      [java] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
>>>      [java] Caused by: java.lang.ClassNotFoundException:
>>> java_cup.runtime.lr_parser
>>>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>      [java] at java.security.AccessController.doPrivileged(Native Method)
>>>      [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>      [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>      [java] ... 6 more
>>>      [java] Java Result: 1
>>>
>>> I've no clue what java_cup/runtime/lr_parser is. This looks like some
>>> sort of misconfiguration rather than missing dependence (typically in
>>> that place one would see the name of the class which is missing).
>>>
>>> More info:
>>>
>>> $ yum info jflex
>>> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
>>> Installed Packages
>>> Name        : jflex
>>> Arch        : noarch
>>> Version     : 1.4.3
>>> Release     : 13.fc19
>>> Size        : 1.2 M
>>> Repo        : installed
>>> From repo   : fedora
>>> Summary     : Fast Scanner Generator
>>> URL         : http://jflex.de/
>>> License     : GPL+
>>> Description : JFlex is a lexical analyzer generator (also known as scanner
>>>             : generator) for Java(tm), written in Java(tm). It is also a
>>>             : rewrite of the very useful tool JLex which was developed by
>>>             : Elliot Berk at Princeton University. As Vern Paxson states
>>>             : for his C/C++ tool flex: They do not share any code though.
>>>             : JFlex is designed to work together with the LALR parser
>>>             : generator CUP by Scott Hudson, and the Java modification of
>>>             : Berkeley Yacc BYacc/J by Bob Jamison. It can also be used
>>>             : together with other parser generators like ANTLR or as a
>>>             : standalone tool.
>>>
>>> $ javac -version
>>> javac 1.7.0_51
>>>
>>> Anything else I need to tell you, just let me know.  If this is
>>> important, I'm only interested in AS3 compiler, not the documentation
>>> nor the MXML part, no JavaScript etc.
>>>
>>> Thanks!
>>>
>>> Oleg

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
Some more info: jflex -d
/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as
-q /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/RawASTokenizer.lex
--skel /home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/skeleton.falcon

The above runs just fine.

I tried modifying the CLASSPATH variable to include the java_cup jars
(there are two,

/usr/share/java/java_cup.jar
/usr/share/java/java_cup-runtime.jar
)
But the <jflex> task seems to ignore my changes... So, how do I make
it add jars to the classpath?

Thanks!

On Sun, Dec 28, 2014 at 6:02 PM, Left Right <ol...@gmail.com> wrote:
> I figured this might be useful too:
>
> $ yum info java_cup
> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
> Installed Packages
> Name        : java_cup
> Arch        : noarch
> Epoch       : 1
> Version     : 0.11a
> Release     : 12.fc19
> Size        : 128 k
> Repo        : installed
> From repo   : fedora
> Summary     : Java source interpreter
> URL         : http://www.cs.princeton.edu/%7Eappel/modern/java/CUP/
> License     : MIT
> Description : java_cup is a LALR Parser Generator for Java
>
> On Sun, Dec 28, 2014 at 5:57 PM, Left Right <ol...@gmail.com> wrote:
>> Hello,
>>
>> I was wondering, what do I need to build Falcon, and if possible, on Linux :)
>>
>> I've got as far as this:
>>
>> raw.as.tokenizer:
>>      [echo] Generating RawASTokenizer
>>      [java] Executing
>> '/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc19.x86_64/jre/bin/java'
>> with arguments:
>>      [java] '-jar'
>>      [java] '/usr/share/java/jflex.jar'
>>      [java] '-d'
>>      [java] '/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as'
>>      [java] '-q'
>>      [java] '/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/RawASTokenizer.lex'
>>      [java] '--skel'
>>      [java] '/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/skeleton.falcon'
>>      [java]
>>      [java] The ' characters around the executable and arguments are
>>      [java] not part of the command.
>>      [java] Exception in thread "main" java.lang.NoClassDefFoundError:
>> java_cup/runtime/lr_parser
>>      [java] at java.lang.Class.getDeclaredMethods0(Native Method)
>>      [java] at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
>>      [java] at java.lang.Class.getMethod0(Class.java:2774)
>>      [java] at java.lang.Class.getMethod(Class.java:1663)
>>      [java] at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
>>      [java] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
>>      [java] Caused by: java.lang.ClassNotFoundException:
>> java_cup.runtime.lr_parser
>>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>      [java] at java.security.AccessController.doPrivileged(Native Method)
>>      [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>      [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>      [java] ... 6 more
>>      [java] Java Result: 1
>>
>> I've no clue what java_cup/runtime/lr_parser is. This looks like some
>> sort of misconfiguration rather than missing dependence (typically in
>> that place one would see the name of the class which is missing).
>>
>> More info:
>>
>> $ yum info jflex
>> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
>> Installed Packages
>> Name        : jflex
>> Arch        : noarch
>> Version     : 1.4.3
>> Release     : 13.fc19
>> Size        : 1.2 M
>> Repo        : installed
>> From repo   : fedora
>> Summary     : Fast Scanner Generator
>> URL         : http://jflex.de/
>> License     : GPL+
>> Description : JFlex is a lexical analyzer generator (also known as scanner
>>             : generator) for Java(tm), written in Java(tm). It is also a
>>             : rewrite of the very useful tool JLex which was developed by
>>             : Elliot Berk at Princeton University. As Vern Paxson states
>>             : for his C/C++ tool flex: They do not share any code though.
>>             : JFlex is designed to work together with the LALR parser
>>             : generator CUP by Scott Hudson, and the Java modification of
>>             : Berkeley Yacc BYacc/J by Bob Jamison. It can also be used
>>             : together with other parser generators like ANTLR or as a
>>             : standalone tool.
>>
>> $ javac -version
>> javac 1.7.0_51
>>
>> Anything else I need to tell you, just let me know.  If this is
>> important, I'm only interested in AS3 compiler, not the documentation
>> nor the MXML part, no JavaScript etc.
>>
>> Thanks!
>>
>> Oleg

Re: Building Falcom

Posted by Left Right <ol...@gmail.com>.
I figured this might be useful too:

$ yum info java_cup
Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
Installed Packages
Name        : java_cup
Arch        : noarch
Epoch       : 1
Version     : 0.11a
Release     : 12.fc19
Size        : 128 k
Repo        : installed
>From repo   : fedora
Summary     : Java source interpreter
URL         : http://www.cs.princeton.edu/%7Eappel/modern/java/CUP/
License     : MIT
Description : java_cup is a LALR Parser Generator for Java

On Sun, Dec 28, 2014 at 5:57 PM, Left Right <ol...@gmail.com> wrote:
> Hello,
>
> I was wondering, what do I need to build Falcon, and if possible, on Linux :)
>
> I've got as far as this:
>
> raw.as.tokenizer:
>      [echo] Generating RawASTokenizer
>      [java] Executing
> '/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc19.x86_64/jre/bin/java'
> with arguments:
>      [java] '-jar'
>      [java] '/usr/share/java/jflex.jar'
>      [java] '-d'
>      [java] '/home/wvxvw/projects/flex-falcon/compiler/generated/src/org/apache/flex/compiler/internal/parsing/as'
>      [java] '-q'
>      [java] '/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/RawASTokenizer.lex'
>      [java] '--skel'
>      [java] '/home/wvxvw/projects/flex-falcon/compiler/src/org/apache/flex/compiler/internal/parsing/as/skeleton.falcon'
>      [java]
>      [java] The ' characters around the executable and arguments are
>      [java] not part of the command.
>      [java] Exception in thread "main" java.lang.NoClassDefFoundError:
> java_cup/runtime/lr_parser
>      [java] at java.lang.Class.getDeclaredMethods0(Native Method)
>      [java] at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
>      [java] at java.lang.Class.getMethod0(Class.java:2774)
>      [java] at java.lang.Class.getMethod(Class.java:1663)
>      [java] at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
>      [java] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
>      [java] Caused by: java.lang.ClassNotFoundException:
> java_cup.runtime.lr_parser
>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>      [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>      [java] at java.security.AccessController.doPrivileged(Native Method)
>      [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>      [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>      [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>      [java] ... 6 more
>      [java] Java Result: 1
>
> I've no clue what java_cup/runtime/lr_parser is. This looks like some
> sort of misconfiguration rather than missing dependence (typically in
> that place one would see the name of the class which is missing).
>
> More info:
>
> $ yum info jflex
> Loaded plugins: auto-update-debuginfo, langpacks, refresh-packagekit
> Installed Packages
> Name        : jflex
> Arch        : noarch
> Version     : 1.4.3
> Release     : 13.fc19
> Size        : 1.2 M
> Repo        : installed
> From repo   : fedora
> Summary     : Fast Scanner Generator
> URL         : http://jflex.de/
> License     : GPL+
> Description : JFlex is a lexical analyzer generator (also known as scanner
>             : generator) for Java(tm), written in Java(tm). It is also a
>             : rewrite of the very useful tool JLex which was developed by
>             : Elliot Berk at Princeton University. As Vern Paxson states
>             : for his C/C++ tool flex: They do not share any code though.
>             : JFlex is designed to work together with the LALR parser
>             : generator CUP by Scott Hudson, and the Java modification of
>             : Berkeley Yacc BYacc/J by Bob Jamison. It can also be used
>             : together with other parser generators like ANTLR or as a
>             : standalone tool.
>
> $ javac -version
> javac 1.7.0_51
>
> Anything else I need to tell you, just let me know.  If this is
> important, I'm only interested in AS3 compiler, not the documentation
> nor the MXML part, no JavaScript etc.
>
> Thanks!
>
> Oleg