error when installing io package

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

error when installing io package

John W. Eaton
Administrator
I noticed an error from movefile when installing the io package on
windows saying that there were no files to move.  Can anyone else
confirm this problem, or is it just me?  All I did was

   pkg install -noauto -verbose io-2.2.6.tar.gz

and the installation fails with the movefile "no files to move" error.

Should this problem be fixed in pkg by avoiding the call to movefile if
there are no files to move, or should movefile simply issue a warning if
there are no files to move and return success?

jwe

Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

John W. Eaton
Administrator
On 01/14/2015 12:22 PM, John W. Eaton wrote:

> I noticed an error from movefile when installing the io package on
> windows saying that there were no files to move.  Can anyone else
> confirm this problem, or is it just me?  All I did was
>
>    pkg install -noauto -verbose io-2.2.6.tar.gz
>
> and the installation fails with the movefile "no files to move" error.
>
> Should this problem be fixed in pkg by avoiding the call to movefile if
> there are no files to move, or should movefile simply issue a warning if
> there are no files to move and return success?

After looking at this some more, it seems like the error is coming from
the post_install.m file in the io package.  That script seems to be
trying to move the PKG_ADD and PKG_DEL files after they are installed,
but the files are not where the post_install script expects to find
them.  Is this just a bug in the post_install script, or did pkg change
at some point and break the post_install script for this package?

jwe


Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

Philip Nienhuis
John W. Eaton wrote
On 01/14/2015 12:22 PM, John W. Eaton wrote:
> I noticed an error from movefile when installing the io package on
> windows saying that there were no files to move.  Can anyone else
> confirm this problem, or is it just me?  All I did was
>
>    pkg install -noauto -verbose io-2.2.6.tar.gz
>
> and the installation fails with the movefile "no files to move" error.
>
> Should this problem be fixed in pkg by avoiding the call to movefile if
> there are no files to move, or should movefile simply issue a warning if
> there are no files to move and return success?

After looking at this some more, it seems like the error is coming from
the post_install.m file in the io package.  That script seems to be
trying to move the PKG_ADD and PKG_DEL files after they are installed,
but the files are not where the post_install script expects to find
them.  Is this just a bug in the post_install script, or did pkg change
at some point and break the post_install script for this package?
I cannot reproduce those messages / errors.

I just installed io-226 on both Linux and Win7:

Linux:
=====
>> pkg install -verbose -noauto io-2.2.6.tar.gz
mkdir (/tmp/oct-0k96pT)
untar (io-2.2.6.tar.gz, /tmp/oct-0k96pT)
make: Entering directory '/tmp/oct-0k96pT/io/src'
mkoctfile csvexplode.cc
mkoctfile csv2cell.cc
mkoctfile csvconcat.cc
mkoctfile cell2csv.cc
mkoctfile -c xmlread.cc
mkoctfile -c xmltree_read.c
mkoctfile -c xmltree.c
mkoctfile xmlread.o xmltree_read.o xmltree.o
mkoctfile col2num.cc
mkoctfile num2col.cc
make: Leaving directory '/tmp/oct-0k96pT/io/src'
copyfile /tmp/oct-0k96pT/io/src/cell2csv.oct /tmp/oct-0k96pT/io/src/col2num.oct /tmp/oct-0k96pT/io/src/csv2cell.oct /tmp/oct-0k96pT/io/src/csvconcat.oct /tmp/oct-0k96pT/io/src/csvexplode.oct /tmp/oct-0k96pT/io/src/num2col.oct /tmp/oct-0k96pT/io/src/xmlread.oct /tmp/oct-0k96pT/io/inst/x86_64-unknown-linux-gnu-api-v49+
For information about changes from previous versions of the io package, run'news io'.
>>

Windows 7:
=========
>> pkg install -verbose -noauto io-2.2.6.tar.gz
warning: creating installation directory C:\Programs\Octave\octave64-3.9.0+-4.1.0+\share\octave\packages
warning: called from
    install at line 30 column 5
    pkg at line 394 column 9
