prolog icon indicating copy to clipboard operation
prolog copied to clipboard

Error in installation

Open damjes opened this issue 7 years ago • 6 comments

When I try to install memo, I receive error:

ERROR: Domain error: `path_prefix(memo/)' expected, found `'./._memo''
ERROR: In:
ERROR:   [19] throw(error(domain_error(...,'./._memo'),_2378))
ERROR:   [17] archive:extract(<archive>(00000000075FE7F0),'c:/users/damjes/appdata/roaming/swi-prolog/pack/memo',[remove_prefix('memo/')]) at c:/program files/swipl/library/archive.pl:300
ERROR:   [16] setup_call_catcher_cleanup(archive:archive_open('c:/users/damjes/appdata/roaming/swi-prolog/pack/Downloads/memo-0.5.0.tgz',<archive>(00000000075FE7F0),...),archive:extract(<archive>(00000000075FE7F0),'c:/users/damjes/appdata/roaming/swi-prolog/pack/memo',...),_2456,archive:archive_close(<archive>(00000000075FE7F0))) at c:/program files/swipl/boot/init.pl:436
ERROR:   [12] prolog_pack:pack_install_from_local('c:/users/damjes/appdata/roaming/swi-prolog/pack/Downloads/memo-0.5.0.tgz','c:/users/damjes/appdata/roaming/swi-prolog/pack',memo,[inquiry(true),...|...]) at c:/program files/swipl/library/prolog_pack.pl:690
ERROR:    [7] <user>
ERROR: 
ERROR: Note: some frames are missing due to last-call optimization.
ERROR: Re-run your program in debug mode (:- debug.) to get more detail

This is error in debug mode:

ERROR: Domain error: `path_prefix(memo/)' expected, found `'./._memo''
ERROR: In:
ERROR:   [19] throw(error(domain_error(...,'./._memo'),_55506))
ERROR:   [18] error:domain_error(path_prefix('memo/'),'./._memo') at c:/program files/swipl/library/error.pl:104
ERROR:   [17] archive:extract(<archive>(00000000075FE4D0),'c:/users/damjes/appdata/roaming/swi-prolog/pack/memo',[remove_prefix('memo/')]) at c:/program files/swipl/library/archive.pl:300
ERROR:   [16] setup_call_catcher_cleanup(archive:archive_open('c:/users/damjes/appdata/roaming/swi-prolog/pack/Downloads/memo-0.5.0.tgz',<archive>(00000000075FE4D0),...),archive:extract(<archive>(00000000075FE4D0),'c:/users/damjes/appdata/roaming/swi-prolog/pack/memo',...),_55620,archive:archive_close(<archive>(00000000075FE4D0))) at c:/program files/swipl/boot/init.pl:436
ERROR:   [15] setup_call_cleanup(archive:archive_open('c:/users/damjes/appdata/roaming/swi-prolog/pack/Downloads/memo-0.5.0.tgz',<archive>(00000000075FE4D0),...),archive:extract(<archive>(00000000075FE4D0),'c:/users/damjes/appdata/roaming/swi-prolog/pack/memo',...),archive:archive_close(<archive>(00000000075FE4D0))) at c:/program files/swipl/boot/init.pl:441
ERROR:   [14] archive:archive_extract('c:/users/damjes/appdata/roaming/swi-prolog/pack/Downloads/memo-0.5.0.tgz','c:/users/damjes/appdata/roaming/swi-prolog/pack/memo',[remove_prefix('memo/')]) at c:/program files/swipl/library/archive.pl:295
ERROR:   [13] prolog_pack:pack_unpack('c:/users/damjes/appdata/roaming/swi-prolog/pack/Downloads/memo-0.5.0.tgz','c:/users/damjes/appdata/roaming/swi-prolog/pack/memo',memo,[inquiry(true),...|...]) at c:/program files/swipl/library/prolog_pack.pl:702
ERROR:   [12] prolog_pack:pack_install_from_local('c:/users/damjes/appdata/roaming/swi-prolog/pack/Downloads/memo-0.5.0.tgz','c:/users/damjes/appdata/roaming/swi-prolog/pack',memo,[inquiry(true),...|...]) at c:/program files/swipl/library/prolog_pack.pl:690
ERROR:   [11] prolog_pack:pack_install_from_url(https,'https://raw.githubusercontent.com/samer--/prolog/master/memo/release/memo-0.5.0.tgz','c:/users/damjes/appdata/roaming/swi-prolog/pack',memo,[inquiry(true),...|...]) at c:/program files/swipl/library/prolog_pack.pl:893
ERROR:   [10] prolog_pack:pack_install(memo,'c:/users/damjes/appdata/roaming/swi-prolog/pack',[inquiry(true),...|...]) at c:/program files/swipl/library/prolog_pack.pl:670
ERROR:    [9] prolog_pack:pack_install(memo,[pack(memo),...|...]) at c:/program files/swipl/library/prolog_pack.pl:586
ERROR:    [8] prolog_pack:pack_install(memo) at c:/program files/swipl/library/prolog_pack.pl:432
ERROR:    [7] <user>
   Exception: (18) error:domain_error(path_prefix('memo/'), './._memo') ? abort
