Former US president Barack Obama on Tuesday used a tribute to Nelson Mandela to warn that the world had plunged into "strange and uncertain times", in what is likely to be seen as a veiled attack on Donald Trump.
Obama made no direct reference to his successor but warned that "politics of fear and resentment" were spreading, driven by leaders who scorned facts and told lies with an "utter loss of shame".
He also blasted climate-change denial, race-based migration policies, unbridled capitalism and "strongman politics" -- stances often cited as the hallmarks of Trump's controversial presidency.
"Given the strange and uncertain times we are in, each day's news cycles brings more head-spinning and disturbing headlines, I thought maybe it would be useful to step back for a moment and get some perspective," Obama said at the start of his speech.
Obama spoke to a crowd of more than 10 000 people at a cricket stadium in Johannesburg in the centrepiece event of celebrations 100 years since Nelson Mandela's birth.
"It is in part because of the failures of governments and powerful elites... that we now see much of the world threatening to return to an older, more dangerous, more brutal way of doing business," Obama said.
On migration, he appeared to take a sharp jab at Trump saying "it is not wrong to insist that national borders matter... but that can't be an excuse for immigration policies based on race or ethnicity or religion."
On climate change, he attacked the entrenched scepticism shown by Trump and others American conservatives in the face of scientific evidence.
"You have to believe in facts, without facts there is no basis for cooperation," he said.
"I can't find common ground if someone says climate change is just not happening when almost all the world's scientists tell us it is.
"If you start (by) saying it is an elaborate hoax... where do we start?
And he drew laughter from the crowd with the line: "Politics today seems to reject the very concept of objective truth - people just make stuff up.
"We see the utter loss of shame among political leaders who are caught in a lie and they just double down and lie some more," he added.
Tuesday's speech came on the eve of "Mandela Day" - his birthday, which is marked around the world every year on July 18.
Obama has made relatively few public appearances since leaving the White House in 2017, but he has often credited Mandela for being one of the great inspirations in his life.
Mandela, who died in 2013, remains a global icon for his long struggle against white-minority apartheid rule and for his message of peace and reconciliation after being freed following 27 years in prison.
Obama met Mandela only briefly in 2005 but gave a eulogy at his funeral saying Mandela "makes me want to be a better man" and hailing him as "the last great liberator of the 20th century".
Both men were the first black presidents of their countries.
African President Cyril Ramaphosa and Mandela's widow Graca Machel were among the guests from Obama's speech - his highest-profile address since leaving office.
"I really appreciate it that Obama spoke out against Trump," 25-year-old management consultant Karabo Tima told AFP after attending the speech.
"We see our brothers and sisters trying to seek a better life in the states, and we know that America was built on the backs of black people and they don't get the recognition."
Before arriving in South Africa, Obama paid a brief visit to Kenya, his father's home country.
Obama will also host a town hall event in Johannesburg on Wednesday for 200 young leaders selected from across Africa to attend a five-day training programme.
Mandela was imprisoned under apartheid rule in 1962 and only freed in 1990, when he went on to lead the African National Congress party to victory in the first multi-race elections in 1994.
- FOLLOW News24 on Twitter