cant find mkoctfile.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

cant find mkoctfile.

Doug Stewart-4
I can't install the control pkg. because octave says it cant find mkoctfile, but as you can see below, it is there and is findable by the system command.

Any Ideas how to fix this?



ans = 6aa29920a531
Package Name  | Version | Installation directory
--------------+---------+-----------------------
          io  |  2.4.10 | /home/doug/octave/io-2.4.10
  statistics  |   1.3.0 | /home/doug/octave/statistics-1.3.0
    symbolic  |   2.6.0 | /home/doug/octave/symbolic-2.6.0
warning: function /home/doug/octave/statistics-1.3.0/mad.m shadows a core library function
warning: called from
    load_packages_and_dependencies at line 48 column 5
    load_packages at line 47 column 3
    pkg at line 457 column 7
    /home/doug/.octaverc>@<anonymous> at line 8 column 15
    /home/doug/.octaverc at line 8 column 1
Package Name  | Version | Installation directory
--------------+---------+-----------------------
          io *|  2.4.10 | /home/doug/octave/io-2.4.10
  statistics *|   1.3.0 | /home/doug/octave/statistics-1.3.0
    symbolic *|   2.6.0 | /home/doug/octave/symbolic-2.6.0
>> pkg install -forge control

pkg: unable to find the mkoctfile command, Octave installation is incomplete
error: called from
    __gripe_missing_component__ at line 53 column 3
    configure_make at line 40 column 7
    install at line 184 column 7
    pkg at line 437 column 9
>> system("mkoctfile -v")
mkoctfile, version 4.4.0
ans = 0
>> which mkoctfile
'mkoctfile' is a function from the file /usr/local/share/octave/4.4.0/m/miscellaneous/mkoctfile.m
>> path

Octave's search path contains the following directories:

.
/home/doug/octave/symbolic-2.6.0
/home/doug/octave/statistics-1.3.0
/home/doug/octave/io-2.4.10
/usr/local/lib/octave/4.4.0/site/oct/x86_64-pc-linux-gnu
/usr/local/lib/octave/site/oct/api-v52/x86_64-pc-linux-gnu
/usr/local/lib/octave/site/oct/x86_64-pc-linux-gnu
/usr/local/share/octave/4.4.0/site/m
/usr/local/share/octave/site/api-v52/m
/usr/local/share/octave/site/m
/usr/local/share/octave/site/m/startup
/usr/local/lib/octave/4.4.0/oct/x86_64-pc-linux-gnu
/usr/local/share/octave/4.4.0/m
/usr/local/share/octave/4.4.0/m/audio
/usr/local/share/octave/4.4.0/m/deprecated
/usr/local/share/octave/4.4.0/m/elfun
/usr/local/share/octave/4.4.0/m/general
/usr/local/share/octave/4.4.0/m/geometry
/usr/local/share/octave/4.4.0/m/gui
/usr/local/share/octave/4.4.0/m/help
/usr/local/share/octave/4.4.0/m/image
/usr/local/share/octave/4.4.0/m/io
/usr/local/share/octave/4.4.0/m/java
/usr/local/share/octave/4.4.0/m/linear-algebra
/usr/local/share/octave/4.4.0/m/miscellaneous
/usr/local/share/octave/4.4.0/m/ode
/usr/local/share/octave/4.4.0/m/optimization
/usr/local/share/octave/4.4.0/m/path
/usr/local/share/octave/4.4.0/m/pkg
/usr/local/share/octave/4.4.0/m/plot
/usr/local/share/octave/4.4.0/m/plot/appearance
/usr/local/share/octave/4.4.0/m/plot/draw
/usr/local/share/octave/4.4.0/m/plot/util
/usr/local/share/octave/4.4.0/m/polynomial
/usr/local/share/octave/4.4.0/m/prefs
/usr/local/share/octave/4.4.0/m/profiler
/usr/local/share/octave/4.4.0/m/set
/usr/local/share/octave/4.4.0/m/signal
/usr/local/share/octave/4.4.0/m/sparse
/usr/local/share/octave/4.4.0/m/specfun
/usr/local/share/octave/4.4.0/m/special-matrix
/usr/local/share/octave/4.4.0/m/startup
/usr/local/share/octave/4.4.0/m/statistics
/usr/local/share/octave/4.4.0/m/strings
/usr/local/share/octave/4.4.0/m/testfun
/usr/local/share/octave/4.4.0/m/time
/usr/local/share/octave/4.4.0/data

>>

--
DASCertificate for 206392

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Mike Miller-4
On Sun, Jul 01, 2018 at 13:27:33 -0400, Doug Stewart wrote:
> I can't install the control pkg. because octave says it cant find
> mkoctfile, but as you can see below, it is there and is findable by the
> system command.

