def raise_if_conflicts
    other = Gem.loaded_specs[self.name]

    if other and self.version != other.version then
      # This gem is already loaded.  If the currently loaded gem is not in the
      # list of candidate gems, then we have a version conflict.

      msg = "can't activate #{full_name}, already activated #{other.full_name}"

      e = Gem::LoadError.new msg
      e.name = self.name
      # TODO: e.requirement = dep.requirement

      raise e
    end

    conf = self.conflicts

    unless conf.empty? then
      y = conf.map { |act,con|
        "#{act.full_name} conflicts with #{con.join(", ")}"
      }.join ", "

      # TODO: improve message by saying who activated `con`

      raise Gem::LoadError, "Unable to activate #{self.full_name}, because #{y}"
    end
  end
#
Check the spec for possible conflicts and freak out if there are any.