comment déboguer les erreurs configure.sh lors de la compilation de rsync sur Yosemite

1

J'essaie de me construire une nouvelle version de rsync 3.1.1 sous Mac OS 10.10.3, le mac étant livré avec une version plus ancienne, et projet ne distribue pas de fichiers binaires.

J'ai suivi ce Un script simple mais ça fait un hoquet sur gcc. (Je ne sais pas pourquoi - même si j'ai supprimé XCode pour économiser de l'espace disque, j'ai les outils de ligne de commande, y compris gcc dans / usr / bin, etc.) J'essaierais de le construire avec clang à la place, mais comment dois-je faire exactement cette?

Voici l'erreur du script:

configure.sh: Configuring rsync 3.1.1
checking build system type... x86_64-apple-darwin14.3.0
checking host system type... x86_64-apple-darwin14.3.0
checking whether to include debugging
symbols... yes
checking for gcc... gcc
checking whether the C compiler works... no
configure.sh: error: in `/Users/laszlosandor/Downloads/rsync-3.1.1':
configure.sh: error: C
compiler cannot create executable
See `config.log' for more details
make: *** No targets specified and no makefile found.  Stop.

Ou encore plus des sections pertinentes de config.log:

gcc: warning: couldn't understand kern.osversion '14.3.0
configure.sh:2893: $? = 0
configure.sh:2882: gcc -v >&5
gcc: warning: couldn't understand kern.osversion '14.3.0
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin12.2.0/4.8.0/lto-wrapper
Target: x86_64-apple-darwin12.2.0
Configured with: ../gcc-4.8-20120930/configure --enable-languages=c++,fortran
Thread model: posix
gcc version 4.8.0 20120930 (experimental) (GCC) 
configure.sh:2893: $? = 0
configure.sh:2882: gcc -V >&5
gcc: warning: couldn't understand kern.osversion '14.3.0
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure.sh:2893: $? = 1
configure.sh:2882: gcc -qversion >&5
gcc: warning: couldn't understand kern.osversion '14.3.0
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure.sh:2893: $? = 1
configure.sh:2913: checking whether the C compiler works
configure.sh:2935: gcc    conftest.c  >&5
gcc: warning: couldn't understand kern.osversion '14.3.0
ld: library not found for -lgcc_ext.10.4
collect2: error: ld returned 1 exit status
configure.sh:2939: $? = 1
configure.sh:2977: result: no
configure.sh: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define RSYNC_VERSION "3.1.1"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure.sh:2982: error: in `/Users/laszlosandor/Downloads/rsync-3.1.1':
configure.sh:2984: error: C compiler cannot create executables
See `config.log' for more details

En passant, je sais que je pourrais me contenter de rester avec Homebrew, mais maintenant je veux apprendre.

László
la source
@ bmike De plus, j'aime bien que vous vous intéressiez aux détails du problème, mais une solution spécifique m'intéressait. Pourquoi ne peux pas demander ça aussi? Je ne vois pas pourquoi clang serait sans importance ici.
László
N'hésitez pas à annuler mon changement de titre si ce n'est pas une aide ou ce que vous recherchez. Le détail de config.log est génial. Dernière question - fait gcc --version spectacle Apple LLVM version 6.1.0 (clang-602.0.49) (basé sur LLVM 3.6.0svn)
bmike
Si vous souhaitez plus d’informations sur le problème, dites-nous ce que vous avez essayé jusqu’à présent. En particulier, comment vous avez supprimé Xcode tout en conservant les outils de ligne de commande. Il ressort des erreurs que vous avez peut-être installé GCC par brassage?
Alistair McMillan
J'ai simplement supprimé Xcode, je pense. Oui, peut-être que gcc est venu avec homebrew. Donc c'est un problème? Et ça n'a aucun sens d'essayer Clang à la place?
László
le gcc qui vient avec Xcode est en fait clang. :) j'essaierais brew uninstall gcc, puis xcode-select --install, Alors essaye ./configure encore. Votre système semble juste être un peu confus en ce moment.
Alistair McMillan

Réponses:

1

Le problème vient de l'installation des outils de développement de lignes de commande sur votre Mac.

Essayez d'installer à nouveau avec la commande suivante. Cela devrait installer les outils de ligne de commande seuls.

 xcode-select --install

Le script teste les outils de ligne de commande pour voir si une version compatible est installée, mais récupère des réponses confuses. C'est pourquoi cela échoue.

Alistair McMillan
la source
Je reçois xcode-select: error: command line tools are already installed, use "Software Update" to install updates
László
Type /usr/bin/gcc -v dans une fenêtre de terminal et laissez-nous savoir ce qu'il dit.
Alistair McMillan
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.3.0 Thread model: posix
László
Cool. Maintenant, essayez juste gcc -v.
Alistair McMillan
Bizarre. gcc: warning: couldn’t understand kern.osversion ‘14.3.0 Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin12.2.0/4.8.0/lto-wrapper Target: x86_64-apple-darwin12.2.0 Configured with: ../gcc-4.8-20120930/configure --enable-languages=c++,fortran Thread model: posix gcc version 4.8.0 20120930 (experimental) (GCC)
László