The incident took place at about 7:30am local time in the town of Puisseguin. Both vehicles caught fire after the collision. About 60 firefighters have been deployed to the scene of the incident, media reported.
"We are overcome with emotion,” Puisseguin’s mayor told France Bleu Gironde, adding that the town authorities must organize the treatment of the injured and deal with the bodies of the deceased.
Most of the victims in the bus appear to be members of a senior citizens’ club and were French nationals, Interior Ministry spokesman Pierre-Henry Brandet told BFMTV.
The body of a boy has been found in the truck, a judicial source confirmed to French RTL, adding that the child could possibly be the son of the truck driver.
According to the latest information, the truck lost control and ended up on the wrong side of the road. The bus driver did everything possible to prevent an accident, even opening the doors to allow people to jump from the vehicle.
Interior Minister Bernard Cazeneuve is planning to visit the site of the incident, France Bleu Gironde reported.
"The French government is fully mobilized around this terrible tragedy," French President Francois Hollande said.
According to reports, the bus left the town of Petit-Palais, Gironde, on Friday morning and was traveling to Béarn province in the Pyrenees Mountains, southwestern France.
The Puisseguin accident is the worst in the past 30 years, according to French media. The most fatal so far took place in the town of Beaune, eastern France, in 1982. Fifty-three people, including 44 children, were killed in that tragedy.