ID:13714 VHDL error at <location>: can't determine type of object at or near identifier "<name>" -- found <number> possible types

CAUSE: In a VHDL Design File (.vhd) at the specified location, you used an object at or near the specified identifier. Quartus Prime Integrated Synthesis cannot determine the type of the object because it found the specified number of different possible types for the object, or it found no possible object type. For example, Quartus Prime Integrated Synthesis cannot determine the type of object i or object o because two Type Declarations declare two different types named color:
PACKAGE p1 IS
   TYPE color IS (red, green, blue);
END p1;
 
               
PACKAGE p2 IS
   TYPE color IS (black, white);
END p2;
 
               
USE work.p1.all;
USE work.p2.all;
 
               
ENTITY my_entity IS
   PORT
   (
      i	: IN	color;
      o	: OUT	color;
   );
END my_entity;
 
               
ARCHITECTURE a OF my_entity IS
BEGIN
   o <= i;
END a;

ACTION: Make sure the design clearly specifies the type of the object. For example, you can explicitly specify a type for an object using a qualified expression, or you can make sure an Entity Declaration or Architecture Body uses an unambiguous Type Declaration. For the previous example, you can change the color type to two separate types named color1 and color2.