bugGNU Octave - Bugs: bug #45059, pkg install: no lookfor cache for...

 
 

bug #45059: pkg install: no lookfor cache for binary functions if packages are installed as root

Submitter:  Olaf Till <i7tiol>
Submitted:  Fri 08 May 2015 07:52:19 PM UTC
   
 
Category:  Octave Function Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Confirmed Assigned to:  None
Originator Name:  Open/Closed:  * Open
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 27 Dec 2016 04:28:47 PM UTC, comment #3: 

The issue is still present in Octave 4.2.0, generate_lookfor_cache() is now in scripts/pkg/private/install.m, and apart from this the fix still applies.

Olaf Till <i7tiol>
Group Member
Fri 23 Dec 2016 11:12:38 PM UTC, comment #2: 

Is this issue still present in Octave 4.2.0 ?

(I cannot find the file generate_lookfor_cache.m ...)

Hartmut <hardy>
Sun 31 May 2015 04:39:42 PM UTC, comment #1: 

Confirmed, thanks for noticing. Looks like this has been this way for some time. And since global install is the default on Windows probably affects the MXE Windows build of Octave also.

Mike Miller <mtmiller>
Group Member
Fri 08 May 2015 07:52:19 PM UTC, original submission:  

In package installation, a lookfor cache is generated for binary functions only if the package is installed by a non-root user, not if it's installed system-wide by root.

The reason is that pkg/private/generate_loofor_cache.m generates caches only under directory 'desc.dir', which in the install-as-root case does not contain the directory with the binary functions.

(You can verify the bug by checking that 'doc-cache' is lacking in the directories of binary function of system-wide installed packages.)

Fix:

in pkg/private/generate_loofor_cache.m, after the line:


  dirs = strtrim (ostrsplit (genpath (desc.dir), pathsep ()));

, insert the following:

  if (! strcmp (desc.dir, desc.archprefix))
    adir = fullfile (desc.archprefix, getarch ());
    dirs2 = strtrim (ostrsplit (genpath (adir), pathsep ()));
    dirs = cat (2, dirs, dirs2);
  endif


I don't think that I need to make an own changeset for such a bit, feel free to apply it.

Olaf

Olaf Till <i7tiol>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by hardy (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by i7tiol (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-05-31 mtmiller CategoryNone Octave Function
        StatusNone Confirmed
        Release4.0.0-rc1 dev
        Operating SystemGNU/Linux Any
        Summaryno lookfor cache for binary functions if packages are installed as root pkg install: no lookfor cache for binary functions if packages are installed as root

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code