Archived

This forum has been archived. Please start a new discussion on GitHub.

problem with slice2cpp

thanks benoit, I pass the problem of stlport after I rebuilded all kinds of things on the vc6.0 with sp5. but another one comes, :(

when I build Ice module, complier told me :

Configuration: Ice - Win32 Debug
Performing Custom Build Step on ..\..\slice\Ice\StreamF.ice
..\..\bin\icecpp.exe: stdout: Bad file descriptor

can not find D:\ice\Ice-1.1.0\src\Ice\StreamF.cpp
Error executing c:\winnt\system32\cmd.exe.

ice11d.dll - 1 error(s), 0 warning(s)

==========================
then I run slice2cpp by myself, but the problem is still:

D:\ice\Ice-1.1.0\sclice\Ice\slice2cpp StreamF.ice
icecpp.exe: stdout: Bad file descriptor

need help again. thanks

Comments

  • benoit
    benoit Rennes, France
    I'm glad you solved the first problem but sorry you're having more troubles :(.

    What Windows version do you use and do you have the latest service pack installed?

    Benoit.
  • pack again??? faint, when will the packs end???

    my window is window server 2000 with sp3, should I pack sp4?
  • benoit
    benoit Rennes, France
    It's always a good idea to update your system to the latest service pack :D.

    It looks like a problem with the _popen system call (the slice2cpp compiler spawns the C preprocessor with a popen system call). I don't understand why it's failing on your Windows 2000 machine. I'm almost certain it works fine on our Windows 2000 machine but I'll make sure it's the case tomorrow.

    Benoit.
  • I have the same problem!

    When I install IcePy on windows. IcePy-2.1.2
    I debug IcePy.dll launch by command 'python client.py'
    in \IcePy-2.1.2\modules\IcePy\Slice.cpp
    .........................................
    function IcePy_loadSlice():
    for(p = files.begin(); p != files.end(); ++p)
    {
    string file = *p;
    Slice::Preprocessor icecpp("icecpp", file, cppArgs);
    FILE* cppHandle = icecpp.preprocess(false);
    if(cppHandle == NULL)
    {
    PyErr_Format(PyExc_RuntimeError, "Slice preprocessing failed for `%s'", cmd);
    ........................................

    FILE* cppHandle = icecpp.preprocess(false);

    always outpt an error of 'icecpp.exe: stdout: Bad file descriptor'

    When go on trace into it.
    found failed at '_popen("icecpp.exe \"Auth.ice\"","r");'
    But I create a full new console project with the below source.
    #include <io.h>
    #include <stdio.h>
    #include <Windows.h>

    void main()
    {
    char psBuffer[128];
    FILE *fp = _popen("icecpp.exe \"Auth.ice\"","r");
    while( !feof( fp ) )
    {
    if( fgets( psBuffer, 128, fp ) != NULL )
    printf( psBuffer );
    }
    int ret = _pclose(fp);
    }
    all are ok.
    Why?