2 Replies Latest reply: Jul 1, 2014 9:46 AM by 8609edf9-c38f-4d0c-bd28-05a8dc94f464 RSS

    Too many dependencies

    8609edf9-c38f-4d0c-bd28-05a8dc94f464

      Hello,

       

      we have noticed that our applications, built with CA Gen (a 4GL tool generating C/C++) and compiled and linked with Studio 12.3 have a lot of dependencies on libraries.

       

      Example:

      Program A needs an object that is in library 'lib1.so' and program B needs an object that is in library 'lib2.so'.

       

      Since we have many programs we provide the same list of libraries (lib1.so and lib2.so) and what we find is that program A has a dependency on lib1.so and lib2.so, despite the fact that is does not need any object from lib2.so.

       

      This is resulting in many dependencies that we would like to avoid. Would anyone know whether this is unavoidable or whether it is just a matter of instructing the linker better.

       

      Below please find a sample of the build script (generated by CA Gen).

       

      CC -xarch=v9 -w  -mt -m64 -DIEF_CM -DIEF_SOL -DIEF_ORACLE -DIEF_PROLOGUE  -I./ 

      -I/opt/app/profits/coolgen/runtime/include -I/usr/include -I/usr/include/sys

      -I/opt/app/profits/oracle/ora11g/rdbms/public -DSNPLOG -DNOTRACE -DBM_RT

      -I$TUXDIR/include -o /opt/app/profits/ONLINE/build/DEP/D0317V BS-49bf.c 

      -L${TUXDIR}/lib /opt/app/profits/coolgen/runtime/obj/bgntuxt_dtu.o

      /opt/app/profits/ONLINE/build/DEP/D0317V.o

      /opt/app/profits/ONLINE/build/DEP/IMP75813.o

      /opt/app/profits/ONLINE/build/DEP/DPGETLME.o

      /opt/app/profits/ONLINE/build/DEP/DEP008S1.o

      /opt/app/profits/ONLINE/build/DEP/IMP14257.o

      /opt/app/profits/ONLINE/build/DEP/DEP006S1.o

      /opt/app/profits/ONLINE/build/DEP/DEP007G1.o

      /opt/app/profits/ONLINE/build/DEP/IMP35949.o

      -L/opt/app/profits/online/appl/LIBS/archive/ -lDCASCADE

      -L/opt/app/profits/online/appl/LIBS/ -lIMP22DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP28DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP03DGL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP08DGL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP39DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP51DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP49DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP24DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP31DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP20DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP50DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP30DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP11DGL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP07DGL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP52DSL

      -L/opt/app/profits/online/appl/LIBS/ -lCNM01DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP35DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP45DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP09DSL

      -L/opt/app/profits/online/appl/LIBS/ -lEAB04DSL

      -L/opt/app/profits/online/appl/LIBS/ -lEAB05DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP46DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP16DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP32DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP44DSL

      -L/opt/app/profits/online/appl/LIBS/ -lDEP01DSL -L/opt/app/profits/online/appl/L

      IBS/ -lIMP26DSL -L/opt/app/profits/online/appl/LIBS/ -lIMP23DSL

      -L/opt/app/profits/online/appl/LIBS/ -lEAB08DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP22DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP28DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP03DGL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP08DGL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP39DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP51DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP49DSL

      -L/opt/app/profits/online/appl/LIBS/ -lIMP24DSL

      -L/opt/app/profits/coolgen/runtime/lib -lae_tuxedo_tp -lae_oracle -ldprt.85

      -lae_common_c -lae_userexits_c -lmbyte -lgxlate -lvwrt.85

      -L/opt/app/profits/oracle/ora11g/lib   -lclntsh  -lsocket -lnsl -lm -ldl -laio

      -lposix4 -lc -lCrun -lCstd -lpthread

      /opt/app/profits/ONLINE/build/DEP/gversion.o -lcurses  -ltux -lbuft   -lfml

      -lfml32 -lengine -R/usr/lib/lwp -lpthread -lposix4 -lsocket -lnsl -lm -lnsl

      -lsocket

       

      Your help is very much appreciated!

       

      Thanks,

      Jean Paul