mkdir (C:\Users\philip\AppData\Local\Temp\oct-2)
untar (io-2.2.6.tar.gz, C:\Users\philip\AppData\Local\Temp\oct-2)
make: Entering directory `/tmp/oct-2/io/src'
mkoctfile csvexplode.cc
mkoctfile csv2cell.cc
mkoctfile csvconcat.cc
mkoctfile cell2csv.cc
mkoctfile -c xmlread.cc
mkoctfile -c xmltree_read.c
mkoctfile -c xmltree.c
mkoctfile xmlread.o xmltree_read.o xmltree.o
mkoctfile col2num.cc
mkoctfile num2col.cc
make: Leaving directory `/tmp/oct-2/io/src'
copyfile C:\Users\philip\AppData\Local\Temp\oct-2\io\src\cell2csv.oct C:\Users\philip\AppData\Local\Temp\oct-2\io\src\col2num.oct C:\Users\philip\AppData\Local\Temp\oct-2\io\src\csv2cell.oct C:\Users\philip\AppData\Local\Temp\oct-2\io\src\csvconcat.oct C:\Users\philip\AppData\Local\Temp\oct-2\io\src\csvexplode.oct C:\Users\philip\AppData\Local\Temp\oct-2\io\src\num2col.oct C:\Users\philip\AppData\Local\Temp\oct-2\io\src\xmlread.oct C:\Users\philip\AppData\Local\Temp\oct-2\io\inst\x86_64-w64-mingw32-api-v49+


For information about changes from previous versions of the io package, run 'news io'.
>>


That said, I vagely remember having read about this error message a while back but IIRC it wasn't for the io package. Again IIRC, it had something to do with permissions.
Could it be that the io package had been used just before you installed it,so that the binary functions had been locked by the OS? That is an issue I sometimes encounter, even after "pkg unload".

BTW the reason that PKG_ADD is moved by post_install.m is to avoid io package functions being invoked before the io package (esp. the m-file subdir) was fully loaded / added to the load path. This is outlined in detail in the comments of post_install.m itself.

Philip
Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

John W. Eaton
Administrator
On 01/14/2015 02:25 PM, Philip Nienhuis wrote:

> That said, I vagely remember having read about this error message a while
> back but IIRC it wasn't for the io package. Again IIRC, it had something to
> do with permissions.
> Could it be that the io package had been used just before you installed
> it,so that the binary functions had been locked by the OS? That is an issue
> I sometimes encounter, even after "pkg unload".

I can check again tomorrow, but I don't think I used any io package
functions.  I was trying to do an initial install of the io package just
after installing a 4.1.0+ binary from the mxe-octave generated installer.

> BTW the reason that PKG_ADD is moved by post_install.m is to avoid io
> package functions being invoked before the io package (esp. the m-file
> subdir) was fully loaded / added to the load path. This is outlined in
> detail in the comments of post_install.m itself.

How can chk_spreadsheet_support be executed while still loading
directories?  Can you provide a test case that demonstrates that
problem?  It seems to me that if that is possible, then something else
is wrong with the way PKG_ADD files are handled and we should look for a
solution that problem instead of moving PKG_ADD files around in
post_install scripts.

jwe




Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

Julien Bect
Le 15/01/2015 01:13, John W. Eaton a écrit :
> something else is wrong with the way PKG_ADD files are handled and we
> should look for a solution that problem instead of moving PKG_ADD
> files around in post_install scripts.

Another example of a package that moves PKG_ADD and PKG_DEL in
post_install.m (although for a different reason):

http://octave.sourceforge.net/stk/index.html

http://sourceforge.net/p/kriging/hg/ci/default/tree/admin/octpkg/post_install.m

Reply | Threaded
Open this post in threaded view
|

RE: error when installing io package

John Donoghue-3
In reply to this post by John W. Eaton
>
> Message: 1
> Date: Wed, 14 Jan 2015 12:22:10 -0600
> From: "John W. Eaton" <[hidden email]>
> To: octave maintainers mailing list <[hidden email]>
> Subject: error when installing io package
> Message-ID: <[hidden email]>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> I noticed an error from movefile when installing the io package on windows
> saying that there were no files to move.  Can anyone else confirm this
problem,
> or is it just me?  All I did was
>
>    pkg install -noauto -verbose io-2.2.6.tar.gz
>
> and the installation fails with the movefile "no files to move" error.
>
> Should this problem be fixed in pkg by avoiding the call to movefile if
there are
> no files to move, or should movefile simply issue a warning if there are
no files
> to move and return success?
>
> jwe
>

