Building a lot of FluorineFx samples from Adobe Flex Builder 2 yields the following error:
configuration variable 'compiler.library-path' value contains unknown token 'LCDS'
The IDE is utterly unhelpful as to
where this is coming from (it says the error comes from line -1 if you view its properties), but you'll find it due to the following line in the
.actionScriptProperties file:
<libraryPathEntry kind="3" path="${LCDS}\libs\fds.swc" linkType="1"/>
Within the GUI you'll find this entry listed under the project properties in the
Flex Build Path section under the
Library path tab. Deleting it is the easiest solution, but then another error might surface:
Interface IManaged was not found.
This is being caused by the
[Managed] class attribute which, again, you can safely delete.
But what is
IManaged, why isn't
LCDS defined, and where the heck is
fds.swc?
It turns out
LCDS stands for
Live
Cycle
Data
Services which it turns out is part of
some Adobe thing for Java. This supercedes
Flex
Data
Services which is where the filename
fds.swc comes from. You'd need to install Adobe LiveCycle Data Services in order to have that compiler identifier as well as the
fds.swc file, but I don't know where to tell you to go, nor do I want to
spend an hour finding out.
- -
Okay, I found
Adobe LiveCycle Data Services ES which you can download for free (only 136 megabytes ... uh, yeah) if you register. I must warn you that working through their web forms is an arduous task, especially if someone else used your email address in the past because they don't like registering to download crap anymore than you do.
- -
Dammit, nothing like hitting a dead end. The
fds.swc from the above thing is
for ColdFusion 8 and isn't compatible with Flex Builder. The result is a broken SWF that throws weird exceptions like this:
VerifyError: Error #1053: Illegal override of subtopic in mx.messaging.Consumer.
at flash.display::MovieClip /nextFrame()
at mx.managers::SystemManager /::deferredNextFrame()
at mx.managers::SystemManager /::preloader_initProgressHandler()
at flash.events::EventDispatcher /flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher /dispatchEvent()
at mx.preloaders::Preloader /::timerHandler()
at flash.utils::Timer /flash.utils:Timer::_timerDispatch()
at flash.utils::Timer /flash.utils:Timer::tick()
- -
Ah ha! I didn't have these:
Hotfix 2 and
Hotfix 3. After installing those and rebuilding the above error went away.
Now if I could just figure out how to define the compiler symbol LCDS!