If you don't have a precompiled ZOTLIB you'll need its source. Perhaps you can buy it from wherever you got this code.
If you have the source, add that info to the question, and it becomes a simple matter of how to run the compiler.
If you can't find the ZOTLIB source, how to move forward? I would simply comment out the library ZOTLIB/use ZOTLIB.*
statements and compile the file anyway.
If you're lucky, it will simply compile. Often proprietary code treats these clauses as boilerplate, including them whether they are used or not. In such cases they can safely be eliminated. If the compile succeeds, you didn't need them. VHDL in this respect is much safer than languages like C where implicit declarations are assumed (possibly wrongly) if something goes wrong in the #includes.
However, you may see compilation errors of the form entity ZOTLIB.ZOTLIB_Components.DFF not found at line xxy
If you're lucky, there will only be a few, or they all reference the same few components. Now you need to replace the missing units. This requires knowledge (occasionally encrypted in the form of "documentation") as to what the missing units do.
In the case of entity ZOTLIB.ZOTLIB_Components.DFF
it's reasonably likely that the component is a D-type flipflop, which you can borrow from somebody elses library or replace with a few lines of VHDL.
In the case of entity ZOTLIB.ZOTLIB_Components.FFT
or entity ZOTLIB.ZOTLIB_Components.80186
you are probably out of luck, as not only do you need to write an FFT processor or Intel-compatible CPU, but it must be an exact match for the way ZOTLIB implemented it. At that point, this VHDL file is beyond rescue, you're better starting from scratch.
*.lib
file. This file assoziates a VHDL library with a directory in each line:DEFINE <lib name> <path>. This file in then loaded into ncvhdl by
-cdslib <file.lib>`. \$\endgroup\$