I see an even more basic shortcoming than the content of error messages. The development effort should assume from the start that a typical real-world installation will contain library errors. Many (perhaps the majority?) of users establish and maintain their own libraries and these libraries are typically touched by several (perhaps dozens) of hands so errors are almost inevitable.
Citing the offending location in a library file (as suggested by @Rene_Poschl) is definitely an improvement over citing the failed line of executing code. It would be even more helpful if program execution could continue after encountering an error. This probably means backtracking and removing a portion of the offending library from the executing program. Using this current incident as an example, it could mean that a particular Molex connector is not available for use, its symbol is displayed as a large “?”, etc. Or it might mean that the entire Molex connector library is ignored. (In either case, the error message should alert the user to the situation.) At least an error would not cause the entire program to crash.