% Execution Aborted
[debug]  ?- 

I noticed that when I unzip file manually, then everything works. Also same fix for same error works on Arch GNU/Linux.

damjes avatar Jul 17 '17 15:07 damjes

Hello - sorry to see there's a problem. Only just seen the report and will take a look as soon I can.

samer-- avatar Jul 23 '17 17:07 samer--

I'm not sure what's wrong here - it doesn't look like a problem in the pack file. I've just updated some of my packs on the SWIPL website. I suggest you remove the packs genutils, typedef and memo using

?- maplist(pack_remove, [memo,typedef,genutils]).

and then pack_install(memo). Also, I see that you are using Windows - I've never tried to use the Windows version before. If the problem persists, I suggest you ask on the SWI mailing list to see if any other windows users are able to install this pack.

samer-- avatar Jul 23 '17 19:07 samer--

As I said same problem on GNU/Linux:

matma6@obsidiano ~ % swipl               
Welcome to SWI-Prolog (threaded, 64 bits, version 7.4.2)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.

For online help and background, visit http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- pack_install(memo).
% Contacting server at http://www.swi-prolog.org/pack/query ... ok
Install [email protected] from https://raw.githubusercontent.com/samer--/prolog/master/memo/release/memo-0.6.0.tgz Y/n? 
% Contacting server at http://www.swi-prolog.org/pack/query ... ok
Warning: Package depends on the following:
Warning:   "genutils", provided by [email protected] from https://raw.githubusercontent.com/samer--/prolog/master/genutils/release/genutils-0.3.1.tgz
Warning:   "typedef", provided by [email protected] from https://raw.githubusercontent.com/samer--/prolog/master/typedef/release/typedef-0.1.7.tgz

What do you wish to do
   (1) * Install proposed dependencies
   (2)   Only install requested package
   (3)   Cancel

