Archived

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

Build problem in Ice-3.3.1

Not sure what's going wrong here, trying to build Ice 3.3.1 and getting this build error when it gets to the cpp/Ice directory:
rm -f ../../include/Ice/BuiltinSequences.h BuiltinSequences.cpp

../../bin/slice2cpp --ice --include-dir Ice --dll-export ICE_API -I../../../slice --stream ../../../slice/Ice/BuiltinSequences.ice

terminate called after throwing an instance of 'IceUtil::NullHandleException'
  what():  ../../include/IceUtil/Handle.h:46: IceUtil::NullHandleException
make: *** [BuiltinSequences.cpp] Aborted

Anyone else seen this?

Comments

  • mes
    mes California
    Hi Caleb,

    Can you get us a stack trace?

    It would also be good for us to know your operating system and compiler versions.

    Thanks,
    Mark
  • This is on a Gentoo setup, gcc 4.1.2

    I tried again, this time downloading a fresh copy, going into the dir, and just typing "make". Slightly different error this time:

    rm -f ../../include/Ice/BuiltinSequences.h BuiltinSequences.cpp
    ../../bin/slice2cpp --ice --include-dir Ice --dll-export ICE_API -I../../../slice --stream ../../../slice/Ice/BuiltinSequences.ice
    
    slice2cpp: Parser.cpp:5512: int Slice::Unit::parse(const std::string&, FILE*, bool, Slice::FeatureProfile): Assertion `_definitionContextStack.size() == 1' failed.
    

    The backtrace for this error is:

    #0 0xb7f91416 in __kernel_vsyscall ()
    #1 0xb7b4db91 in raise () from /lib/libc.so.6
    #2 0xb7b4f378 in abort () from /lib/libc.so.6
    #3 0xb7b46f25 in __assert_fail () from /lib/libc.so.6
    #4 0xb7ebb1f3 in Slice::Unit::parse (this=0x9bae978, filename=@0x9bae018, file=0x9bae810, debug=false, profile=Slice::Ice)
    at Parser.cpp:5512
    #5 0x080be30b in main (argc=9, argv=0xbfdac274) at Main.cpp:210

    I'll keep diving in to see what's going on.
  • xdm
    xdm La Coruña, Spain
    Hi Caleb,

    I have build Ice-3.3.1 on Gentoo

    gcc -v
    Using built-in specs.
    Target: i686-pc-linux-gnu
    Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
    Thread model: posix
    gcc version 4.1.2 (Gentoo 4.1.2 p1.1)
    

    I could not reproduce the problem you are seeing, are you using the correct mcpp version? 2.7.2 is required as Ice-3.3.1

    Regards,
    José
  • Yep, that was it. I only had 2.7. Thanks for the insight. I missed it in the INSTALL.LINUX file.
  • Hi,

    I'm seeing what appears to be an identical problem: when slice2cpp runs I see:

    slice2cpp: Parser.cpp:5512: int Slice::Unit::parse(const std::string&, FILE*, bool, Slice::FeatureProfile): Assertion `_definitionContextStack.size() == 1' failed.

    However I'm using mcpp version 2.7.2 (which I build from source, the debian packages are older). My setup is as follows:

    Debian linux [stable (lenny)]

    $ gcc --version
    gcc-4.3 (Debian 4.3.2-1.1) 4.3.2
    $ mcpp -v
    MCPP V.2.7.2 (2008/11) compiler-independent-build compiled by GCC V.4.3
    Include paths are as follows --
    /usr/local/include/
    /usr/include/
    $ ls /usr/local/lib/libmcpp.*
    /usr/local/lib/libmcpp.a /usr/local/lib/libmcpp.so /usr/local/lib/libmcpp.so.0.3.0
    /usr/local/lib/libmcpp.la /usr/local/lib/libmcpp.so.0
    $ ldd `which slice2cpp`
    linux-gate.so.1 => (0xb7f31000)
    libSlice.so.33 => /opt/Ice-3.3/lib/libSlice.so.33 (0xb7d8f000)
    libIceUtil.so.33 => /opt/Ice-3.3/lib/libIceUtil.so.33 (0xb7d2d000)
    libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7cfd000)
    librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7cf4000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7c06000)
    libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7be0000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7bd3000)
    libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7a77000)
    libmcpp.so.0 => /usr/local/lib/libmcpp.so.0 (0xb79f1000)
    /lib/ld-linux.so.2 (0xb7f32000)


    Any ideas?


    Alex
  • dwayne
    dwayne St. John's, Newfoundland
    Hi Alex,

    What are the contents of your Slice file?
  • This looks like the mcpp problem we already posted a patch for. Could check whether that patch fixes it?

    Cheers,

    Michi.
  • Yes, this patch seems to fix the problem.

    Thanks!