I see it on my 4.1.0+

>> pkg install -forge -noauto -verbose io
mkdir (C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
untar (C:\Octave\Octave-4.1.0+\src\io-2.2.6.tar.gz,
C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
movefile: no files to move
error: called from 'movefile' in file
C:\Octave\Octave-4.1.0+\share\octave\4.1.0+\m\miscellaneous\movefile.m near
line 92,
 column 5
>>


Reply | Threaded
Open this post in threaded view
|

RE: error when installing io package

John Donoghue-3


> -----Original Message-----
> From: JohnD [mailto:[hidden email]]
> Sent: Thursday, January 15, 2015 9:33 AM
> To: [hidden email]; [hidden email]; 'Philip Nienhuis'
> Subject: RE: error when installing io package
>
> >
> > Message: 1
> > Date: Wed, 14 Jan 2015 12:22:10 -0600
> > From: "John W. Eaton" <[hidden email]>
> > To: octave maintainers mailing list <[hidden email]>
> > Subject: error when installing io package
> > Message-ID: <[hidden email]>
> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> >
> > I noticed an error from movefile when installing the io package on
> > windows saying that there were no files to move.  Can anyone else
> > confirm this
> problem,
> > or is it just me?  All I did was
> >
> >    pkg install -noauto -verbose io-2.2.6.tar.gz
> >
> > and the installation fails with the movefile "no files to move" error.
> >
> > Should this problem be fixed in pkg by avoiding the call to movefile
> > if
> there are
> > no files to move, or should movefile simply issue a warning if there
> > are
> no files
> > to move and return success?
> >
> > jwe
> >
>
> I see it on my 4.1.0+
>
> >> pkg install -forge -noauto -verbose io
> mkdir (C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
> untar (C:\Octave\Octave-4.1.0+\src\io-2.2.6.tar.gz,
> C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
> movefile: no files to move
> error: called from 'movefile' in file
> C:\Octave\Octave-4.1.0+\share\octave\4.1.0+\m\miscellaneous\movefile.m
> near line 92,  column 5
> >>

It doesn't do it in 3.8.2


Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

Carnë Draug
In reply to this post by John W. Eaton
On 15 January 2015 at 00:13, John W. Eaton <[hidden email]> wrote:

> On 01/14/2015 02:25 PM, Philip Nienhuis wrote:
>> BTW the reason that PKG_ADD is moved by post_install.m is to avoid io
>> package functions being invoked before the io package (esp. the m-file
>> subdir) was fully loaded / added to the load path. This is outlined in
>> detail in the comments of post_install.m itself.
>
> How can chk_spreadsheet_support be executed while still loading directories?
> Can you provide a test case that demonstrates that problem?  It seems to me
> that if that is possible, then something else is wrong with the way PKG_ADD
> files are handled and we should look for a solution that problem instead of
> moving PKG_ADD files around in post_install scripts.
>

Because the same PKG_ADD file is added to both the oct and m files directory.
Since chk_spreadsheet_support is only on the directory with m files, if the
directory of oct files is added to the path, it won't find
chk_spreadsheet_support.

This used to be the problem, I'm not sure if still is.

Carnë

Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

John W. Eaton
Administrator
On 01/15/2015 09:40 AM, Carnë Draug wrote:

> Because the same PKG_ADD file is added to both the oct and m files directory.
> Since chk_spreadsheet_support is only on the directory with m files, if the
> directory of oct files is added to the path, it won't find
> chk_spreadsheet_support.
>
> This used to be the problem, I'm not sure if still is.

The reason we separate the .oct files and the .m files is to conform to
guidelines like the Linux filesystem standards, which prefer to separate
architecture independent and dependent files.  But since we have
packages that mix both types of files, maybe we need a way to say "add
this set of directories to the load path as a group" instead of adding
them individually?  Either that, or the PKG_ADD and PKG_DEL files should
ensure that any corresponding dependent directories are added before the
remainder of the PKG_ADD or PKG_DEL file is executed?

jwe



Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

Carnë Draug
On 15 January 2015 at 17:02, John W. Eaton <[hidden email]> wrote:

> On 01/15/2015 09:40 AM, Carnë Draug wrote:
>
>> Because the same PKG_ADD file is added to both the oct and m files
>> directory.
>> Since chk_spreadsheet_support is only on the directory with m files, if
>> the
>> directory of oct files is added to the path, it won't find
>> chk_spreadsheet_support.
>>
>> This used to be the problem, I'm not sure if still is.
>
>
> The reason we separate the .oct files and the .m files is to conform to
> guidelines like the Linux filesystem standards, which prefer to separate
> architecture independent and dependent files.  But since we have packages
> that mix both types of files, maybe we need a way to say "add this set of
> directories to the load path as a group" instead of adding them
> individually?  Either that, or the PKG_ADD and PKG_DEL files should ensure
> that any corresponding dependent directories are added before the remainder
> of the PKG_ADD or PKG_DEL file is executed?

I understand why the different directories for the two types of files, I
don't think the problem lies there.  Another solution could be to allow two
different PKG_ADD packages per package, one for oct files and another for
m files (but then what happens when the each directory is dependent on the
other?).

Carnë

Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

John W. Eaton
Administrator
In reply to this post by John Donoghue-3
On 01/15/2015 08:49 AM, JohnD wrote:

>
>
>> -----Original Message-----
>> From: JohnD [mailto:[hidden email]]
>> Sent: Thursday, January 15, 2015 9:33 AM
>> To: [hidden email]; [hidden email]; 'Philip Nienhuis'
>> Subject: RE: error when installing io package
>>
>>>
>>> Message: 1
>>> Date: Wed, 14 Jan 2015 12:22:10 -0600
>>> From: "John W. Eaton" <[hidden email]>
>>> To: octave maintainers mailing list <[hidden email]>
>>> Subject: error when installing io package
>>> Message-ID: <[hidden email]>
>>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>>
>>> I noticed an error from movefile when installing the io package on
>>> windows saying that there were no files to move.  Can anyone else
>>> confirm this
>> problem,
>>> or is it just me?  All I did was
>>>
>>>     pkg install -noauto -verbose io-2.2.6.tar.gz
>>>
>>> and the installation fails with the movefile "no files to move" error.
>>>
>>> Should this problem be fixed in pkg by avoiding the call to movefile
>>> if
>> there are
>>> no files to move, or should movefile simply issue a warning if there
>>> are
>> no files
>>> to move and return success?
>>>
>>> jwe
>>>
>>
>> I see it on my 4.1.0+
>>
>>>> pkg install -forge -noauto -verbose io
>> mkdir (C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
>> untar (C:\Octave\Octave-4.1.0+\src\io-2.2.6.tar.gz,
>> C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
>> movefile: no files to move
>> error: called from 'movefile' in file
>> C:\Octave\Octave-4.1.0+\share\octave\4.1.0+\m\miscellaneous\movefile.m
>> near line 92,  column 5
>>>>
>
> It doesn't do it in 3.8.2

Any idea what changed?  Is it the assumption of what directory the
PKG_??? file will be installed in?  The post_install script uses

   files = cstrcat (desc.archprefix, filesep, octave_config_info
("canonical_host_type"),
                   "-", octave_config_info ("api_version"), filesep,
"PKG_???");

Is that no longer the valid location of the PKG_??? files?  If we just
want a quick fix for this problem with 4.1.0+, is there a better way
to specify the location of these files?

It also seems to me that using fullfile would be better than
concatenating with filesep, but that's a separate issue.

jwe



Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

John W. Eaton
Administrator
In reply to this post by Carnë Draug
On 01/15/2015 11:07 AM, Carnë Draug wrote:

> I understand why the different directories for the two types of files, I
> don't think the problem lies there.  Another solution could be to allow two
> different PKG_ADD packages per package, one for oct files and another for
> m files (but then what happens when the each directory is dependent on the
> other?).

Couldn't the PKG_ADD file check to see whether the dependent directory
is in the load path (or functions that it will call are available) and
it not add the dependent directory before proceeding?

Or, is it possible to just do all of the real work in one PKG_ADD file
and the other would just load the dependent directory if needed?  That
might meed custom creation of the PKG_ADD files instead of generating
from PKG_ADD directives in the sources as I think we do now.  Or it
might require some modification of the current scheme of generating them.

jwe



Reply | Threaded
Open this post in threaded view
|

RE: error when installing io package

John Donoghue-3
In reply to this post by John W. Eaton


> -----Original Message-----
> From: John W. Eaton [mailto:[hidden email]]
> Sent: Thursday, January 15, 2015 12:09 PM
> To: JohnD; [hidden email]; 'Philip Nienhuis'
> Subject: Re: error when installing io package
>
> On 01/15/2015 08:49 AM, JohnD wrote:
> >
> >
> >> -----Original Message-----
> >> From: JohnD [mailto:[hidden email]]
> >> Sent: Thursday, January 15, 2015 9:33 AM
> >> To: [hidden email]; [hidden email]; 'Philip Nienhuis'
> >> Subject: RE: error when installing io package
> >>
> >>>
> >>> Message: 1
> >>> Date: Wed, 14 Jan 2015 12:22:10 -0600
> >>> From: "John W. Eaton" <[hidden email]>
> >>> To: octave maintainers mailing list <[hidden email]>
> >>> Subject: error when installing io package
> >>> Message-ID: <[hidden email]>
> >>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> >>>
> >>> I noticed an error from movefile when installing the io package on
> >>> windows saying that there were no files to move.  Can anyone else
> >>> confirm this
> >> problem,
> >>> or is it just me?  All I did was
> >>>
> >>>     pkg install -noauto -verbose io-2.2.6.tar.gz
> >>>
> >>> and the installation fails with the movefile "no files to move" error.
> >>>
> >>> Should this problem be fixed in pkg by avoiding the call to movefile
> >>> if
> >> there are
> >>> no files to move, or should movefile simply issue a warning if there
> >>> are
> >> no files
> >>> to move and return success?
> >>>
> >>> jwe
> >>>
> >>
> >> I see it on my 4.1.0+
> >>
> >>>> pkg install -forge -noauto -verbose io
> >> mkdir (C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
> >> untar (C:\Octave\Octave-4.1.0+\src\io-2.2.6.tar.gz,
> >> C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
> >> movefile: no files to move
> >> error: called from 'movefile' in file
> >> C:\Octave\Octave-4.1.0+\share\octave\4.1.0+\m\miscellaneous\movefile.
> >> m
> >> near line 92,  column 5
> >>>>
> >
> > It doesn't do it in 3.8.2
>
> Any idea what changed?  Is it the assumption of what directory the PKG_???
file
> will be installed in?  The post_install script uses
>
>    files = cstrcat (desc.archprefix, filesep, octave_config_info
> ("canonical_host_type"),
>                    "-", octave_config_info ("api_version"), filesep,
"PKG_???");
>
> Is that no longer the valid location of the PKG_??? files?  If we just
want a quick
> fix for this problem with 4.1.0+, is there a better way to specify the
location of
> these files?
>
> It also seems to me that using fullfile would be better than concatenating
with
> filesep, but that's a separate issue.
>
> jwe
>

On 3.8.2 it compiled the octfile etc, on 4.1.0 it doesn't.
Looking in configure_make.m, there is a change on the shell call for make:
4.8.2: shell ([scenv "make -C '" src "'"], verbose);
4.1.0: shell (sprintf ("%s make --jobs %i --directory '%s'",
                                         scenv, nproc ("overridable"), src),
                                verbose);

ans = MKOCTFILE="C:\Octave\Octave-4.1.0+\bin\mkoctfile-4.1.0+.exe --verbose"
OCTAVE_CONFIG="C:\Octave\Octave-4.1.0+\bin\oc
tave-config-4.1.0+.exe"
OCTAVE="C:\Octave\Octave-4.1.0+\bin\octave-4.1.0+.exe"
INSTALLDIR="C:\Octave\Octave-4.1.0+\share\o
ctave\packages\io-2.2.6"  make --jobs 4 --directory
'C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-sTrdWG\io\src'

ans = MKOCTFILE="C:\Octave\Octave-3.8.2\bin\mkoctfile-3.8.2.exe"
OCTAVE_CONFIG="C:\Octave\Octave-3.8.2\bin\octave-config-3
.8.2.exe" OCTAVE="C:\Octave\Octave-3.8.2\bin\octave-3.8.2.exe"
INSTALLDIR="C:\Octave\Octave-3.8.2\share\octave\packages\io
-2.2.6" make -C 'C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-3\io\src'


If I comment out the lines in configure_make.m that append the --verbose
option to makeoctfile, then starts running mkoctfile

On mine however, at that point it sticks on 'mkoctfile cell2csv.cc' forever.
(at least has been for 10 mins now)



Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

Olaf Till-2
In reply to this post by John W. Eaton
On Thu, Jan 15, 2015 at 11:14:49AM -0600, John W. Eaton wrote:

> On 01/15/2015 11:07 AM, Carnë Draug wrote:
>
> >I understand why the different directories for the two types of files, I
> >don't think the problem lies there.  Another solution could be to allow two
> >different PKG_ADD packages per package, one for oct files and another for
> >m files (but then what happens when the each directory is dependent on the
> >other?).
>
> Couldn't the PKG_ADD file check to see whether the dependent
> directory is in the load path (or functions that it will call are
> available) and it not add the dependent directory before proceeding?
>
> Or, is it possible to just do all of the real work in one PKG_ADD
> file and the other would just load the dependent directory if
> needed?  That might meed custom creation of the PKG_ADD files
> instead of generating from PKG_ADD directives in the sources as I
> think we do now.  Or it might require some modification of the
> current scheme of generating them.
>
> jwe
I'm not sure to understand your problem correctly, but at first glance
it seems to be the same as I once made a patch against, which was
never applied:

http://savannah.gnu.org/patch/?7976

Olaf

--
public key id EAFE0591, e.g. on x-hkp://pool.sks-keyservers.net

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

Philip Nienhuis
In reply to this post by John W. Eaton
John W. Eaton wrote
On 01/14/2015 02:25 PM, Philip Nienhuis wrote:

<snip>
           I was trying to do an initial install of the io package just
after installing a 4.1.0+ binary from the mxe-octave generated installer.
Ah, there's a clue.

I run combined 3.9.0+ & 4.1.0+ binaries (see patch #8469) and always install OF packages in 3.9.0+ because a number of OF packages simply don't install in 4.1.0+ (deprecated octave_map is a notable cause for e.g., OF-control).  All packages installed that way do run fine in 4.1.0+.

So that's why I didn't hit this.  And yes trying it with 4.1.0+ I see the same issue.

One of the things that changed in default is that OF packages are installed in multiple threads. Could that be the cause, i.e., that one thread "locks" files that are needed in another parallel thread? Just a WAG .....

Philip
Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

John W. Eaton
Administrator
In reply to this post by John Donoghue-3
On 01/15/2015 12:12 PM, JohnD wrote:

> On mine however, at that point it sticks on 'mkoctfile cell2csv.cc' forever.
> (at least has been for 10 mins now)

I also noticed this problem.  Removing the "--jobs 2" option for make
allowed it to continue.  Then I noticed a number of packages don't build
with Octave 4.1.0+ for various reasons.  I'll deal with those separately.

jwe



Reply | Threaded
Open this post in threaded view
|

Re: error when installing io package

John W. Eaton
Administrator
In reply to this post by John Donoghue-3
On 01/15/2015 12:12 PM, JohnD wrote:

>
>
>> -----Original Message-----
>> From: John W. Eaton [mailto:[hidden email]]
>> Sent: Thursday, January 15, 2015 12:09 PM
>> To: JohnD; [hidden email]; 'Philip Nienhuis'
>> Subject: Re: error when installing io package
>>
>> On 01/15/2015 08:49 AM, JohnD wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: JohnD [mailto:[hidden email]]
>>>> Sent: Thursday, January 15, 2015 9:33 AM
>>>> To: [hidden email]; [hidden email]; 'Philip Nienhuis'
>>>> Subject: RE: error when installing io package
>>>>
>>>>>
>>>>> Message: 1
>>>>> Date: Wed, 14 Jan 2015 12:22:10 -0600
>>>>> From: "John W. Eaton" <[hidden email]>
>>>>> To: octave maintainers mailing list <[hidden email]>
>>>>> Subject: error when installing io package
>>>>> Message-ID: <[hidden email]>
>>>>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>>>>
>>>>> I noticed an error from movefile when installing the io package on
>>>>> windows saying that there were no files to move.  Can anyone else
>>>>> confirm this
>>>> problem,
>>>>> or is it just me?  All I did was
>>>>>
>>>>>      pkg install -noauto -verbose io-2.2.6.tar.gz
>>>>>
>>>>> and the installation fails with the movefile "no files to move" error.
>>>>>
>>>>> Should this problem be fixed in pkg by avoiding the call to movefile
>>>>> if
>>>> there are
>>>>> no files to move, or should movefile simply issue a warning if there
>>>>> are
>>>> no files
>>>>> to move and return success?
>>>>>
>>>>> jwe
>>>>>
>>>>
>>>> I see it on my 4.1.0+
>>>>
>>>>>> pkg install -forge -noauto -verbose io
>>>> mkdir (C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
>>>> untar (C:\Octave\Octave-4.1.0+\src\io-2.2.6.tar.gz,
>>>> C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-lSqsGj)
>>>> movefile: no files to move
>>>> error: called from 'movefile' in file
>>>> C:\Octave\Octave-4.1.0+\share\octave\4.1.0+\m\miscellaneous\movefile.
>>>> m
>>>> near line 92,  column 5
>>>>>>
>>>
>>> It doesn't do it in 3.8.2
>>
>> Any idea what changed?  Is it the assumption of what directory the PKG_???
> file
>> will be installed in?  The post_install script uses
>>
>>     files = cstrcat (desc.archprefix, filesep, octave_config_info
>> ("canonical_host_type"),
>>                     "-", octave_config_info ("api_version"), filesep,
> "PKG_???");
>>
>> Is that no longer the valid location of the PKG_??? files?  If we just
> want a quick
>> fix for this problem with 4.1.0+, is there a better way to specify the
> location of
>> these files?
>>
>> It also seems to me that using fullfile would be better than concatenating
> with
>> filesep, but that's a separate issue.
>>
>> jwe
>>
>
> On 3.8.2 it compiled the octfile etc, on 4.1.0 it doesn't.
> Looking in configure_make.m, there is a change on the shell call for make:
> 4.8.2: shell ([scenv "make -C '" src "'"], verbose);
> 4.1.0: shell (sprintf ("%s make --jobs %i --directory '%s'",
>                                           scenv, nproc ("overridable"), src),
>                                  verbose);
>
> ans = MKOCTFILE="C:\Octave\Octave-4.1.0+\bin\mkoctfile-4.1.0+.exe --verbose"
> OCTAVE_CONFIG="C:\Octave\Octave-4.1.0+\bin\oc
> tave-config-4.1.0+.exe"
> OCTAVE="C:\Octave\Octave-4.1.0+\bin\octave-4.1.0+.exe"
> INSTALLDIR="C:\Octave\Octave-4.1.0+\share\o
> ctave\packages\io-2.2.6"  make --jobs 4 --directory
> 'C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-sTrdWG\io\src'
>
> ans = MKOCTFILE="C:\Octave\Octave-3.8.2\bin\mkoctfile-3.8.2.exe"
> OCTAVE_CONFIG="C:\Octave\Octave-3.8.2\bin\octave-config-3
> .8.2.exe" OCTAVE="C:\Octave\Octave-3.8.2\bin\octave-3.8.2.exe"
> INSTALLDIR="C:\Octave\Octave-3.8.2\share\octave\packages\io
> -2.2.6" make -C 'C:\Users\JDONOG~1.ECE\AppData\Local\Temp\oct-3\io\src'
>
>
> If I comment out the lines in configure_make.m that append the --verbose
> option to makeoctfile, then starts running mkoctfile

I don't think the --verbose option was a problem, but the quoting seems
wrong.  I changed it to use single quotes around the variable values in
this changeset:

   http://hg.savannah.gnu.org/hgweb/octave/rev/e33427a854ec

jwe