|
||||
Precompiled library missingProblemWhen I try to compile my system, EiffelBench reports: Error code: VD42 Lace error: precompiled directory/file is unreadable. What to do: make sure that the directory/file exists and that appropriate permissions are set ("read" for files, "read/execute" for directories). (See also VD43 warning.) ExplanationYour Ace file is referencing a precompiled library which was not found on your system.
Fix
If you don't have a C compiler, any serious use of Eiffel requires a precompiled library. At the minimum you should have a precompiled version of EiffelBase, which includes the Kernel Library. You may also, among others, use WEL (the Windows Eiffel Library) in precompiled form. Note that precompiled WEL includes precompiled Base, so you don't need both. There are three solutions, detailed next: Download a precompiled library or libraries. Precompile the needed libraries yourself. Do not use precompilation in your project. If you do not have a C compiler, the first solution is the only applicable one. Note that if you do rely on precompiled libraries (first and second solutions), you will need a different version of the precompiled libraries in multithreaded and non-multithreaded modes. Instead of base and wel use base-mt and wel-mt in multithreaded mode. Make sure that the precompiled entry in the Ace file references the version that you need for your system. Downloading precompiled librariesPrecompiled Base and WEL are available in both multithreaded and non-multithreaded mode from our web site http://eiffel.com. Follow the "Download" links. Precompiling a library yourselfIf you have a C compiler, you can precompile libraries yourself by starting an EiffelBench project in $EIFFEL4\precomp\spec\windows\libnamewhere libname may be one of: base, wel, base-mt, wel-mt, and selecting precompile from the compile menu. (From the command line use es4 -precompile.) Getting along without precompiled librariesIf you have a C compiler, you may compile a project without precompiled libraries. Just comment out any precompiled entries in your Ace file. The first compilation will take longer than if you rely on the precompiled versions, since you will have to recompile the whole library (but only the first time around). There is also a space penalty, since you must include the information for all the library classes as part of your project, rather than sharing it. If you still have a problem, contact ISE customer support http://support.eiffel.com.
|