JOHANNESBURG (Reuters) - U.S. President Barack Obama shook the hand of Cuban President Raul Castro at a memorial for Nelson Mandela on Tuesday, a rare gesture between the leaders of two nations at loggerheads for more than half a century.
With Mandela's message of reconciliation hanging over the ceremony, Castro smiled as Obama shook his hand on the way to the podium to make a rousing speech in memory of the former South African president, one of the world's greatest peacemakers, who died on Thursday aged 95.
Tens of thousands of singing and dancing mourners braved hours of torrential rain at Johannesburg's Soccer City as 90-odd world dignitaries filed into the stadium.
The crowd emitted a huge roar as Obama took his seat, in marked contrast to the boos that greeted South African President Jacob Zuma, a scandal-plagued leader whose weaknesses have been cast into sharp relief by Mandela's death.
Zimbabwean leader Robert Mugabe also received wide applause.
Obama chided leaders who were quick to claim solidarity with Mandela's struggle with oppression and injustice, but did not allow freedom in their own countries.
"There are too many of us who happily embrace Madiba's legacy of racial reconciliation, but passionately resist even modest reforms that would challenge chronic poverty and growing inequality," he said.
"There are too many leaders who claim solidarity with Madiba's struggle for freedom, but do not tolerate dissent from their own people," he said.
Relations between Cuba and the United States have been frozen since soon after Cuba's 1959 revolution led by Raul's brother Fidel Castro, and Washington has maintained economic sanctions on the communist-ruled island for more than half a century.
(Additional reporting by Steve Holland; Writing by Pascal Fletcher and Ed Cropley; Editing by Janet Lawrence)