Products > Test Equipment
Open source lxi-tools and liblxi v1.0 released for GNU/Linux
RoGeorge:
I can test DG4102 screenshot when I'll return home, maybe next Monday or Tuesday.
rhb:
FYI
liblxi fails in ./configure because it can't find ifaddrs.h on Solaris 10 u8
lxi-tools fails in ./configure because it can't find libreadline even though liibreadline is in /app/lib and /app/lib is in LD_LIBRARY_PATH
FWIW I have 397 executables in /app/bin, all of which were compiled from source.
Back during the workstation wars I built a large system for SunOS, AIX, IRIX, CLIX, Ultrix and HP-UX with only two #ifdefs in the code. One for byte sex and the other for FORTRAN record length. The only build dependency was the presence of Gnu make on all systems. We now have autotools just to make code portable across linux distros.
lundmar:
--- Quote from: rhb on November 04, 2017, 09:19:31 pm ---FYI
liblxi fails in ./configure because it can't find ifaddrs.h on Solaris 10 u8
lxi-tools fails in ./configure because it can't find libreadline even though liibreadline is in /app/lib and /app/lib is in LD_LIBRARY_PATH
FWIW I have 397 executables in /app/bin, all of which were compiled from source.
Back during the workstation wars I built a large system for SunOS, AIX, IRIX, CLIX, Ultrix and HP-UX with only two #ifdefs in the code. One for byte sex and the other for FORTRAN record length. The only build dependency was the presence of Gnu make on all systems. We now have autotools just to make code portable across linux distros.
--- End quote ---
I'm sorry but lxi-tools and liblxi are designed for use with GNU/Linux systems only.
I'm not surprised you run into issues trying to install it on Solaris and I can't really recommend doing so. If I'm not mistaken Solaris still uses the Solaris C library and clearly it does not include ifaddrs.h . The GNU C library includes it.
The autotools readline check included is a very basic one. If it fails it could be because of missing or wrong configure options.
rhb:
Congratulations on recreating the major mistakes of the last 70 years.
Did you ever hear of POSIX? RMS coined the name and the concept. If you write to the C and POSIX standards your code will run easily almost anywhere. That was why that 500,000+ line mixture of C, FORTRAN, lex and yacc ran on all those different systems. The package was a port from VMS and I insisted on conformance to standards. It was in regular use for almost 20 years with no support at all for probably 10 years. There were no bugs left. We had fewer than a dozen user submitted bugs the first year of deployment and it went down from there. Every build included a large test suite. When we wrote a module, we wrote tests for it and ran it on all the supported platforms. It makes you very sensitive to where the standards say that behavior is "undefined" or "implementation dependent". So you don't do stupid stuff.
The readline check fails because autotools is semantically and conceptually broken. It is *supposed* to look in all the directories in LD_LIBRARY_PATH. I don't try to fix broken machine generated code. I wasted an entire week trying to get Octave to work once because they botched the autotools setup. Never mind that R compiled just fine. I've compiled a lot of code that uses Gnu readline. Ken Thompson wrote early versions of Unix in fewer lines than a configure script!
The consequence is simply that I shall write my own software rather than contribute to yours. A command line LXI interface is just an example program from "Advanced Programming in the Unix Environment" by Stevens and Rago decorated with some LXI details. It can also be done in python or perl, though I don't care much for either.
There's a Dilbert cartoon on the cover of Stevens and Rago that's very relevant. The interchange in the last frame is "You're one of those condescending Unix users." "Here's a nickel, kid. Get yourself a better computer."
lundmar:
--- Quote from: rhb on November 05, 2017, 01:33:20 am ---Congratulations on recreating the major mistakes of the last 70 years.
Did you ever hear of POSIX? RMS coined the name and the concept. If you write to the C and POSIX standards your code will run easily almost anywhere. That was why that 500,000+ line mixture of C, FORTRAN, lex and yacc ran on all those different systems. The package was a port from VMS and I insisted on conformance to standards. It was in regular use for almost 20 years with no support at all for probably 10 years. There were no bugs left. We had fewer than a dozen user submitted bugs the first year of deployment and it went down from there. Every build included a large test suite. When we wrote a module, we wrote tests for it and ran it on all the supported platforms. It makes you very sensitive to where the standards say that behavior is "undefined" or "implementation dependent". So you don't do stupid stuff.
The readline check fails because autotools is semantically and conceptually broken. It is *supposed* to look in all the directories in LD_LIBRARY_PATH. I don't try to fix broken machine generated code. I wasted an entire week trying to get Octave to work once because they botched the autotools setup. Never mind that R compiled just fine. I've compiled a lot of code that uses Gnu readline. Ken Thompson wrote early versions of Unix in fewer lines than a configure script!
The consequence is simply that I shall write my own software rather than contribute to yours. A command line LXI interface is just an example program from "Advanced Programming in the Unix Environment" by Stevens and Rago decorated with some LXI details. It can also be done in python or perl, though I don't care much for either.
There's a Dilbert cartoon on the cover of Stevens and Rago that's very relevant. The interchange in the last frame is "You're one of those condescending Unix users." "Here's a nickel, kid. Get yourself a better computer."
--- End quote ---
:-//
I'm sorry but I think your criticism is quite misdirected. I get a feeling you are angry for other reasons and you are just here to prolong whatever workstation wars you have been engaged in for years. I mean, it's all very nice stories but I can't fix the world for you.
Autotools is by no means perfect but it is still the preferred way of distributing software for GNU/Linux systems.
And let me repeat myself, lxi-tools and liblxi is written for GNU/Linux systems (as stated on the frontpage of https://lxi-tools.github.io and in all the READMEs). This means it will not work on POSIX only systems.
I'm a professional SW engineer and I'm a big fan of POSIX and I use it extensively in most software that I write. However, for some applications, part of the software rely on system level features which are not covered by any of the available POSIX standards. In case of liblxi I'm relying on specific interfaces that allows me to discover and manage all available network interfaces to be used in the lxi discover feature. No such interfaces are available via POSIX. Hence I write that part of the code specifically for GNU/Linux systems because it is the most popular platform out there in the *nix world.
To support Solaris I would have to write and maintain these code parts specifically for Solaris. Unfortunately, I simply don't have any plans to support Solaris. Why? Because fact is Solaris is a dying platform with a small and rapidly declining user base. This is true, now more than ever, especially since Oracle laid off the Solaris core development staff this year. R.I.P.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version