1754398 Members
3218 Online
108813 Solutions
New Discussion юеВ

Re: Query

 
praveen ganeshan
Occasional Advisor

Query

Hi,

We are using QT 3.3.7 on the HP-UX server 11i and the compiler version
is aCC: HP ANSI C++ B3910B A.03.70 when we compiled , using aCC and
without -w option, the compilation shows warning messages for some of
the files as "# External symbol too long, truncated from 4308 to 4000 Bytes,"

How we can overcome these warnings?
I think due to these warning, wer are getting the error of "ld:
Unsatisfied symbol" in linking with those files.
11 REPLIES 11
Peter Godron
Honored Contributor

Re: Query

Hi Praveen,
and welcoem to the forums !
are you compiling with or without optimisation (-O) ? Try it with optimisation.
If you are using debug option, please switch that off as well.

Please also read:
http://forums1.itrc.hp.com/service/forums/helptips.do?#33 on how to reward any useful answers given to your questions.
praveen ganeshan
Occasional Advisor

Re: Query

Hi peter,
The -O option is already there, and we didn't added any debug (-g) options.

Dennis Handly
Acclaimed Contributor

Re: Query

>How we can overcome these warnings?

You ignore them. You can use +W### where ### is the message number.
praveen ganeshan
Occasional Advisor

Re: Query

Hi dennis,
I tried out the compilation by giving the +W### option ,well the warning's got suppressed and still we are getting the same "unSatisfied symbols" error.
Dennis Handly
Acclaimed Contributor

Re: Query

>still we are getting the same "unsatisfied symbols" error.

Of course, these are completely unrelated.
You need to give some examples of your unsat error messages.
praveen ganeshan
Occasional Advisor

Re: Query

Hi dennis,
This is the error I got when compiling

aCC -AA -Aa +DAportable -Wl,+s -O -Wl,+b,/usr/local/qt/32/lib -O -Wl,+b,/usr/local/qt/32/lib -o ../bin/2dPatRec_cmd ../obj/2dPatRec.o ../obj/Configuration.o ../obj/Controller.o ../obj/Erro
r.o ../obj/DataLoader.o ../obj/DataLoaderAlio.o ../obj/DataLoaderBma.o ../obj/DataLoaderEff.o ../obj/DataLoaderWrk.o ../obj/DataLoaderCp.o ../obj/DataLogger.o ../obj/DataLoggerAlio.o ../obj/D
ataLoggerBma.o ../obj/DataLoggerBmaoth.o ../obj/DataLoggerBmaout.o ../obj/DataLoggerBmasout.o ../obj/DataLoggerBmawaf.o ../obj/DataLoggerClr.o ../obj/DataLoggerOldClr.o ../obj/DataLoggerClr2.o
../obj/DataLoggerCpr.o ../obj/DataLoggerCpr2.o ../obj/DataLoggerCpl.o ../obj/DataLoggerEff.o ../obj/DataLoggerWrk.o ../obj/FAMatchFunctions.o ../obj/Functions.o ../obj/Grid.o ../obj/Level0Cat
Definition.o ../obj/Level0CatLog.o ../obj/Level0DataSet.o ../obj/MatchFunctions.o ../obj/StructDefs.o ../obj/matchrule_lex.o ../obj/matchrule_tab.o -L/usr/local/qt/32/lib -L/usr/lib/X11R6 -lm
-lqt-mt -lXext -lX11 -lSM -lICE
/usr/ccs/bin/ld: Unsatisfied symbols:
loginName() (first referenced in ../obj/Controller.o) (code)
DataLoaderBvf::setChipList(const QStringList &) (first referenced in ../obj/Controller.o) (code)
checkLicense(const char *,const char *,const char *) (first referenced in ../obj/2dPatRec.o) (code)
typeid* (first referenced in ../obj/Controller.o) (data)
DataLoggerAprc::DataLoggerAprc(const std::basic_string,std::allocator> &,const std::basic_string,std::allocator> &,bool) (first r
eferenced in ../obj/Controller.o) (code)
DataLoaderBvf::DataLoaderBvf(const std::basic_string,std::allocator> &,const std::basic_string,std::allocator> &) (first referenc
ed in ../obj/Controller.o) (code)
DataOp::ByteDataUncompress(unsigned short *,long,long &) (first referenced in ../obj/Level0CatLog.o) (code)
Database::Database(const DBUrl &) (first referenced in ../obj/Controller.o) (code)
Database::Entry::Val(const QString &,bool *) const (first referenced in ../obj/Controller.o) (code)
alloca (first referenced in ../obj/matchrule_tab.o) (code)
DataOp::DataOp()%1 (first referenced in ../obj/Level0CatLog.o) (code)
DBUrl::fromString(const QString &) (first referenced in ../obj/Controller.o) (code)
DataOp::~DataOp() (first referenced in ../obj/Level0CatLog.o) (code)
*** Error exit code 1
Dennis Handly
Acclaimed Contributor

Re: Query

>This is the error I got when compiling

(Well, really during linking.)

>-AA -Aa

If you have -AA, you don't need -Aa.

>-lqt-mt

Did you want a space there? (-mt is also an option.)

>/usr/ccs/bin/ld: Unsatisfied symbols:
loginName() Controller.o)
DataLoaderBvf::setChipList(const QStringList &) (Controller.o)
checkLicense(const char*,const char*,const char*) (2dPatRec.o)

Basically, where do you think these should be defined?? Did you forget an object file or lib on the link line?

Your libs are after your objects, good. You could have an archive lib ordering problem. You can solve this by adding -Wl,+n.
praveen ganeshan
Occasional Advisor

Re: Query

Hi Dennis,

-lqt-mt is the single option,there is no space between -lqt-mt.
I tried by compiling with the -lqt option alone but at that point it will give some error like
/usr/ccs/bin/ld: Can't find library: "qt"
But all the paths regarding QT is correctly configured only, could you please suggest some solutions for this error



Dennis Handly
Acclaimed Contributor

Re: Query

>could you please suggest some solutions for this error

I did. Try -Wl,+n. If that doesn't help you will have to scan your source for definitions of those functions and find out why they aren't being compiled.

I assume you know you can't mix aC++ and g++ sources and will get unsats like this?