It looks like you are running Octave 4.4.0 that you have installed in
/usr/local, is that right? Does /usr/local/bin/mkoctfile-4.4.0 exist?

Octave looks for the mkoctfile executable to exist at exactly

  fullfile (__octave_config_info__ ('bindir'), ['mkoctfile-', version])

--
mike

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

Re: cant find mkoctfile.

Andreas Weber-6
In reply to this post by Doug Stewart-4
Am 01.07.2018 um 19:27 schrieb Doug Stewart:
>>> which mkoctfile
> 'mkoctfile' is a function from the file
> /usr/local/share/octave/4.4.0/m/miscellaneous/mkoctfile.m

This is only the wrapper script, can you check if you can run
`mkoctfile` in a shell and double check that your system has
mkoctfile-4.4.0 ?

I guess you've compiled from source so per default it is in
/usr/local/bin/mkoctfile-4.4.0

Please add the output of
readlink -f $(which mkoctfile)


-- Andy

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Doug Stewart-4


On Sun, Jul 1, 2018 at 2:32 PM, Andreas Weber <[hidden email]> wrote:
Am 01.07.2018 um 19:27 schrieb Doug Stewart:
>>> which mkoctfile
> 'mkoctfile' is a function from the file
> /usr/local/share/octave/4.4.0/m/miscellaneous/mkoctfile.m

This is only the wrapper script, can you check if you can run
`mkoctfile` in a shell and double check that your system has
mkoctfile-4.4.0 ?

I guess you've compiled from source so per default it is in
/usr/local/bin/mkoctfile-4.4.0

Please add the output of
readlink -f $(which mkoctfile)


-- Andy

doug@doug-sp2:~$ readlink -f $(which mkoctfile)
/usr/local/bin/mkoctfile-4.4.0
doug@doug-sp2:~$ 



--
DASCertificate for 206392

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Dmitri A. Sergatskov


On Sun, Jul 1, 2018 at 3:17 PM, Doug Stewart <[hidden email]> wrote:


doug@doug-sp2:~$ readlink -f $(which mkoctfile)
/usr/local/bin/mkoctfile-4.4.0
doug@doug-sp2:~$ 




​What happens if you just run "mkoctfile" on the command line?

Dmitri.
--

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Doug Stewart-4


On Sun, Jul 1, 2018 at 4:35 PM, Dmitri A. Sergatskov <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 3:17 PM, Doug Stewart <[hidden email]> wrote:


doug@doug-sp2:~$ readlink -f $(which mkoctfile)
/usr/local/bin/mkoctfile-4.4.0
doug@doug-sp2:~$ 




​What happens if you just run "mkoctfile" on the command line?

Dmitri.
--
doug@doug-sp2:~$ mkoctfile -v
mkoctfile, version 4.4.0




--
DASCertificate for 206392

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Doug Stewart-4
In reply to this post by Mike Miller-4


On Sun, Jul 1, 2018 at 2:28 PM, Mike Miller <[hidden email]> wrote:
On Sun, Jul 01, 2018 at 13:27:33 -0400, Doug Stewart wrote:
> I can't install the control pkg. because octave says it cant find
> mkoctfile, but as you can see below, it is there and is findable by the
> system command.

It looks like you are running Octave 4.4.0 that you have installed in
/usr/local, is that right? Does /usr/local/bin/mkoctfile-4.4.0 exist?

Octave looks for the mkoctfile executable to exist at exactly

  fullfile (__octave_config_info__ ('bindir'), ['mkoctfile-', version])

--
mike
ok this is a clue!!!

>>  fullfile (__octave_config_info__ ('bindir'), ['mkoctfile-', version])
ans = /usr/local/bin/mkoctfile-5.0.0
>>

it is looking for 5.0.0 !!!
why or how?



--
DASCertificate for 206392

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Mike Miller-4
On Sun, Jul 01, 2018 at 16:40:17 -0400, Doug Stewart wrote:
> ok this is a clue!!!
>
> >>  fullfile (__octave_config_info__ ('bindir'), ['mkoctfile-', version])
> ans = /usr/local/bin/mkoctfile-5.0.0
> >>
>
> it is looking for 5.0.0 !!!
> why or how?

You must be running the development version of Octave, not 4.4.0.

--
mike

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

Re: cant find mkoctfile.

Doug Stewart-4


On Sun, Jul 1, 2018 at 4:42 PM, Mike Miller <[hidden email]> wrote:
On Sun, Jul 01, 2018 at 16:40:17 -0400, Doug Stewart wrote:
> ok this is a clue!!!
>
> >>  fullfile (__octave_config_info__ ('bindir'), ['mkoctfile-', version])
> ans = /usr/local/bin/mkoctfile-5.0.0
> >>
>
> it is looking for 5.0.0 !!!
> why or how?

You must be running the development version of Octave, not 4.4.0.

--
mike

Yes 
hg id  = 6aa29920a531

