Я пытаюсь вызвать компилятор f2c/f77 на Mac OSX, используя инструкции, приведенные http://www.webmo.net/support/fortran_osx.html, и получаю следующую ошибку:

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

помогите пожалуйста, так как при установке он пропускает создание: /usr /local /bin /f2c

install_f2c_osx.csh содержит:

#! /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

2 ответа2

1

Я только что столкнулся с этой проблемой сам (на CentOS 6.5), но мне удалось ее исправить, добавив 'chmod' в скрипт установки в строке 6. Смотрите пересмотренные сценарии ниже. Ниже я включил исправленную версию сценариев установки для Linux и MacOSX (есть небольшие различия).

Я понимаю, что, вероятно, слишком поздно, чтобы помочь оригинальному постеру, но это может помочь другим, кто застрянет. На многих форумах есть люди с такой же проблемой, но ни на одном из них нет решения.

Разочаровывает то, что команда 'xsum' просто проверяет файлы, насколько я вижу, так что это неудачный шаг теста, который делает установку неудачной - ирония.

Если впоследствии вы столкнетесь с ошибками ELF, относящимися к отсутствующим файлам .so, то вам, вероятно, не хватает 32-битных библиотек glibc, и вам нужно установить библиотеки, которые точно соответствуют вашему 64-битному glibc (или установить / обновить обе одновременно) - это было Следующая проблема, которую мне пришлось преодолеть.

Для 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

Для 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
0

для всех, у кого есть проблемы с этим, вы также можете проверить, что двоичный файл xsum может использоваться вашей системой. Перейдите в каталог f2c/src/, затем:

user@computer$ file xsum и сравните с выводом, скажем, user@computer$ file /bin/sh

Они должны быть одинаковыми. Если нет, удалите двоичный файл xsum, поставляемый с f2c, и создайте свой собственный, используя исходный код xsum.c. То есть, отредактируйте скрипт Гриффитса соответствующей части так:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .