2013-10-11 4 views
0

J'ai essayé de compiler tcc pour ARM en utilisant gcc 4.6.3. mais je suis erreur suivante lors de la compilation dans les deux partagé/mod lib statique:problèmes compilant TCC sur Ubuntu pour le bras

[email protected]:/p/tcc/tcc# make 
gcc -o tcc tcc.o libtcc.so.1.0 -lm -ldl -Wall -g -O2 -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -D_FORTIFY_SOURCE=0 -Wl,-rpath,"/usr/local/lib" libtcc.so.1.0: undefined reference to `vrotb' 
collect2: ld returned 1 exit status 
make: *** [tcc] Error 1 

J'utilise la branche de lastest tcc github

+0

quel référentiel? Il y a tellement de fourchettes ... Aussi, qu'est-ce que 'uname -a'? – keltar

+0

repo: https://github.com/TinyCC/TinyCC et uname -a: Linux localhost 3.0.89-K^Kernel_JB-4.1.2_OC_UV_370MB + # 2 PREEMPT lun. Août 5 00:42:04 CEST 2013 armv7l armv7l armv7l GNU/Linux –

+0

Cela semble correct. Pourriez-vous lancer 'make clean','./Configure' puis 'make' et fournir sa sortie complète? – keltar

Répondre

2

Juste vérifié sur pi framboise (CPU ARMv6). https://github.com/TinyCC/TinyCC référentiel, retiré qualificatif static de la fonction vrotb dans tccgen.c (ligne 945). Il construit et passe 'bonjour monde'. Comme c'est une erreur évidente susceptible d'être introduite par certains changements qu'ils ont oublié d'adapter pour ARM - je suggère d'effectuer d'autres tests pour s'assurer qu'il fonctionne comme prévu. Le rapport de bogue doit être classé - probablement sur github.

0

Je sais que c'est un peu déroutant, mais votre problème est que vous utilisez un mauvais référentiel. Fabrice Bellard ne travaille plus sur TinyCC (voir http://bellard.org/tcc/). Il garde ses dépôts pour des raisons personnelles/historiques. Cependant, tous les développements sont passés à http://repo.or.cz/w/tinycc.git. Pour compliquer davantage les choses, la version 0.9.26 du site web de Fabrice provient en réalité du référentiel http://repo.or.cz/w/tinycc.git, et pas de celui de Fabrice. Mais tout cela n'est qu'une question de communication. En bref, vous devriez utiliser le nouveau dépôt. Sur le site Web du référentiel est un lien vers une liste de diffusion où vous devez signaler tout problème au cas où le nouveau code repo ne compile pas.

+0

Ceci est la réponse. Je suis tellement stupide d'essayer de réparer quelque chose qui n'est pas cassé .. :-) – keltar