Bug 33324

Summary: guile20 fails on: (use-modules (ice-9 readline))
Product: Sisyphus Reporter: gordmisha
Component: guile20Assignee: Yuri N. Sedunov <aris>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aris, imz, mike, obirvalger
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Текст ошибки none

Description gordmisha 2017-04-03 14:04:54 MSK
Created attachment 7028 [details]
Текст ошибки

Установил пакет guile20 в Starterkit p8 cinnamon.
При запуске guile возникает ошибка, она приведена в файле.
Comment 1 Andrey Cherepanov 2017-04-03 16:36:20 MSK
Под root работает, под обычным пользователем выдаёт 

In unknown file:
   ?: 2 [primitive-load-path "ice-9/readline" ...]
In ice-9/readline.scm:
  43: 1 [#<procedure ba18c0 ()>]
In unknown file:
   ?: 0 [load-extension "libguilereadline-v-18" "scm_init_readline"]

При этом 
$ ll /usr/lib64/libguilereadline-v-18.so.18
lrwxrwxrwx 1 root root 31 апр  3 16:32 /usr/lib64/libguilereadline-v-18.so.18 -> libguilereadline-v-18.so.18.0.0
Comment 2 Yuri N. Sedunov 2017-04-03 17:00:43 MSK
Отправил в p8 сизифную версию, которая работает. Проверьте.
[#181254] p8 DONE srpm=guile20-2.0.14-alt0.M80P.1.src.rpm

$ guile20 
GNU Guile 2.0.14
Copyright (C) 1995-2016 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,help
Help Commands [abbrev]:

 ,help [all | GROUP | [-c] COMMAND]
                              [,h] - Show help.
 ,show [TOPIC]                     - Gives information about Guile.
 ,apropos REGEXP              [,a] - Find bindings/modules/packages.
 ,describe OBJ                [,d] - Show description/documentation.

Command Groups:

 ,help all                         - List all commands
 ,help module                      - List module commands
 ,help language                    - List language commands
 ,help compile                     - List compile commands
 ,help profile                     - List profile commands
 ,help debug                       - List debug commands
 ,help inspect                     - List inspect commands
 ,help system                      - List system commands

Type `,help -c COMMAND' to show documentation of a particular command.
scheme@(guile-user)>
Comment 3 Andrey Cherepanov 2017-04-03 17:13:52 MSK
cas@cas ~ $ rpm -q guile20
guile20-2.0.14-alt0.M80P.1
cas@cas ~ $ guile20
Backtrace:
In ice-9/boot-9.scm:
 160: 19 [catch #t #<catch-closure 9865a0> ...]
In unknown file:
   ?: 18 [apply-smob/1 #<catch-closure 9865a0>]
In ice-9/boot-9.scm:
  66: 17 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 16 [eval # #]
In unknown file:
   ?: 15 [primitive-load "/home/cas/.guile"]
In ice-9/eval.scm:
 505: 14 [#<procedure 8634c0 at ice-9/eval.scm:499:4 (exp)> (use-modules #)]
In ice-9/psyntax.scm:
1107: 13 [expand-top-sequence ((use-modules (ice-9 readline))) () ...]
 990: 12 [scan ((use-modules (ice-9 readline))) () ...]
 279: 11 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...]
In ice-9/boot-9.scm:
3622: 10 [process-use-modules (((ice-9 readline)))]
 712: 9 [map #<procedure 927d80 at ice-9/boot-9.scm:3622:25 (mif-args)> ((#))]
3623: 8 [#<procedure 927d80 at ice-9/boot-9.scm:3622:25 (mif-args)> (#)]
2900: 7 [resolve-interface (ice-9 readline) #:select ...]
2825: 6 [#<procedure 8f8660 at ice-9/boot-9.scm:2813:4 (name #:optional autoload version #:key ensure)> # ...]
3101: 5 [try-module-autoload (ice-9 readline) #f]
2412: 4 [save-module-excursion #<procedure b7c7b0 at ice-9/boot-9.scm:3102:17 ()>]
3121: 3 [#<procedure b7c7b0 at ice-9/boot-9.scm:3102:17 ()>]
In unknown file:
   ?: 2 [primitive-load-path "ice-9/readline" ...]
In ice-9/readline.scm:                                                                                                                                                                                                                                                            
  43: 1 [#<procedure ba3980 ()>]                                                                                                                                                                                                                                                  
In unknown file:                                                                                                                                                                                                                                                                  
   ?: 0 [load-extension "libguilereadline-v-18" "scm_init_readline"]                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                  
ERROR: In procedure load-extension:                                                                                                                                                                                                                                               
ERROR: In procedure dynamic-link: file: "libguilereadline-v-18", message: "file not found"                                                                                                                                                                                        
cas@cas ~ $ su -
Password:                                                                                                                                                                                                                                                                         
cas ~ # guile20                                                                                                                                                                                                                                                                   
GNU Guile 2.0.14                                                                                                                                                                                                                                                                  
Copyright (C) 1995-2016 Free Software Foundation, Inc.                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                  
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.                                                                                                                                                                                                              
This program is free software, and you are welcome to redistribute it                                                                                                                                                                                                             
under certain conditions; type `,show c' for details.                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                  
Enter `,help' for help.                                                                                                                                                                                                                                                           
scheme@(guile-user)>
Comment 4 Andrey Cherepanov 2017-04-03 17:22:35 MSK
Наверное, из-за файла
cas@cas ~ $ cat ~/.guile
(use-modules (ice-9 readline))
(activate-readline)

При его удалении всё работает.

Этот файл появился при предыдущем запуске guile18. В man об этом сказано:
FILES
       ~/.guile is a guile script that is executed before any other processing occurs.  For example, the following .guile activates guile's readline interface:

           (use-modules (ice-9 readline))
           (activate-readline)

Предлагается проверить, создаётся ли этот файл по умолчанию.
Comment 5 Yuri N. Sedunov 2017-04-03 17:35:41 MSK
(В ответ на комментарий №4)
> Наверное, из-за файла
> cas@cas ~ $ cat ~/.guile
> (use-modules (ice-9 readline))
> (activate-readline)
> 
> При его удалении всё работает.
> 
> Этот файл появился при предыдущем запуске guile18. В man об этом сказано:
> FILES
>        ~/.guile is a guile script that is executed before any other processing
> occurs.  For example, the following .guile activates guile's readline
> interface:
> 
>            (use-modules (ice-9 readline))
>            (activate-readline)
> 
> Предлагается проверить, создаётся ли этот файл по умолчанию.

guile20 не создает ~/.guile при запуске. Ошметки от предыдущих версий -- забота пользователя.
Comment 6 Andrey Cherepanov 2017-04-03 17:41:14 MSK
Согласен.
Comment 7 Ivan Zakharyaschev 2017-04-03 18:15:13 MSK
В guile20-2.0.14-alt1.x86_64 не хватает символической ссылки:

ln -s libguilereadline-v-18.so.18 /usr/lib64/libguilereadline-v-18.so

После её добавления в guile20 можно без ошибок исполнить:

           (use-modules (ice-9 readline))
           (activate-readline)

В guile18-1.8.7-alt4.x86_64 или guile22-2.2.0-alt1.x86_64 это тоже работает без ошибки сразу из пакета.

Вот такая ситуация:

[user@prodesk0 ~]$ locate libguilereadline
/usr/lib64/libguilereadline-v-17.so
/usr/lib64/libguilereadline-v-17.so.17
/usr/lib64/libguilereadline-v-17.so.17.0.3
/usr/lib64/libguilereadline-v-18.so.18
/usr/lib64/libguilereadline-v-18.so.18.0.0
[user@prodesk0 ~]$ locate libguilereadline | xargs rpm -qf
guile18-1.8.7-alt4.x86_64
guile18-1.8.7-alt4.x86_64
guile18-1.8.7-alt4.x86_64
libguile20-2.0.14-alt1.x86_64
libguile20-2.0.14-alt1.x86_64
[user@prodesk0 ~]$
Comment 8 Yuri N. Sedunov 2017-04-03 18:54:24 MSK
#181278 POSTPONED #1 p8 srpm=guile20-2.0.14-alt1.M80P.1.src.rpm
#181277 AWAITING #1 sisyphus srpm=guile20-2.0.14-alt2.src.rpm
Comment 9 Repository Robot 2017-04-03 19:37:24 MSK
guile20-2.0.14-alt2 -> sisyphus:

* Mon Apr 03 2017 Yuri N. Sedunov <aris@altlinux> 2.0.14-alt2
- moved %_libdir/libguilereadline-v-%gl_ver.so to libguile20 subpackage (ALT #33324)