I also had this error.
It actually turned out to be something simple. In Oracle, when you declare a package name with double quotes, it defaults to upper case. Object names are case sensitive.
So, CREATE OR REPLACE PACKAGE "DBO"."PkgName" would create
DBO.PKGNAME. However, depending on the editor, it may (in my case it did) display PkgName, but will register PKGNAME in the database.

This means a call to PkgName.procedure would raise PLS-00201: identifier PkgName must be declared.

The answer? Either use caps as a standard naming convention or don't use the double quotes. The quotes are only needed if there is a space in the object name.