Ottawa is in lockdown as police search for up to three gunmen after one was reportedly shot dead inside Canada's parliament building.
Police told the AFP news agency that possibly up to three shooters were feared to be on the roof of the building in the capital.
It came after a soldier guarding a nearby war memorial was wounded after shots were fired.
Shots have also now been reported at a hotel and a mall in the city.
Armed forces bases across the country are being closed to the public in the aftermath of the shooting, according to CBC TV.
A construction worker at the parliament told the Reuters news agency he heard a gunshot, and then saw a man dressed in black with a scarf over his face running towards the building with a gun.
Another witness said more than 30 shots were fired inside the building.
Witness Marc-Andre Viau said he saw a man run into a caucus meeting at the parliament, chased by police who yelled "take cover."
This was followed by "10, 15, maybe 20 shots," possibly from an automatic weapon, he said.
Video footage posted by the Global and Mail newspaper showed police crouching for cover as they advanced along a stone hallway, with loud gunfire echoing among the gothic columns.
Prime Minister Stephen Harper is safe and has left Parliament Hill.
Michelle Rempel, MP for Calgary Centre North, tweeted: "Mom im okay Im in hiding."
Some people fled parliament by climbing down scaffolding erected for renovations, witnesses told the Canadian Press news agency.
The cordon has been pushed back and media on the scene have been told they are not safe.
Police have warned people in Ottawa to stay away from windows and roofs.
1/19
-
Gallery: Pictures: Shots Fired At Canada Parliament
Canadian police have surrounded the parliament in Ottawa after a soldier was shot while guarding a nearby monument.
The wounded soldier, who was standing guard at the National War Memorial, has been taken away in an ambulance.
The soldier appeared to be seriously wounded and medics were seen pushing on his chest to revive him.
The shooting comes two days after an Islamic convert ran down two Canadian soldiers near Montreal, killing one of them.
Authorities had raised the security threat level from low to medium after that incident.
More follows...