Go Back   ZeroC Forums > Help Center

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 12-16-2005
orphean orphean is offline
Registered User
 
 
Join Date: Dec 2005
Location: NY
Posts: 15
Send a message via Yahoo to orphean
-->
Compiling Ice-3 error

Hi.

I am trying to compile Ice3 on a Linux machine.

pradab@bar:~/Ice-3.0.0$gcc --version
gcc (GCC) 3.3.2
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

but, when i compile it, this is the error i'm getting..

c++ -Xlinker -rpath -Xlinker /tmp/pradhan/ICE/Ice-3.0.0/lib -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g -L../../lib -o ../../bin/transformdb Tra
nsformAnalyzer.o TransformVisitor.o Transformer.o transformdb.o Grammar.o Scanner.o AssignVisitor.o Data.o Error.o Functions.o Exception.o Parser.o Pr
int.o Util.o -lSlice -lIceXML -lFreeze -lIce -lIceUtil -lpthread -L/sw/external/berkeley-db-4.2.52/lib -ldb_cxx -lexpat
67 Transformer.o: In function `FreezeScript::RecordDescriptor::execute(IceUtil:: Handle<FreezeScript::SymbolTable> const&)':
68 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1889: undefined reference to `Dbt:bt[in-charge]()'
69 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1889: undefined reference to `Dbt:bt[in-charge]()'
70 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1890: undefined reference to `Dbc::get(Dbt*, Dbt*, unsigned)'
71 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1904: undefined reference to `Dbt:bt[in-charge](void*, unsigned)'
72 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1905: undefined reference to `Dbt:bt[in-charge](void*, unsigned)'
73 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1908: undefined reference to `Dbt::~Dbt [in-charge]()'
74 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1908: undefined reference to `Dbt::~Dbt [in-charge]()'
75 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1908: undefined reference to `Dbt::~Dbt [in-charge]()'
76 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1908: undefined reference to `Dbt::~Dbt [in-charge]()'
77 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1924: undefined reference to `Dbt::~Dbt [in-charge]()'
78 Transformer.o:/home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1924: more undefined references to `Dbt::~Dbt [in-charge]()' follow
79 Transformer.o: In function `FreezeScript::RecordDescriptor::execute(IceUtil:: Handle<FreezeScript::SymbolTable> const&)':
80 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1933: undefined reference to `Dbc::close()'
81 /home/pradab/Ice-3.0.0/src/FreezeScript/Transformer.cpp:1943: undefined reference to `Dbc::close()'
82 transformdb.o: In function `transformDb(bool, IceInternal::Handle<Ice::Communicator> const&, DbEnv&, DbEnv&, std::basic_string<char, std::char_traits<
char>, std::allocator<char> > const&, IceInternal::Handle<Freeze::Connection> const&, std::vector<Db*, std::allocator<Db*> >&, IceUtil::Handle<Slice::
Unit> const&, IceUtil::Handle<Slice::Unit> const, DbTxn*, bool, bool, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
83 /home/pradab/Ice-3.0.0/src/FreezeScript/transformdb.cpp:112: undefined reference to `Db:b[in-charge](DbEnv*, unsigned)'
84 /home/pradab/Ice-3.0.0/src/FreezeScript/transformdb.cpp:113: undefined reference to `Db:pen(DbTxn*, char const*, char const*, DBTYPE, unsigned, int)
'

Is it a problem with my current berkely db distribution?

So I tried compiling the berkeley db distrib that comes with your ThirdParty.tar.gz, but I face this error

/usr/bin/ld: .libs/libdb_cxx-4.3.so: undefined versioned symbol name __frame_state_for@@GLIBC_2.0
/usr/bin/ld: failed to set dynamic section sizes: Bad value
collect2: ld returned 1 exit status
make: *** [libdb_cxx-4.3.la] Error 1


any clues please help!
__________________
Abhay Pradhan
Infosys Technologies Limited
Reply With Quote
  #2 (permalink)  
Old 12-16-2005
beagles's Avatar
beagles beagles is offline
ZeroC Staff
 
Name: Brent Eagles
Organization: ZeroC, Inc
Project: Ice Developer
 
Join Date: Feb 2003
Location: Newfoundland
Posts: 110
You are correct. You need Berkeley DB 4.3.29 to build Ice.

Quote:
/usr/bin/ld: .libs/libdb_cxx-4.3.so: undefined versioned symbol name __frame_state_for@@GLIBC_2.0
/usr/bin/ld: failed to set dynamic section sizes: Bad value
collect2: ld returned 1 exit status
make: *** [libdb_cxx-4.3.la] Error 1
I'm not sure why you are getting this build error. Did you follow the instructions provided by Sleepycat for building Berkeley DB? Failing that, it looks like there could be something wrong with your environment or compiler installation. If you are using a 'stock' compiler/binutils installation that came with your Linux distribution, you might want to check with that distribution's publisher to see if there are known issues. If you built and installed GCC yourself, try checking the version of binutils you are using as well as the configuration options you used for building GCC.
Reply With Quote
  #3 (permalink)  
Old 12-16-2005
orphean orphean is offline
Registered User
 
 
Join Date: Dec 2005
Location: NY
Posts: 15
Send a message via Yahoo to orphean
-->
Thanks!

I don't want the dependency of Berkeley Db. Is there a way I can take it out? I just want ICE, I do not want Freeze/FreezeScript etc etc..

Right now, I have just commented out Freeze/FreezeScript etc from the top level makefile. Is this an OK approach?

I want the most minimalistic distribution...
__________________
Abhay Pradhan
Infosys Technologies Limited
Reply With Quote
  #4 (permalink)  
Old 12-16-2005
bernard's Avatar
bernard bernard is offline
ZeroC Staff
 
Name: Bernard Normier
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Palm Beach Gardens, FL
Posts: 816
Freeze is also used by IceGrid and IceStorm. If you want a really minimal Ice, maybe you should try Ice-E.

Cheers,
Bernard
__________________
Bernard Normier
ZeroC, Inc.
Reply With Quote
  #5 (permalink)  
Old 12-16-2005
orphean orphean is offline
Registered User
 
 
Join Date: Dec 2005
Location: NY
Posts: 15
Send a message via Yahoo to orphean
-->
Thanks!

I've downloaded ICE-E and looking at the demo. Hmm, can I use Dynamic Interface Invocation (DII) with ICE-E ?

is there some documentation on this?
__________________
Abhay Pradhan
Infosys Technologies Limited
Reply With Quote
  #6 (permalink)  
Old 12-17-2005
mes's Avatar
mes mes is offline
ZeroC Staff
 
Name: Mark Spruiell
Organization: ZeroC, Inc.
Project: Ice Developer
 
Join Date: Feb 2003
Location: California
Posts: 971
Quote:
Originally Posted by orphean
I've downloaded ICE-E and looking at the demo. Hmm, can I use Dynamic Interface Invocation (DII) with ICE-E ?

is there some documentation on this?
Dynamic invocation is not supported in Ice-E. See the Ice-E README file for a detailed description of the differences between Ice and Ice-E. You can refer to the Ice manual for information on the features supported by Ice-E.

Take care,
- Mark
Reply With Quote
  #7 (permalink)  
Old 12-19-2005
orphean orphean is offline
Registered User
 
 
Join Date: Dec 2005
Location: NY
Posts: 15
Send a message via Yahoo to orphean
-->
another problem now...

While compiling ICE-3, this is the error I get..

c++ -Xlinker -rpath -Xlinker /tmp/pradhan/ICE/Ice-3.0.0/lib -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g -L../../lib -o ../../bin/transformdb TransformAnalyzer.o TransformVisitor.o Transformer.o transformdb.o Grammar.o Scanner.o AssignVisitor.o Data.o Error.o Functions.o Exception.o Parser.o Print.o Util.o -lSlice -lIceXML -lFreeze -lIce -lIceUtil -lpthread -L/tmp/pradhan/DB/lib -ldb_cxx -lexpat
/usr/lib/libdb_cxx-3.3.so: undefined reference to `cerr'
/usr/lib/libdb_cxx-3.3.so: undefined reference to `ostream:perator<<(char const *)'
collect2: ld returned 1 exit status
make[2]: *** [../../bin/transformdb] Error 1
make[2]: Leaving directory `/home/pradab/Ice-3.0.0/src/FreezeScript'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/pradab/Ice-3.0.0/src'
make: *** [all] Error 1

__________________
Abhay Pradhan
Infosys Technologies Limited
Reply With Quote
  #8 (permalink)  
Old 12-19-2005
beagles's Avatar
beagles beagles is offline
ZeroC Staff
 
Name: Brent Eagles
Organization: ZeroC, Inc
Project: Ice Developer
 
Join Date: Feb 2003
Location: Newfoundland
Posts: 110
Something still doesn't seem right with your Berkeley DB installation. The error message seems to indicate that the libdb_cxx you are linking to is for version 3.3 of Berkeley DB. Did you install Berkeley DB 4.3 to /usr/lib? If so, you should verify that the libdb_cxx symbolic link references libdb_cxx-4.3.so. If you installed it somewhere else, you need to specify Berkeley DB's location by setting the DB_HOME environment variable or directly modifying the config/Make.rules file in your Ice source distribution.

Cheers
Reply With Quote
  #9 (permalink)  
Old 12-19-2005
orphean orphean is offline
Registered User
 
 
Join Date: Dec 2005
Location: NY
Posts: 15
Send a message via Yahoo to orphean
-->
Thank you!

Yes, that was the problem. I had to have a symbolic link...

ln -s libdb_cxx-4.4.so libdb_cxx-3.3.so

ICe built for me.

cheers! and thanks for all your support!!
abhay
__________________
Abhay Pradhan
Infosys Technologies Limited
Reply With Quote
  #10 (permalink)  
Old 01-10-2006
OrNot OrNot is offline
Registered User
 
Name: Bin.Li
Organization: GE Healthcare
Project: Enterprise solution
 
Join Date: Jun 2005
Location: Shanghai
Posts: 157
Send a message via MSN to OrNot
-->
hi,
I am compiling the ice in Red Hat Linux Enterprise 4 and getting some errors:

c++ -shared -Xlinker -rpath -Xlinker /opt/Ice-3.0.0/lib -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g -L../../lib -o ../../lib/libFreeze.so.3.0.0 -Wl,-h,libFreeze.so.30 CatalogData.o Catalog.o ConnectionF.o ConnectionI.o Connection.o DB.o EvictorF.o EvictorI.o EvictorIteratorI.o Evictor.o EvictorStorage.o Exception.o IndexI.o Index.o MapI.o ObjectStore.o PingObject.o SharedDbEnv.o SharedDb.o TransactionHolder.o TransactionI.o Transaction.o Util.o -lIce -lIceUtil -ldb_cxx -lpthread
/usr/bin/ld: cannot find -ldb_cxx

I have set the DB_HOME to the right path and has the lib named libdb_cxx . Even I changed -ldb_cxx in the make rule to the -libdb_cxx , the errors are same except the "can not find -libdb_cxx".

I have fellowed Benard's post and complied successfuly the erkeleyDB.4.3 ( ../dist/config --enable_cxx --enable-java).

What did I miss?

TIA

OrNot
__________________
Looking for the nails with my favorite hammer, ICE.
-------------------------------------------
Huo.Fei
GE Healthcare
Bin.Li@ge.com
--------------------------------------------
Reply With Quote
  #11 (permalink)  
Old 01-10-2006
bernard's Avatar
bernard bernard is offline
ZeroC Staff
 
Name: Bernard Normier
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Palm Beach Gardens, FL
Posts: 816
It's a problem with DB_HOME. You should see -L$(DB_HOME)/lib on this link-line.

Did you export DB_HOME? If for some reason the env variable does not work, you can also edit config/Make.rules to set DB_HOME.

Cheers,
Bernard
__________________
Bernard Normier
ZeroC, Inc.
Reply With Quote
  #12 (permalink)  
Old 01-10-2006
OrNot OrNot is offline
Registered User
 
Name: Bin.Li
Organization: GE Healthcare
Project: Enterprise solution
 
Join Date: Jun 2005
Location: Shanghai
Posts: 157
Send a message via MSN to OrNot
-->
sorry, I haven't crawled out of my hole yet .
Here are the errors:


c++ -Xlinker -rpath -Xlinker /opt/Ice-3.0.0/lib -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g -L../../lib -o ../../bin/transformdb TransformAnalyzer.o TransformVisitor.o Transformer.o transformdb.o Grammar.o Scanner.o AssignVisitor.o Data.o Error.o Functions.o Exception.o Parser.o Print.o Util.o -lSlice -lIceXML -lFreeze -lIce -lIceUtil -lpthread -L/usr/local/BerkeleyDB.4.3/lib -ldb_cxx -L/usr/local/lib -lexpat

../../lib/libFreeze.so: undefined reference to `Db::set_errcall(void (*)(char const*, char*))'
../../lib/libFreeze.so: undefined reference to `Db::stat(void*, unsigned int)'
collect2: ld returned 1 exit status

It seems a lib was not found. But I have set

LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.3
__________________
Looking for the nails with my favorite hammer, ICE.
-------------------------------------------
Huo.Fei
GE Healthcare
Bin.Li@ge.com
--------------------------------------------

Last edited by OrNot : 01-10-2006 at 05:04 AM.
Reply With Quote
  #13 (permalink)  
Old 01-10-2006
benoit's Avatar
benoit benoit is offline
ZeroC Staff
 
Name: Benoit Foucher
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Rennes, France
Posts: 1,540
Did you do a make clean after setting DB_HOME?

I suspect that you have compiled Ice with an old BerkeleyDB version (the one installed with your system, check /usr/include/db_cxx.h) but you're linking it with a recent version (the one from /usr/local/BerkeleyDB.4.3).

The easiest to use the BerkeleyDB build from your /usr/local/BerkeleyDB.4.3 directory is to edit Ice-3.0.0/config/Make.rules and set the DB_HOME variable to /usr/local/BerkeleyDB.4.3.

Note that you'll need to do a "make clean" after this change and start the build from scratch again. You should see the argument "-I/usr/local/BerkeleyDB.4.3/include" when Freeze is being compiled and "-L/usr/local/BerkeleyDB.4.3/lib" when it's being linked.

Benoit.
Reply With Quote
  #14 (permalink)  
Old 01-10-2006
OrNot OrNot is offline
Registered User
 
Name: Bin.Li
Organization: GE Healthcare
Project: Enterprise solution
 
Join Date: Jun 2005
Location: Shanghai
Posts: 157
Send a message via MSN to OrNot
-->
Thank you Benoit.
OK now. Making clean is necessary.
__________________
Looking for the nails with my favorite hammer, ICE.
-------------------------------------------
Huo.Fei
GE Healthcare
Bin.Li@ge.com
--------------------------------------------
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ice-3.1 error compiling generated file xdm Help Center 3 07-14-2006 12:20 AM
Error compiling Freeze Anhur Help Center 2 06-06-2006 04:39 AM
Ice3 compiling error with gcc 4.1.0 umber Help Center 2 12-17-2005 11:42 PM
Compiling Ice-1.5.1 on FreeBSD5.3Beta5 error liguoqiang Bug Reports 1 10-22-2004 12:14 PM
Compiling ICE with VC 6.0 jpm Help Center 2 05-30-2003 06:51 PM


All times are GMT -4. The time now is 11:01 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.