Archived

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

Linking problem with PowerTV OS

I am currently working on a PowerTV (PTV) project to integrated ICE. This particular project will be an embedded Linux (Fedora Core 3) application residing on cable settop boxes. The problem is the PowerTV application is using the GCC compiler option -fleading-underscore. Therefore, all symbols including mangle c++ symbols will contain this leading-underscore. I have modified the PTV makefiles to externally link the IceE.so library.

When attempting to link my new PTV module which invokes ICE classes/functions, the linker fails with undefined references. All of the ICE mangle c++ symbols have this additional leading underscore.

Are there any workarounds to this issue? Is it possible to change the ICE compiler option to include leading-underscore?

Thanks,
Tom

Comments

  • bernard
    bernard Jupiter, FL
    Hi Tom,

    I recommend to add this compiler option to the IceE build system and rebuild IceE to see if this solves your problem.

    It's quite easy: download the Ice-E source distribribution, and then in <icee home>/config/Make.rules.Linux, change:
    CXXFLAGS = $(CXXARCHFLAGS) -ftemplate-depth-128 -Wall -D_REENTRANT

    to
    CXXFLAGS = -fleading-underscore $(CXXARCHFLAGS) -ftemplate-depth-128 -Wall -D_REENTRANT

    And then follow the build instructions in INSTALL.LINUX.

    Let us know how it goes!

    Best regards,
    Bernard
  • Hi Bernard,

    I've made your suggested changes to the Make.rules.Linux file and built the IceE.so library. Upon linking with my PTV app, I received numerous linking errors (undefined references) with pthreads, std, vtable, class type info, standard system calls etc. symbols.

    I've also tried building your simple Hello app within the IceE-1.0.0 directory and it received alot of undefined references as well. I can email my linker output if needed.

    Thanks,
    Tom
  • marc
    marc Florida
    Hi Thomas,

    I'm afraid helping you to port Ice-E to a new embedded platform is out of the scope of the free support we can give here on this forum. However, we can help you to port Ice-E to your platform as consulting service. If you are interested, please contact us at info@zeroc.com.

    -- Marc