so how to fix it?




--
DASCertificate for 206392

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Dmitri A. Sergatskov


On Sun, Jul 1, 2018 at 4:04 PM, Doug Stewart <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 4:42 PM, Mike Miller <[hidden email]> wrote:
On Sun, Jul 01, 2018 at 16:40:17 -0400, Doug Stewart wrote:
> ok this is a clue!!!
>
> >>  fullfile (__octave_config_info__ ('bindir'), ['mkoctfile-', version])
> ans = /usr/local/bin/mkoctfile-5.0.0
> >>
>
> it is looking for 5.0.0 !!!
> why or how?

You must be running the development version of Octave, not 4.4.0.

--
mike

Yes 
hg id  = 6aa29920a531

so how to fix it?



​Wipe out installed octave(s) and re-install the one you want (4.4.0, 4,4.0x, 5.0.0).
I usually do (as root):
cd /usr/local
find ./ -name "*oct*" | xargs rm -rf
​Dmitri​.
--


Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Mike Miller-4
In reply to this post by Doug Stewart-4
On Sun, Jul 01, 2018 at 17:04:19 -0400, Doug Stewart wrote:
> Yes
> hg id  = 6aa29920a531
>
> so how to fix it?

This has come up many times before. You need to run 'make install'
before you can install any packages or build any oct files. The
mkoctfile program is built with the destination directory for Octave
header files (e.g. /usr/local/include/octave-5.0.0).

--
mike

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

Re: cant find mkoctfile.

Doug Stewart-4


On Sun, Jul 1, 2018 at 5:10 PM, Mike Miller <[hidden email]> wrote:
On Sun, Jul 01, 2018 at 17:04:19 -0400, Doug Stewart wrote:
> Yes
> hg id  = 6aa29920a531
>
> so how to fix it?

This has come up many times before. You need to run 'make install'
before you can install any packages or build any oct files. The
mkoctfile program is built with the destination directory for Octave
header files (e.g. /usr/local/include/octave-5.0.0).

--
mike

I did run make install.

I even went back to ./bootstrap and the complete install comands.

For now I will go back to 4.4.0



--
DASCertificate for 206392

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Doug Stewart-4
I went back to

Changeset:

25331 (cf84db75ab57) Version 4.4.0 released. …


and did a new compile and version still says 5.0.0  


On Sun, Jul 1, 2018 at 5:13 PM, Doug Stewart <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 5:10 PM, Mike Miller <[hidden email]> wrote:
On Sun, Jul 01, 2018 at 17:04:19 -0400, Doug Stewart wrote:
> Yes
> hg id  = 6aa29920a531
>
> so how to fix it?

This has come up many times before. You need to run 'make install'
before you can install any packages or build any oct files. The
mkoctfile program is built with the destination directory for Octave
header files (e.g. /usr/local/include/octave-5.0.0).

--
mike

I did run make install.

I even went back to ./bootstrap and the complete install comands.

For now I will go back to 4.4.0



--
DASCertificate for 206392




--
DASCertificate for 206392

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Dmitri A. Sergatskov


On Sun, Jul 1, 2018 at 4:44 PM, Doug Stewart <[hidden email]> wrote:
I went back to

Changeset:

25331 (cf84db75ab57) Version 4.4.0 released. …


and did a new compile and version still says 5.0.0  



​Did you do "hg update stable" ?

Dmitri.
--

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Doug Stewart-4


On Sun, Jul 1, 2018 at 5:47 PM, Dmitri A. Sergatskov <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 4:44 PM, Doug Stewart <[hidden email]> wrote:
I went back to

Changeset:

25331 (cf84db75ab57) Version 4.4.0 released. …


and did a new compile and version still says 5.0.0  



​Did you do "hg update stable" ?

Dmitri.
--
yes
 



--
DASCertificate for 206392

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Doug Stewart-4


On Sun, Jul 1, 2018 at 5:48 PM, Doug Stewart <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 5:47 PM, Dmitri A. Sergatskov <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 4:44 PM, Doug Stewart <[hidden email]> wrote:
I went back to

Changeset:

25331 (cf84db75ab57) Version 4.4.0 released. …


and did a new compile and version still says 5.0.0  



​Did you do "hg update stable" ?

Dmitri.
--
yes
 
I am doing a new build from a new clone
at 

Changeset:

25331 (cf84db75ab57) Version 4.4.0 released. …



--
DAS

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Doug Stewart-4


On Sun, Jul 1, 2018 at 5:53 PM, Doug Stewart <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 5:48 PM, Doug Stewart <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 5:47 PM, Dmitri A. Sergatskov <[hidden email]> wrote:


On Sun, Jul 1, 2018 at 4:44 PM, Doug Stewart <[hidden email]> wrote:
I went back to

Changeset:

25331 (cf84db75ab57) Version 4.4.0 released. …


