2015-03-18 3 views
0

J'ai précédemment fait ce question et j'ai obtenu une lumière au bout du tunnel par la réponse que j'ai reçue. Mais maintenant que j'ai trouvé le problème, je ne le comprends pas. Je n'ai pas de racine priv. Chaque fois que je lance le programme, je reçois une erreur de segmentation et un fichier de base. Quand je l'analyse avec dbx je reçois celibqrencode - La faute de segmentation n'a pas pu lire "qrspec.c"

reading symbolic information ... 

Segmentation fault in QRspec_newFrame at line 546 in file "" ($t1) 
couldn't read "qrspec.c" 

Comment se fait-il ne peut pas trouver qrspec.c si ce fichier a été inclus dans le processus de génération de la lib? (Je n'étais pas impliqué dans ce processus, donc je ne sais pas si ça s'est passé à 100% mais j'ai donné le .tar avec tous les fichiers). Aussi ce fichier appartient à libqrencode.

Compiler:

xlc_r7 -g qrgen.c -lqrencode -L/usr/local/lib -I/usr/local/include 

Je commence à bealive il ne peut pas trouver le fichier parce qu'il ya un lien symbolique .donc manquant sur le dossier/usr/local/lib. Est-ce que ça pourrait être ça? (Seulement .a, .la et .so.3 dedans)

Je pense que mon problème est similaire à ce one mais je ne peux pas réinstaller la lib, sauf si c'est le vrai problème.

Machine: modèle Unix AIX powerpc: IBM, 9117-MMB version xlc: 12.01.0000.0000

Répondre

0

Je trouve le problème ... L'installation du lib généré des problèmes et a causé les liens symboliques d'exister en tant que simple fichier et la bibliothèque n'était pas là ...

C'est le fichier manquant " /usr/local/lib/libqrencode.so.3.4.4 "qui est le code lui-même ... Je regardais les fichiers et je ne l'ai pas remarqué car il y avait un fichier appelé libqrencode.so.3.4 mais ce fichier était supose pour être un lien symbolique vers libqrencode.so.3.4.4 puisque libqrencode.so.3.4.4 n'existait pas, au lieu que le lien symbolique échoue, il créait un fichier vide du même nom ...

1

Je devine que vous devez dire dbx où trouver vos fichiers source

De l'homme dbx -I Répertoire (Majuscules i) Inclut le répertoire spécifié par la variable Répertoire dans la liste des répertoires recherchés pour les fichiers source. La valeur par défaut est de rechercher les fichiers source dans les répertoires suivants: * Le répertoire dans lequel se trouvait le fichier source lors de sa compilation. Ce répertoire est recherché uniquement si le compilateur a placé le chemin source dans l'objet. * Le répertoire actuel. * Le répertoire où se trouve actuellement le programme.