Twenty-five dead bodies were found on a boat carrying 296 African migrants that set sail from Libya and arrived on the Sicilian island of Lampedusa today, Italian port authorities said.

Migrants on board said the adult men were packed inside the hold and killed by motor fumes, the Ansa news agency reported.

Port officials said the cause of death was not immediately clear and medical tests were being conducted.

The boat, carrying mainly migrants from sub-Saharan Africa, left Libya three days ago, a port official said.

Thousands of people fleeing turmoil in North Africa have sailed to Italy in rickety boats in recent months.

The United Nations refugee agency has said one in 10 migrants fleeing conflict in Libya by sea is likely to drown or die from hunger or exhaustion in appalling conditions during the crossing.

Clashes in Bari

Separately, hundreds of asylum-seekers have clashed with riot police near an immigrant centre in the southern Italian city of Bari in a protest to demand refugee status that left dozens lightly injured.

Protesters hurled rocks and metal bars at police lines, set off fires and trashed a facility on the outskirts of Bari.

Police responded with tear gas and live rounds fired into the air and 30 protesters were arrested.

The rioters blocked a main road and railway for several hours, disrupting regional train services and car traffic. A passing bus was also wrecked.

Local officials later intervened and persuaded the protesters to stand down after the authorities promised to respond to their requests by next Wednesday.