O compilador não reconhece a arquitetura

0

Estou com problemas para compilar uma biblioteca (XSB Prolog) no Ubuntu.

Estou configurando e compilando com:

sudo ./configure -prefix=/usr/local/lib/
sudo ./makexsb

Depois, preciso executar o seguinte comando para gerar determinadas bibliotecas dinâmicas:

sudo ./makexsb dynmodule

Mas está falhando com a seguinte saída:

make -f ../config/x86_64-unknown-linux-gnu/topMakefile dynmodule

Preparing...
make[1]: Entering directory '/home/parallels/prologengines/XSB/emu'
Making XSB Shared Library /home/parallels/prologengines/XSB/config/x86_64-unknown-linux-gnu/bin/libxsb.so
gcc: error: unrecognized command line option ‘-faltivec’
make[1]: *** [xsbdynmod] Error 1

Tanto quanto eu entendo, a opção -faltivec só faz sentido ao construir em arquiteturas PowerPC. Então pode ser que a arquitetura correta não esteja sendo detectada? Se for esse o caso, como posso ter certeza de que a arquitetura foi detectada corretamente?

    
por Sergio 03.03.2014 / 14:17

1 resposta

1

Observando build/emuMakefile.in , que produz config/x86_64-unknown-linux-gnu/emuMakefile ao executar configure script, o -faltivec sinalizador é codificado na linha 184, portanto não depende da arquitetura de destino, portanto, não é um problema de detecção de arquitetura :

xsbdynmod::
        @echo "Making XSB Shared Library $(bindir)/libxsb.$(SHAREDLIB_EXTENSION)"
        @@LD@ -o libxsb.$(SHAREDLIB_EXTENSION) $(DYNMOD_LDFLAGS)  -faltivec -fPIC $(XSBMOD_LDFLAGS)  $(OBJS) ${ODBCOBJ} ${INTERPROLOGOBJ} -lm
        @cp libxsb.$(SHAREDLIB_EXTENSION) $(bindir) 2>/dev/null || echo ""

Você pode tentar remover o configure / compile novamente, mas você também pode encontrar um erro sugerindo que você recompile com -fPIC para criar um objeto compartilhado. Infelizmente não consigo descobrir onde está faltando…

Na verdade, esses parecem ser erros de seu sistema de compilação, você deve reportá-los upstream, talvez.

    
por 03.03.2014 / 15:46