and did a new compile and version still says 5.0.0  



​Did you do "hg update stable" ?

Dmitri.
--
yes
 
I am doing a new build from a new clone
at 

Changeset:

25331 (cf84db75ab57) Version 4.4.0 released. …



--
DAS


OK I am now able to install the control pkg. using stable release.
 

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Andreas Weber-6
In reply to this post by Dmitri A. Sergatskov
Am 01.07.2018 um 23:09 schrieb Dmitri A. Sergatskov:
> I usually do (as root):
> cd /usr/local
> find ./ -name "*oct*" | xargs rm -rf

If you want to do that I would suggest to use
find ./ -name "*oct*" -delete

because it processes directories from depth first (so you don't get
errors if a directory already was deleted)

-- Andy

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Dmitri A. Sergatskov


On Mon, Jul 2, 2018 at 1:38 AM, Andreas Weber <[hidden email]> wrote:
Am 01.07.2018 um 23:09 schrieb Dmitri A. Sergatskov:
> I usually do (as root):
> cd /usr/local
> find ./ -name "*oct*" | xargs rm -rf

If you want to do that I would suggest to use
find ./ -name "*oct*" -delete

because it processes directories from depth first (so you don't get
errors if a directory already was deleted)

-- Andy


​It looks to me it is the other way around:


​find ./ -name "*oct*" -delete
find: cannot delete ‘./include/octave-4.4.0+/octave’: Directory not empty
find: cannot delete ‘./include/octave-4.4.0+’: Directory not empty
find: cannot delete ‘./share/octave/4.4.0+/etc/tests/libinterp/octave-value’: Directory not empty
find: cannot delete ‘./share/octave/4.4.0+/etc/tests/liboctave’: Directory not empty
find: cannot delete ‘./share/octave’: Directory not empty
find: cannot delete ‘./libexec/octave’: Directory not empty
find: cannot delete ‘./lib/octave/4.4.0+/oct’: Directory not empty
find: cannot delete ‘./lib/octave/4.4.0+/site/oct’: Directory not empty
find: cannot delete ‘./lib/octave/site/oct’: Directory not empty
find: cannot delete ‘./lib/octave’: Directory not empty

And I have never seen any errors/warnings with

find ./ -name "*oct*" | xargs rm -rf

​Dmitri.
--

 

Reply | Threaded
Open this post in threaded view
|

Re: cant find mkoctfile.

Rik-4
In reply to this post by Doug Stewart-4
On 07/03/2018 09:00 AM, [hidden email] wrote:
Subject:
Re: cant find mkoctfile.
From:
"Dmitri A. Sergatskov" [hidden email]
Date:
07/02/2018 09:52 AM
To:
Andreas Weber [hidden email]
CC:
octave-maintainers [hidden email]
List-Post:
[hidden email]
Precedence:
list
MIME-Version:
1.0
References:
[hidden email] [hidden email] [hidden email] [hidden email] [hidden email] [hidden email] [hidden email]
In-Reply-To:
[hidden email]
Message-ID:
[hidden email]
Content-Type:
multipart/alternative; boundary="00000000000081b4e60570070563"
Message:
1



On Mon, Jul 2, 2018 at 1:38 AM, Andreas Weber <[hidden email]> wrote:
Am 01.07.2018 um 23:09 schrieb Dmitri A. Sergatskov:
> I usually do (as root):
> cd /usr/local
> find ./ -name "*oct*" | xargs rm -rf

If you want to do that I would suggest to use
find ./ -name "*oct*" -delete

because it processes directories from depth first (so you don't get
errors if a directory already was deleted)

-- Andy


​It looks to me it is the other way around:


​find ./ -name "*oct*" -delete
find: cannot delete ‘./include/octave-4.4.0+/octave’: Directory not empty
find: cannot delete ‘./include/octave-4.4.0+’: Directory not empty
find: cannot delete ‘./share/octave/4.4.0+/etc/tests/libinterp/octave-value’: Directory not empty
find: cannot delete ‘./share/octave/4.4.0+/etc/tests/liboctave’: Directory not empty
find: cannot delete ‘./share/octave’: Directory not empty
find: cannot delete ‘./libexec/octave’: Directory not empty
find: cannot delete ‘./lib/octave/4.4.0+/oct’: Directory not empty
find: cannot delete ‘./lib/octave/4.4.0+/site/oct’: Directory not empty
find: cannot delete ‘./lib/octave/site/oct’: Directory not empty
find: cannot delete ‘./lib/octave’: Directory not empty

And I have never seen any errors/warnings with

find ./ -name "*oct*" | xargs rm -rf

​Dmitri.

I always use this syntax too.  It's never a problem because with the '-f' option ls doesn't care whether the file exists or not.  From the man page for ls:

       -f, --force
              ignore nonexistent files and arguments, never prompt

--Rik