Informix

Expand all | Collapse all

stropt.h missing when compiling myschema

  • 1.  stropt.h missing when compiling myschema

    Posted Mon April 27, 2020 10:29 AM
    Hello Art,

    I'm not sure if this is the right place to ask you about your tools.

    However, I'm having trouble when trying to compile your myschema command on RHEL 7 since the stropt.h file isn't included in most current linux distributions (see this bugzilla entry: https://bugzilla.redhat.com/show_bug.cgi?id=656245).


    When calling make myschema I get this error:

    [informix@evgdbs1 ak]$ make
    cd myschema.d; \
    make -f myschema.mk.norcs; \
    cp -p myschema ..
    make[1]: Entering directory `/home/informix_12.10.FC12W1/tools/ak/myschema.d'
    INFORMIXC=gcc esql -O3 -c myschema.ec
    myschema.ec:196:21: fatal error: stropts.h: No such file or directory
    #include <stropts.h>
    ^
    compilation terminated.
    make[1]: *** [myschema.o] Error 1
    make[1]: Leaving directory `/home/informix_12.10.FC12W1/tools/ak/myschema.d'
    cp: cannot stat 'myschema': No such file or directory
    make: *** [myschema] Error 1

    Is there a workaround available or do you have to modify your source code to get the myschema tool compiled?

    Any help would be appreciated.

    BTW: we're using IDS 12.10.FC12W1 with CSDK 4.10.FC12W1 on RedHat Enterprise Linux 7.7

    Kind regards
    Roland

    ------------------------------
    Roland Wintgen
    IT department
    EVG Martens GmbH & Co. KG
    Trompeterallee 244-246
    41189 Moenchengladbach
    ------------------------------


  • 2.  RE: stropt.h missing when compiling myschema

    Posted Mon April 27, 2020 12:09 PM
    Roland:

    I have just fixed this issue and uploaded an update for utils2_ak to my web site. You can get it from there (www.askdbmgt.com/my-utilities) or email me directly and I will send it to you.

    The include file was needed for the system call isastream() which has been unimplemented in the last several Linux kernels and so has been no-op for a long time there. Apparently Red Hat has ceased including the header file in the latest distributions (Ubuntu still distributes it, but that's neither here not there.)

    However, the call was only used in an informational sense when myschema reports what file it is writing the schema to to differentiate between writing to stdout versus to other pipes. This is not really needed and, as I said, hasn't actually worked in a long time. So I have removed the call and the header in the 2.391 release.

    Art

    Art S. Kagel, President and Principal Consultant
    ASK Database Management


    Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference.  Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves.








  • 3.  RE: stropt.h missing when compiling myschema

    Posted Mon April 27, 2020 12:39 PM
    Hello Art,

    thanks for your quick response.

    I've just downloaded the new version and now it compiles well..

    ------------------------------
    Roland Wintgen
    DBA, Genero/4GL Developer
    EVG Martens GmbH & Co. KG
    Moenchengladbach
    ------------------------------