bugGNU Octave - Bugs: bug #57539, [octave forge]...

 
 

bug #57539: [octave forge] (instrument-control) dev fails to install in cygwin

Submitted by:  marco atzeri <matzeri>
Submitted on:  Sat 04 Jan 2020 09:59:21 PM UTC  
 
Category:  Octave Forge Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  John Donoghue <lostbard>
Originator Name:  Open/Closed:  Closed
Release:  5.1.0 Operating System:  Microsoft Windows

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Wed 08 Jan 2020 12:30:27 AM UTC, comment #7: 

Marking as fixed and closed

John Donoghue <lostbard>
Project MemberIn charge of this item.
Sun 05 Jan 2020 12:41:22 PM UTC, comment #6: 

fixed

John Donoghue <lostbard>
Project MemberIn charge of this item.
Sun 05 Jan 2020 04:26:31 AM UTC, comment #5: 

Thanks, now both are built

src/serial/serial_class_lin.cc
src/serialport/serialport_class_lin.cc

As side note this test looks strange to the compiler and I agree:

tcp_class.cc: In member function ‘virtual octave_value octave_tcp::subsasgn(cons
t string&, const std::list<octave_value_list>&, const octave_value&)’:
tcp_class.cc:169:29: warning: logical not is only applied to the left hand side
of comparison [-Wlogical-not-parentheses]
           if (! u.length () > 0)
                             ^
tcp_class.cc:169:15: note: add parentheses around left hand side expression to s
ilence this warning
           if (! u.length () > 0)
               ^~~~~~~~~~~~~
               (            )

marco atzeri <matzeri>
Sat 04 Jan 2020 11:50:17 PM UTC, comment #4: 

For the serialport not building comment, it is the last directy compiled, so may not have reached before the error occured.

Let me know if it doesnt get compiled for you.

John Donoghue <lostbard>
Project MemberIn charge of this item.
Sat 04 Jan 2020 11:45:26 PM UTC, comment #3: 
John Donoghue <lostbard>
Project MemberIn charge of this item.
Sat 04 Jan 2020 11:38:01 PM UTC, comment #2: 

Looks like cygwin puts that define in  <sys/socket.h> for some reason rather than ioctl.h

Im push a change up to dev that will hopefully fix it

John Donoghue <lostbard>
Project MemberIn charge of this item.
Sat 04 Jan 2020 10:41:10 PM UTC, comment #1: 

For what I see there are 4 cases where FIONREAD is used

$ grep -rH FIONREAD *
src/serial/serial_class_lin.cc:      ioctl (fd, FIONREAD, &available);
src/serialport/serialport_class_lin.cc:      ioctl (fd, FIONREAD, &available);
src/tcp/tcp_class.cc:  ioctl (get_fd (), FIONREAD, &available);
src/udp/udp_class.cc:  ioctl (get_fd (), FIONREAD, &available);

tcp_class.cc and udp_class.cc are compiled
serial_class_lin.cc fails
serialport_class_lin.cc seems ignored from the building.

comparing the headers between the files I see that the following include's all pull FIONREAD

netinet/in.h
sys/socket.h
netdb.h
arpa/inet.h

but these two not

termios.h
sys/ioctl.h

and they are the only similar one in serial_class_lin.cc

marco atzeri <matzeri>
Sat 04 Jan 2020 09:59:21 PM UTC, original submission:  

Trying to build with cygwin Octave 5.1.0

g++ -c   -I/usr/include/octave-5.1.0/octave/.. -I/usr/include/octave-5.1.0/octave   -fopenmp -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/octave-forge/arch/octave-instrument-control-0.4.0-0.1.x86_64/build=/usr/src/debug/octave-instrument-control-0.4.0-0.1 -fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/octave-forge/arch/octave-instrument-control-0.4.0-0.1.x86_64/src/instrument-control-0.4.0=/usr/src/debug/octave-instrument-control-0.4.0-0.1    -DHAVE_CONFIG_H _usbtmc_pkg_lock_.cc -o _usbtmc_pkg_lock_.o
serial_class_lin.cc: In member function ‘virtual int octave_serial::get_bytesavailable() const’:
serial_class_lin.cc:715:18: error: ‘FIONREAD’ was not declared in this scope
       ioctl (fd, FIONREAD, &available);
                  ^~~~~~~~
serial_class_lin.cc:715:18: note: suggested alternative: ‘FREAD’
       ioctl (fd, FIONREAD, &available);
                  ^~~~~~~~
                  FREAD

marco atzeri <matzeri>

 

(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 lostbard (Posted a comment)
  • -email is unavailable- added by matzeri (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-01-08 lostbard StatusReady For Test => Fixed
        Open/ClosedOpen => Closed
    2020-01-04 lostbard StatusNone => Ready For Test
        Assigned toNone => lostbard
        Summaryinstrument-control 0.4.0 e dev => [octave forge] (instrument-control) dev fails to install in cygwin

    Back to the top


    Powered by Savane 3.5