Установка интерпретатора Схемы STk на Помощнике Ubuntu

Существует реализация для языка программирования Схемы под названием STk. Это - то, используемое в курсах видео информатики, опубликованных Berkley на YouTube. Я хочу иметь его на своей машине также так, чтобы я мог пройти их курсы точно (хотя мне действительно устанавливали Схему MIT/GNU уже), но у них, людей, которые поддерживают интерпретатор Схемы STk, нет версии пакета, что я мог установить использование Кв. - получают утилиту. Так, я перешел к их веб-сайту и загрузил файл STk-4.0.1.tar.gz отсюда. Распакованный это к /usr/local/src (Я изменил владение каталога с помощью команды sudo chown $USER /usr/local/src. Cded в каталог. Распакованный tarball, использующий эту команду tar -xzvf STk-4.0.1.tar.gz. Cded в недавно созданный каталог. И теперь я пытаюсь создать приложение путем запущения настраивать скрипта:

$ ./configure
creating cache ./config.cache
checking for ranlib... ranlib
Using 'gcc' compiler
Using '-O2' compilation options
Assumming OS is LINUX
checking for gcc... gcc
checking whether the C compiler (gcc   ) works... yes
checking whether the C compiler (gcc   ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for POSIXized ISC... no
checking how to run the C preprocessor... gcc -E
checking for X... libraries , headers 
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking fd_set and sys/select... yes
Multiple precision library: libgmp
Hash tables support: yes
Posix support: yes
STklos support: yes
Socket support: yes
Regexp support: yes
Process support: yes
Html support: yes
Base64 support: yes
Locale support: yes
Pixmap Images support: yes
JPEG Images support: yes
Determining options for dynamic loading for LINUX
     Linux: no dynamic loading method chosen

not updating unwritable cache ./config.cache
creating ./config.status
creating Makefile
creating Utils/STk.spec
**** Configuring Src directory
creating cache ./config.cache
checking how to run the C preprocessor... gcc -E
checking for unistd.h... yes
checking for limits.h... yes
checking for sigaction... yes
checking for select... yes
checking for dlopen in -ldl... yes
checking for socket in -lsocket... no
checking for t_accept in -lnsl... no
checking for ANSI C header files... yes
checking for pid_t... yes
checking fd_set and sys/select... yes
not updating unwritable cache ./config.cache
creating ./config.status
creating Makefile
**** Configuring Extensions directory
creating cache ./config.cache
checking how to run the C preprocessor... gcc -E
checking for unistd.h... yes
checking for limits.h... yes
checking for sigaction... yes
not updating unwritable cache ./config.cache
creating ./config.status
creating Makefile
creating stk-genmake
**** Configuring Stack directory
creating cache ./config.cache
checking for gcc... gcc
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for ranlib... ranlib
ln: failed to create symbolic link 'libstack.c': File exists
Stack library configuration
         Machine type:  UNKNOWN_ARCH
    Low level support: 
not updating unwritable cache ./config.cache
creating ./config.status
creating libstack.h
creating Makefile
**** Configuring Tcl directory
creating cache ./config.cache
checking for ranlib... ranlib
checking whether cross-compiling... no
checking for getcwd... yes
checking for opendir... yes
checking for strerror... yes
checking for strstr... yes
checking for strtol... yes
checking for tmpnam... yes
checking for waitpid... yes
checking for strerror... (cached) yes
checking for getwd... yes
checking for wait3... yes
checking for uname... yes
checking for sin... no
checking for -lieee... yes
checking dirent.h... yes
checking how to run the C preprocessor... gcc -E
checking for errno.h... yes
checking for float.h... yes
checking for limits.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for sys/wait.h... yes
checking for unistd.h... yes
checking fd_set and sys/select... yes
checking for sys/time.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for tm_zone in struct tm... yes
checking tm_tzadj in struct tm... no
checking tm_gmtoff in struct tm... yes
checking timezone variable... yes
checking proper strstr implementation... yes
checking for strtoul... yes
checking for strtod... yes
checking for strtod... (cached) yes
checking for Solaris strtod bug... ok
checking for ANSI C header files... yes
checking for mode_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for opendir... (cached) yes
checking sys_errlist... yes
checking union wait... yes
checking matherr support... yes
checking for vfork... yes
checking vfork/signal bug... ok
checking for strncasecmp... yes
checking for BSDgettimeofday... no
checking for gettimeofday... yes
checking for gettimeofday declaration... present
checking for -linet... no
checking for net/errno.h... no
checking for connect... yes
checking for gethostbyname... yes
checking system version (for dynamic loading)... ./configure: 1: ./configure: Syntax error: Unterminated quoted string
**** Configuring Tk directory
creating cache ./config.cache
checking for ranlib... ranlib
checking how to run the C preprocessor... gcc -E
checking for unistd.h... yes
checking for limits.h... yes
checking stdlib.h... yes
checking fd_set and sys/select... yes
checking whether cross-compiling... no
checking for ANSI C header files... yes
checking for mode_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for sys/time.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking for X... libraries , headers 
checking for X11 header files... checking for -lXbsd... no
checking for connect... yes
checking for gethostbyname... yes
checking for sin... no
checking for -lieee... yes
checking for memmove... yes
checking whether char is unsigned... no
checking for strtod... yes
checking for Solaris 2.4 strtod bug... ok
updating cache ./config.cache
creating ./config.status
creating Makefile


SUMMARY
*******
   Your system is  LINUX
   C compiler is: gcc
   Compilation options: -O2
   Dynamic loading enabled: no
   X11 libraries directory:
   X11 headers directory:

   You have chosen the following options
        Multiple precision library:      libgmp
        Hash tables support:             yes
        Posix support:                   yes
        STklos support:                  yes
        Socket support:                  yes
        Regexp support:                  yes
        Process support:                 yes
        Html support:                    yes
        Pixmap Images support:           yes
        Jpeg Images support:             yes
        Base64 support:                  yes
        Locale support:                  yes

If this is correct, you can just type 'make' now at your shell prompt.
Otherwise, rerun configure with proper options (see the README file for
a description of STk configure options.)

Теперь, я должен использовать сделать утилиту для компиляции приложения, но я не могу. Это - ошибка, которую я получаю:

$ make
make Tcl
make[1]: Entering directory '/usr/local/src/STk-4.0.1/Tcl'
make[1]: *** No rule to make target 'unix'.  Stop.
make[1]: Leaving directory '/usr/local/src/STk-4.0.1/Tcl'
Makefile:81: recipe for target 'tcl-dir' failed
make: *** [tcl-dir] Error 2

Я, вероятно, делаю что-то не так.

2
задан 17 October 2016 в 21:27

2 ответа

Я подозреваю, что ошибка возникает, потому что Вы вызываете, делают как пользователь, а не "корень" путем вызова sudo. Это, вероятно, пытается установить двоичный файл в /usr/local/bin, но не может, так как Вы вызываете его как обычный пользователь, а не корень суперпользователя.

Вызывают, пробиваются после вызова ./configure:

sudo make

BTW Вам не было нужно к показанному /usr/local/src, Вы, возможно, или вызвали./настраивать из Вашего корневого каталога /home/user/ как сами, загрузив источник tarball в Ваш корневой каталог и только вызвали, делают, как корень с sudo делает. Если Вы хотите загрузить в /usr/local/src, затем делают так как sudo.

1
ответ дан 2 December 2019 в 04:52

У меня была та же проблема, но теперь она решена для меня. Как вы видите, есть синтаксическая ошибка в сценарии configure

Checking system version (for dynamic loading)... ./configure: 1: ./configure: Syntax error: Unterminated quoted string

прямо над разделом Настройка каталога Tk в выходных данных configure .

Итак, в файле Tcl / configure есть знак нечетной кавычки, в строке 3222

system=MP-RAS-`awk '{print $3}' /etc/.relid'`

Просто установите его на

system=MP-RAS-`awk '{print $3} /etc/.relid'`

save и вернитесь в основную папку. Запустите ./ configure еще раз. Убедитесь, что строка создания файла Makefile представлена ​​в конце раздела Настройка каталога Tcl .

Послесловие Я запустил make , но stk не был установлен. sudo make install мне тогда помогло. Так что, возможно, если вы запустите sudo make после этапа настройки, у вас все получится.

2
ответ дан 31 January 2020 в 09:17

Другие вопросы по тегам:

Похожие вопросы: