A man with a rifle was seen on a rooftop minutes before shots were fired at a Donald Trump rally in Pennsylvania, a witness has told the BBC, Report informs.
Greg Smith said the man had crawled on top of a building just outside the event in Butler County on Friday evening.
He said he pointed the gunman out to police.
"I'm thinking to myself 'Why is Trump still speaking, why have they not pulled him off the stage'... the next thing you know, five shots ring out."
The former president was immediately swarmed by Secret Service agents and escorted away. He was seen with blood on his face and later said a bullet had pierced his ear.
The gunman was shot dead, officials later confirmed. Mr Smith told the BBC he saw Secret Service agents shoot the man.
Mr Smith was listening from outside the rally and said he saw the gunman around five minutes into Trump's speech.
"We noticed the guy bear-crawling up the roof of the building beside us, 50ft away," he said. "He had a rifle, we could clearly see a rifle.
"We're pointing at him, the police are down there running around on the ground, we're like 'Hey man, there's a guy on the roof with a rifle'... and the police did not know what was going on."
Mr Smith said he tried to alert the authorities for three to four minutes, but thought they probably could not see the gunman because of the slope of the roof.
"Why is there not Secret Service on all of these roofs here?" he asked. "This is not a big place. "[It's a] security failure, 100% security failure."
He said he later saw the agents shoot the gunman: "They crawled up on the roof, they had their guns pointed at him, made sure he was dead. He was dead, and that was it - it was over."
Anthony Guglielmi, a Secret Service spokesman, said agents had "neutralised the shooter" and "quickly responded with protective measures".
The incident is being investigated as an attempted assassination.