found this note in metalink

symptom: ORA-12014: table '%s' does not contain a primary key constraint
symptom: Database link has been created correctly
cause: If the snapshot definition query of a CREATE SNAPSHOT DDL
referenced a remote table, whose owner is not explicitly
specified, an ORA-12014 was raised if the owner of the
snapshot was different than the username specified in the
database link that was used to access the remote table.


The error is VERY misleading. The table you are creating a snapshot
from does have a primary key constraint and your snapshot log is recording
WITH PRIMARY KEY.