2009-09-30 7 views
4

J'avais besoin d'aide pour déboguer ma compilation rpm. Chaque fois qu'il rencontre un fichier% ou% build ou% installer directive, il me donne une erreur et je ne suis pas en mesure de comprendre ce que « [rpm] + $ « \ r » » signifieErreur de génération RPM

[rpm] Building the RPM based on the LBR.spec file 
    [rpm] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.2932 
    [rpm] + umask 022 
    [rpm] + cd /home/user.username/workspace/LBR/dist/BUILD 
    [rpm] + LANG=C 
    [rpm] + export LANG 
    [rpm] + unset DISPLAY 
    [rpm] + $'\r' 
    [rpm] /var/tmp/rpm-tmp.2932: line 28: 
    [rpm] : command not founderror: Bad exit status from /var/tmp/rpm-tmp.2932 (%build) 
    [rpm]  Bad exit status from /var/tmp/rpm-tmp.2932 (%build) 
    [rpm] 
    [rpm] 
    [rpm] RPM build errors: 
+1

Veuillez publier les parties appropriées de votre fichier de spécifications. – Joe

Répondre

2

un peu tard ... mais ...

Après la construction échoue, vi/ouvrez le fichier /var/tmp/rpm-tmp.2932 (ou quoi que ce soit pour cette construction) et allez à la ligne 28. Quelle que soit la commande à cette ligne, est ce qui échoue. De cette sortie, c'est probablement "$ '\ r" "qui est bidon et pas une commande ou une déclaration valide ... donc vous avez probablement une faute de frappe ou quelque chose.

Vous avez dit qu'il s'est produit ion% build,% install et% files? Quelle est la commande de construction que vous publiez?

6

Je sais que c'est près de quatre ans, mais pour quelqu'un d'autre qui peut tomber par hasard sur cette page comme si je ne la recherche d'une solution:

J'ai eu ce même problème où un caractère de retour de chariot a été inséré dans le rpmbuild script temp généré automatiquement. La raison pour laquelle cela se produit est que j'ai initialement édité le fichier spec dans un éditeur de texte Windows (qui a inséré les retours chariot), puis SCP les fichiers sur une boîte CentOS, de sorte que le chariot renvoie des erreurs. Si vous refaites le fichier sur l'environnement Linux, cela devrait fonctionner correctement.

Bonne chance!

EDIT: Je suis très nouveau sur Linux, donc je ne savais pas qu'il y avait une commande appelée 'dos2unix' qui va convertir un fichier texte de manière appropriée pour les environnements basés sur Unix. :) J'espère que cela aide quelqu'un d'autre qui se heurte à ce problème.