Narrowing down the problem, TRAVERSE now adds the LIB-OP operation to all components of a system. I added a method
(defmethod perform ((operation lib-op) (c component)) nil)
but this method gets overriden by a more specific one which is provided by asdf.lisp
(defmethod perform ((operation operation) (c source-file)) (sysdef-error "~@<required method PERFORM not implemented ~ for operation ~A, component ~A~@:>" (class-of operation) (class-of c)))
This method was the cause of all problems.
Juanjo