./xsum: permissão negada make: *** [xsum.out] Erro 126

0

Estou tentando inserir o compilador f2c / f77 no mac osx usando as instruções fornecidas pelo link e recebo o seguinte erro:

./xsum: Permission denied 
make: *** [xsum.out] Error 126

por favor ajude, como na instalação falta criar: / usr / local / bin / f2c

o arquivo install_f2c_osx.csh contém:

#! /bin/csh

#! /bin/csh setenv INSTALL /usr/local curl "http://netlib.sandia.gov/cgi-bin/netlib/netlibfiles.tar?filename=netlib/f2c" -o "f2c.tar" tar -xvf f2c.tar gunzip -rf f2c/* cd f2c mkdir libf2c mv libf2c.zip libf2c cd libf2c unzip libf2c.zip cp makefile.u Makefile make cp f2c.h $INSTALL/include cp libf2c.a $INSTALL/lib cd ../src cp makefile.u Makefile make cp f2c $INSTALL/bin cd .. mkdir -p $INSTALL/share/man/man1 cp f2c.1t $INSTALL/share/man/man1 cp fc $INSTALL/bin/f77 chmod +x $INSTALL/bin/f77 cd .. rm -rf f2c echo "==================SUMMARY==================" echo $0 " has built and installed:" find $INSTALL -name '*f2c*' -mmin -5 find $INSTALL -name '*f77*' -mmin -5

    
por user2721585 24.06.2014 / 18:32

2 respostas

1

Acabei de me deparar com este problema (no CentOS 6.5), mas consegui corrigi-lo adicionando um 'chmod' no script de instalação na linha 6. Veja os scripts revisados abaixo. Eu incluí a versão corrigida dos scripts de instalação do Linux e MacOSX abaixo (existem pequenas diferenças).

Eu percebo que provavelmente é tarde demais para ajudar o pôster original, mas isso pode ajudar outras pessoas que ficam presas. Muitos fóruns têm pessoas com esse mesmo problema, mas nenhum tem uma solução.

O mais decepcionante é que o comando 'xsum' está apenas verificando os arquivos até onde eu posso ver - então é uma etapa de teste quebrada que faz a instalação falhar - irônico.

Se você encontrar erros ELF subseqüentemente referentes a arquivos .so ausentes, provavelmente estará faltando as bibliotecas 'glibc' de 32 bits e precisará instalar aquelas que correspondem exatamente ao seu 'glibc' de 64 bits (ou instalar / atualizar as duas ao mesmo tempo) - essa foi a próxima edição que tive que superar.

Para instalações do Linux:

#! /bin/csh
setenv INSTALL /usr/local
curl "http://netlib.sandia.gov/cgi-bin/netlib/netlibfiles.tar?filename=netlib/f2c" -o "f2c.tar"
tar -xvf f2c.tar
gunzip -rf f2c/*
chmod a+x f2c/src/xsum    # ADDED chmod for 'xsum' execution permissions.
cd f2c
mkdir libf2c
mv libf2c.zip libf2c
cd libf2c
unzip libf2c.zip
cp makefile.u Makefile
make
cp f2c.h $INSTALL/include
cp libf2c.a $INSTALL/lib
cd ../src
cp makefile.u Makefile
make
cp f2c $INSTALL/bin
cd ..
mkdir -p $INSTALL/share/man/man1
cp f2c.1t $INSTALL/share/man/man1
cp fc $INSTALL/bin/f77
chmod +x $INSTALL/bin/f77
cd ..
rm -rf f2c
echo "==================SUMMARY=================="
echo $0 " has built and installed:"
find $INSTALL -name '*f2c*' -mmin -5
find $INSTALL -name '*f77*' -mmin -5

Para instalações do MacOSX:

#! /bin/csh
setenv INSTALL /usr/local
curl "http://netlib.sandia.gov/cgi-bin/netlib/netlibfiles.tar?filename=netlib/f2c" -o "f2c.tar"
tar -xvf f2c.tar
gunzip -rf f2c/*
chmod a+x f2c/src/xsum    # ADDED chmod for 'xsum' execution permissions.
cd f2c
mkdir libf2c
mv libf2c.zip libf2c
cd libf2c
unzip libf2c.zip
cp makefile.u Makefile
make
cp f2c.h $INSTALL/include
cp libf2c.a $INSTALL/lib
cd ../src
cp makefile.u Makefile
make
cp f2c $INSTALL/bin
cd ..
mkdir -p $INSTALL/share/man/man1
cp f2c.1t $INSTALL/share/man/man1
cp fc $INSTALL/bin/f77
chmod +x $INSTALL/bin/f77
cd ..
rm -rf f2c
echo "==================SUMMARY=================="
echo $0 " has built and installed:"
find $INSTALL -name '*f2c*' -mmin -5
find $INSTALL -name '*f77*' -mmin -5
    
por 16.12.2014 / 07:18
0

para qualquer outra pessoa que tenha um problema com isso, você também pode verificar se o binário xsum é utilizável pelo seu sistema. Entre no diretório f2c / src / e, em seguida:

user@computer$ file xsum e compare com a saída de, digamos, user@computer$ file /bin/sh

Eles devem ser o mesmo. Se não, exclua o binário xsum que veio com f2c e construa seu próprio usando a fonte xsum.c. Ou seja, edite a parte relevante do roteiro de Griffiths:

<------snip--------> cd ../src cp makefile.u Makefile rm xsum cc -O xsum.c -o xsum chmod +x xsum make cp f2c $INSTALL/bin <------snip----->

    
por 25.06.2015 / 16:56