Décomposons votre message d'erreur :
Impossible de charger /usr/local/apache2/modules /mod_cwmp_22.so dans le serveur :
C'est évident.
ld.so.1 : httpd : fatal : relocation error :
ld.so.1 est le chargeur dynamique d'exécution. Lorsque vous démarrez une application liée dynamiquement (et sous Solaris, TOUT est lié dynamiquement), le chargeur dynamique doit apporter toutes les bibliothèques. Il doit également s'assurer non seulement qu'il dispose de tous les fichiers, mais aussi qu'il lie toutes les références, qu'il s'agisse de code ou de données.
fichier /usr/local/apache2 /modules/mod_cwmp_22.so : symbole curl_easy_init : symbole référencé non trouvé
Maintenant, nous y voilà. Le chargeur dynamique a apporté le module cwmp, qui dépend de curl (libcurl). Il semble avoir trouvé libcurl.so (sinon vous auriez vu une erreur différente) mais il ne peut pas trouver le symbole spécifique. Autrement dit, il sait que le module cwmp a besoin de l'appel de fonction curl_easy_init, mais il ne le trouve pas.
A mon avis, vous avez une erreur de version de libcurl. Le module serveur web a été construit avec une version de libcurl, mais maintenant vous essayez de l'exécuter avec une version différente sur votre machine de développement.
Je vérifierai les versions de libcurl, peut-être en faisant un strings -a
sur libcurl à la fois sur dev et prod, assurez-vous qu'ils correspondent. Il existe d'autres outils comme readelf que vous pouvez utiliser pour les vérifier, mais je pense que vous pouvez copier la libcurl de prod et la placer quelque part dans dev où vous pouvez la voir.