2010-02-23 4 views
2

J'essaye de construire une application pour freebsd qui lie à un objet partagé "share.so" construit sur linux. J'ai aussi des librairies compatibles avec linux freebsd sous/usr/compat/linux/lib. Je suis capable de compiler mon application. Mais tout en liant à "share.so" je reçois beaucoup d'erreurs car share.so (construit sur linux) doit accéder aux bibliothèques sous "/ usr/compat/linux/lib". Est-il possible de dire share.so de regarder dans le répertoire linux compat au lieu de/usr/lib/Linux FreeBSD problème d'objet partagé

/usr/bin/ld: warning: libstdc++.so.6, needed by sharedlib.so, not found (try using -rpath or -rpath-link) 

/usr/bin/ld: warning: libm.so.6, needed by sharedlib.so, not found (try using -rpath or -rpath-link) 

/usr/bin/ld: warning: libgcc_s.so.1, needed by sharedlib.so, not found (try using -rpath or -rpath-link) 

/usr/bin/ld: warning: libpthread.so.0, needed by sharedlib.so, not found (try using -rpath or -rpath-link) 

Ce sont les avertissements que je reçois. Ces versions sont disponibles dans compat/linux/lib où/usr/lib contient des versions inférieures. Ici sharedlib.so est les fichiers .so générés sur linux

+0

S'il vous plaît poster votre commande de l'éditeur de liens (Makefile?) Et toutes les erreurs pertinentes –

+0

Salut Sam, j'ai mis à jour ma question avec les avertissements que je reçois. Nous avons en fait accès à la source de sharedlib donc nous le compilons pour freebsd. Mais j'aimerais quand même savoir si vous avez des idées sur la façon de contourner ce problème. pour lier je donne juste le chemin du sharedLib -L/path/to/sharedlib. J'ai également essayé d'ajouter -L/usr/compat/linux/usr/lib à la commande mais cela n'a pas fonctionné – Kamal

Répondre

2

Vous devez modifier votre loader configuration pour lui demander de chercher dans ce répertoire des bibliothèques.

Questions connexes