Archived

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

IceE- 1.3.0 error compiling

We are have a problem compiling IceE-1.3.0 with gcc 4.3 this is the error that we are getting. This error also occurs when compiled for our development system.

bfin-linux-uclibc-g++ -c -I.. -I../../include -DICE_API_EXPORTS -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -Os -DNDEBUG Communicator.cpp
bfin-linux-uclibc-g++ -c -I.. -I../../include -DICE_API_EXPORTS -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -Os -DNDEBUG Cond.cpp
In file included from ../../include/IceE/Cond.h:13,
from Cond.cpp:10:
../../include/IceE/Time.h:36: error: expected type-specifier before �timeval�
make[3]: *** [Cond.o] Error 1
make[3]: Leaving directory `/home/blackfin/icee/IceE-1.3.0/cppe/src/IceE'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/home/blackfin/icee/IceE-1.3.0/cppe/src'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/blackfin/icee/IceE-1.3.0/cppe'
make: *** [all] Error 1


Thank you,

Garth Kassinger

Comments

  • bernard
    bernard Jupiter, FL
    Hi Garth,

    Welcome to our forums!

    Please note that Ice-E 1.3 is not supported on your platform. However, I expect you'll be able to build Ice-E with minimal effort.

    This error is most likely due to a missing include in IceE/Time.h. Could you add the following after #include <IceE/Config.h>:
    #ifndef _WIN32
    #   include <sys/time.h>
    #endif
    

    and let us know if this fixes this error?

    Thanks,
    Bernard
  • Hi,

    The pervious responce fixed our error but we have now run into a new error:

    bfin-linux-uclibc-g++-4.3.2 -Wl,--enable-new-dtags -Wl,-rpath,/home/bmat/opt/IceE-1.3.0/lib -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -Os -DNDEBUG -L../../../lib -o client Test.o Client.o AllTests.o -lTestCommon -lIceE -L/usr/lib/nptl -lpthread -lrt
    /home/bmat/blackfin-latest/toolchain-prefix-1_06_08/lib/gcc/bfin-linux-uclibc/4.3.2/../../../../bfin-linux-uclibc/bin/ld: client: hidden symbol `___umulsi3_highpart' in /home/bmat/blackfin-latest/toolchain-prefix-1_06_08/lib/gcc/bfin-linux-uclibc/4.3.2/libgcc.a(_umulsi3_highpart.o) is referenced by DSO
    /home/bmat/blackfin-latest/toolchain-prefix-1_06_08/lib/gcc/bfin-linux-uclibc/4.3.2/../../../../bfin-linux-uclibc/bin/ld: final link failed: Nonrepresentable section on output
    collect2: ld returned 1 exit status
    make[4]: *** [client] Error 1
    make[4]: Leaving directory `/home/bmat/icee_bugdemo/2/IceE-1.3.0/cppe/test/IceE/adapterDeactivation'
    make[3]: *** [all] Error 1
    make[3]: Leaving directory `/home/bmat/icee_bugdemo/2/IceE-1.3.0/cppe/test/IceE'
    make[2]: *** [all] Error 1
    make[2]: Leaving directory `/home/bmat/icee_bugdemo/2/IceE-1.3.0/cppe/test'
    make[1]: *** [all] Error 1
    make[1]: Leaving directory `/home/bmat/icee_bugdemo/2/IceE-1.3.0/cppe'
    make: *** [all] Error 1

    Thnak you,

    Garth Kassinger
  • bernard
    bernard Jupiter, FL
    Hi Garth,

    This does not look like an Ice-E -specific problem. Did you try with a static build?

    Cheers,
    Bernard
  • We have now (set STATICLIBS=yes in cppe/config/Make.rules) and we're getting the same error. I've noticed that IceE is trying to link nptl (the system version, not the cross version it should use). uClibc doesn't provide nptl as far as I know. Is there a way to use something else/how is this handled on the gumstix?

    Any other suggestions?

    Thanks for all the help so far!
  • dwayne
    dwayne St. John's, Newfoundland
    When building for gumstix, GUMSTIX=yes must be defined in Make.rules. Defining this causes the nptl options not to be added for the gumstix cross-compile build. To get rid of these options for your build you can just remove/comment out the following sections in Make.rule.Linux:
    ifneq ($(GUMSTIX),yes)
    CXXFLAGS                += -I/usr/include/nptl
    endif
    
    ifneq ($(GUMSTIX),yes)
    NPTL_LIB                = -L/usr/$(libsubdir)/nptl
    endif
    
  • I seen this problem too and couldn't get past it. I did look in Time.h and the suggested include line for <sys/time.h> is there.

    [volcano@platdev1 IceE-1.3.0]$ make
    making all in cppe
    make[1]: Entering directory `/home/platdev1/Download/IceE-1.3.0/cppe'
    making all in src
    make[2]: Entering directory `/home/platdev1/Download/IceE-1.3.0/cppe/src'
    making all in IceE
    make[3]: Entering directory `/home/platdev1/Download/IceE-1.3.0/cppe/src/IceE'
    c++ -c -I.. -I../../include -DICE_API_EXPORTS  -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g BasicStream.cpp
    c++ -c -I.. -I../../include -DICE_API_EXPORTS  -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g Buffer.cpp
    c++ -c -I.. -I../../include -DICE_API_EXPORTS  -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g BuiltinSequences.cpp
    c++ -c -I.. -I../../include -DICE_API_EXPORTS  -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g Communicator.cpp
    c++ -c -I.. -I../../include -DICE_API_EXPORTS  -ftemplate-depth-128 -Wall -D_REENTRANT -I/usr/include/nptl -fPIC -g Cond.cpp
    In file included from ../../include/IceE/Cond.h:13,
                     from Cond.cpp:10:
    ../../include/IceE/Time.h:36: error: expected type-specifier before ‘timeval’
    make[3]: *** [Cond.o] Error 1
    make[3]: Leaving directory `/home/platdev1/Download/IceE-1.3.0/cppe/src/IceE'
    make[2]: *** [all] Error 1
    make[2]: Leaving directory `/home/platdev1/Download/IceE-1.3.0/cppe/src'
    make[1]: *** [all] Error 1
    make[1]: Leaving directory `/home/platdev1/Download/IceE-1.3.0/cppe'
    make: *** [all] Error 1
    [volcano@platdev1 IceE-1.3.0]$ 
    
  • Oops. sorry, the reply to the original post did fix the problem. I was looking at a different Time.h in cpp/include/IceUtil/Time.h instead of cppe/include/IceUtil/Time.h cppe/include/IceE/Time.h
  • bernard wrote: »
    This error is most likely due to a missing include in IceE/Time.h. Could you add the following after #include <IceE/Config.h> and let us know if this fixes this error?
    Thanks, Bernard, after upgrading the Ice packages from version 3.3.1 on Kubuntu GNU/Linux 10.04 to version 3.4.1, I've tried to compile IceE 1.3.0 as well. Your suggestion fixes the problem nicely. I've created a small patch file with Git for (my/your/our) convenience (see attachment).

    Cheers,
    Andreas