Your choice? 
% "memo-0.6.0.tgz" was downloaded 2 times
i [email protected]            - General miscellaneous utilities
ERROR: Domain error: `path_prefix(genutils/)' expected, found `'./._genutils''
ERROR: In:
ERROR:   [28] throw(error(domain_error(...,'./._genutils'),_18912))
ERROR:   [26] archive:extract(<archive>(0xfc7680),'/home/matma6/lib/swipl/pack/genutils',[remove_prefix('genutils/')]) at /usr/lib/swipl-7.4.2/library/archive.pl:300
ERROR:   [25] setup_call_catcher_cleanup(archive:archive_open('/home/matma6/lib/swipl/pack/Downloads/genutils-0.3.1.tgz',<archive>(0xfc7680),...),archive:extract(<archive>(0xfc7680),'/home/matma6/lib/swipl/pack/genutils',...),_18990,archive:archive_close(<archive>(0xfc7680))) at /usr/lib/swipl-7.4.2/boot/init.pl:436
ERROR:   [23] archive:archive_extract('/home/matma6/lib/swipl/pack/Downloads/genutils-0.3.1.tgz','/home/matma6/lib/swipl/pack/genutils',[remove_prefix('genutils/')]) at /usr/lib/swipl-7.4.2/library/archive.pl:295
ERROR:   [21] prolog_pack:pack_install_from_local('/home/matma6/lib/swipl/pack/Downloads/genutils-0.3.1.tgz','/home/matma6/lib/swipl/pack',genutils,[info(list),...|...]) at /usr/lib/swipl-7.4.2/library/prolog_pack.pl:690
ERROR:   [17] prolog_pack:install_dependency([inquiry(true),...|...],'<garbage_collected>') at /usr/lib/swipl-7.4.2/library/prolog_pack.pl:1761
ERROR:   [16] apply:maplist_('<garbage_collected>',prolog_pack:install_dependency(...)) at /usr/lib/swipl-7.4.2/library/apply.pl:190
ERROR:   [14] '$apply':forall('<garbage_collected>',prolog_pack:maplist(...,_19260)) at /usr/lib/swipl-7.4.2/boot/apply.pl:51
ERROR:   [11] prolog_pack:pack_install_from_url(https,'https://raw.githubusercontent.com/samer--/prolog/master/memo/release/memo-0.6.0.tgz','/home/matma6/lib/swipl/pack',memo,[inquiry(true),...|...]) at /usr/lib/swipl-7.4.2/library/prolog_pack.pl:890
ERROR:    [7] <user>
ERROR: 
ERROR: Note: some frames are missing due to last-call optimization.
ERROR: Re-run your program in debug mode (:- debug.) to get more detail.
^  Exception: (25) setup_call_catcher_cleanup(archive:archive_open('/home/matma6/lib/swipl/pack/Downloads/genutils-0.3.1.tgz', <archive>(0xfc7680), [remove_prefix('genutils/')]), archive:extract(<archive>(0xfc7680), '/home/matma6/lib/swipl/pack/genutils', [remove_prefix('genutils/')]), _19366, archive:archive_close(<archive>(0xfc7680))) ? abort
% Execution Aborted

damjes avatar Aug 14 '17 13:08 damjes

...but memo now works fine

matma6@obsidiano ~ % cd lib/swipl/pack/Downloads 
matma6@obsidiano ~/lib/swipl/pack/Downloads % ls
arouter-1.1.1.tgz  genutils-0.3.1.tgz  memo-0.5.0.tgz  memo-0.6.0.tgz  simple_template-1.1.0.tgz  typedef-0.1.5.tgz
matma6@obsidiano ~/lib/swipl/pack/Downloads % tar xzf genutils-0.3.1.tgz -C ..         
matma6@obsidiano ~/lib/swipl/pack/Downloads % ls ..                           
arouter  Downloads  genutils  matrix  memo  simple_template
matma6@obsidiano ~/lib/swipl/pack/Downloads %                                 
matma6@obsidiano ~/lib/swipl/pack/Downloads % swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 7.4.2)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.

For online help and background, visit http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- pack_install(memo).
% Contacting server at http://www.swi-prolog.org/pack/query ... ok
Install [email protected] from https://raw.githubusercontent.com/samer--/prolog/master/memo/release/memo-0.6.0.tgz Y/n? 
% Contacting server at http://www.swi-prolog.org/pack/query ... ok
Warning: Package depends on the following:
Warning:   "genutils", provided by installed pack genutils
Warning:   "typedef", provided by [email protected] from https://raw.githubusercontent.com/samer--/prolog/master/typedef/release/typedef-0.1.7.tgz

What do you wish to do
   (1) * Install proposed dependencies
   (2)   Only install requested package
   (3)   Cancel

Your choice? 
% "memo-0.6.0.tgz" was downloaded 2 times
i [email protected]             - Support for type definitions
Package:                memo
Title:                  Persistent memoisation of deterministic predicates
Installed version:      0.6.0
Author:                 Samer Abdallah <[email protected]>
Download URL:           https://raw.githubusercontent.com/samer--/prolog/master/memo/release/memo-0.6.0.tgz
Requires:               typedef, genutils
Install "memo-0.6.0.tgz" (22,850 bytes) Y/n? 
true.

damjes avatar Aug 14 '17 13:08 damjes

After someone else had a similar problem, we traced this to extra files (containing extended attributes) being added to the tarball by the Mac OS X version of tar. I found a way to prevent it doing so, so I will update the pack and let you know.

samer-- avatar Aug 16 '17 08:08 samer--

Ok, that problem should be fixed in latest release. Thanks for reporting it.

samer-- avatar Aug 16 '17 08:08 samer--