octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: building on macOS?


From: Carlo De Falco
Subject: Re: building on macOS?
Date: Sun, 23 Dec 2018 07:34:42 +0000


> On 22 Dec 2018, at 21:55, Carlo De Falco <address@hidden> wrote:
> 
> 
> 
>> On 21 Dec 2018, at 18:37, Mike Miller <address@hidden> wrote:
>> 
>> On Fri, Dec 21, 2018 at 17:20:52 +0000, Carlo De Falco wrote:
>>>>> [err, msg] = mkfifo ("/tmp/pippo.fifo", 600);
>>>>> err
>>> err = -1
>>>>> msg
>>> msg = Function not implemented
>>> 
>>> while in Octave 4.4
>>> 
>>>>> [err, msg] = mkfifo ("/tmp/pippo.fifo", 600);
>>>>> err
>>> err = 0
>>>>> msg
>>> msg = 
>>> 
>>> Any idea what may have broken makefifo?
>> 
>> This means HAVE_MKFIFO was set to false by your configure run. You'd
>> have to look into config.log for more details about why that is.
> 
> Hi,
> 
> Actually, in my config.log I see :
> 
> HAVE_MKFIFO='1'
> HAVE_MKFIFOAT='1'
> 
> so how come that mkfifo does not work?
> Where else shall I look?
> 
> Thanks,
> c.

Hi Mike,

By enabling QT and applying my patch to add "pause (.1); close all;" after 
plotting examples, 
I managed to complete the build and run your proposed test :

./src/mkoctfile \
     -I. \
     -I.. \
     -I../libinterp/corefcn \
     -I../libinterp/octave-value \
     -I../liboctave/array \
     -I../liboctave/numeric \
     -I../liboctave/operators \
     -I../liboctave/system \
     -I../liboctave/util \
     -Iliboctave/operators \
     -Iliboctave \
     example.cc

but, while at it, I noticed that this, on one hand, will not detect the issue I 
have with mkoctfile while,
on the other hand, it will always fail without installation (unless a previous 
installation exists).

It will not detect the issue with mkoctfile on macos because the issue is with 
adding spurious libs, with 
a relative path, to the link phase :

  vars["OCT_LINK_DEPS"] = get_variable ("OCT_LINK_DEPS",
                                        "libinterp/liboctinterp.la 
liboctave/liboctave.la ");

these will in general not exist, UNLESS launching mkoctfile from the root of 
the build tree, which
is what happens with your test.

On the other hand, the link phase of mkoctfile will add "-L" otions to include 
installation directories to
the library search path that do not exist unless an installation has already 
been performed, which will cause
mkoctfile to fail with 

  ld: warning: directory not found for option '-L/opt/octave/6.0.0/lib'
  ld: file not found: /opt/octave/6.0.0/bin/octave-6.0.0

In conclusion :

1) The mkoctfile issue still exists for me with the most recent revisions in 
mercurial

2) The only reliable way to check for it at the moment requires to run "make 
install"

Thanks,
c.

P.S. The mkfifo issue still exists as well, shall I file a bug about it? I 
suspect it may be related to this changeset
 
changeset:   20200:d9f35ceff9e1
user:        Rik <address@hidden>
date:        Sun May 17 10:04:08 2015 -0700
summary:     Change mkfifo to use an octal argument for MODE (bug #45054).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]