Results 1 to 6 of 6

Thread: Freeze does not compile for me in Ice 2.1.0

  1. #1
    aclysma is offline Registered User
    Join Date
    Mar 2005
    Posts
    3

    Question Freeze does not compile for me in Ice 2.1.0

    I'm pretty sure this is NOT a 2.1.0 bug because I had the same problem before. I was kind of hoping the problem would go away with 2.1.0.

    Anyways, my build freezes when it hits freeze. How ironic. I've looked around on the forum and it seems that not having the right kind of berkley db installed would do this.

    I am using 4.2.52-90, and I imagine suse does the compile option for c++ because the suse 9.2 built in rpm "provides" libdb-4.2.so and libdb_cxx-4.2.so

    Please keep in mind I'm pretty new to linux, so don't rule anything out that should be obvious! I probably havn't done it.

    I'll post an excerpt of my build. For grins, I also tried it as root.

    Code:
    IC -Wall -D_REENTRANT ConnectionF.cpp
    c++ -c -I.. -I../../include  -DFREEZE_API_EXPORTS   -g  -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT ConnectionI.cpp
    In file included from ../Freeze/ConnectionI.h:15,
                     from ConnectionI.cpp:10:
    ../Freeze/TransactionI.h:14:20: db_cxx.h: No such file or directory
    In file included from ../Freeze/ConnectionI.h:16,
                     from ConnectionI.cpp:10:
    ../Freeze/SharedDbEnv.h:16:20: db_cxx.h: No such file or directory
    In file included from ../Freeze/MapI.h:14,
                     from ConnectionI.cpp:11:
    ../Freeze/SharedDb.h:14:20: db_cxx.h: No such file or directory
    In file included from ../Freeze/MapI.h:14,
                     from ConnectionI.cpp:11:
    ../Freeze/SharedDb.h:41: error: `Db' was not declared in this scope
    ../Freeze/SharedDb.h:41: error: syntax error before `,' token
    ../Freeze/SharedDb.h:48: error: syntax error before `*' token
    ../Freeze/SharedDb.h:53: error: semicolon missing after declaration of `
       Freeze::MapIndexI'
    ../Freeze/SharedDb.h: In member function `const std::string
       Freeze::MapIndexI::name() const':
    ../Freeze/SharedDb.h:45: error: `_index' undeclared (first use this function)
    ../Freeze/SharedDb.h:45: error: (Each undeclared identifier is reported only
       once for each function it appears in.)
    ../Freeze/SharedDb.h: At global scope:
    ../Freeze/SharedDb.h:53: error: syntax error before `:' token
    ../Freeze/SharedDb.h:56: error: `Db' was not declared in this scope
    ../Freeze/SharedDb.h:56: error: template argument 1 is invalid
    ../Freeze/SharedDb.h:56: error: ISO C++ forbids declaration of `_db' with no
       type
    I'm using a fairly "normal" suse 9.2 pro, with gcc-v

    Code:
    philipd@linux:~> gcc -v
    Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.4/specs
    Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada --disable-checking --libdir=/usr/lib --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux
    Thread model: posix
    gcc version 3.3.4 (pre 3.3.5 20040809)
    Whatever I need to do or whatever information is needed, I'll be more than happy to oblige.

    Thanks
    Philip

  2. #2
    matthew's Avatar
    matthew is offline ZeroC Staff
    Name: Matthew Newhook
    Organization: ZeroC, Inc.
    Project: Internet Communications Engine
    Join Date
    Feb 2003
    Location
    NL, Canada
    Posts
    1,458
    Hi,

    My guess is that you don't have the berkeley db 4.2.52 development RPM (db-devel 4.2.52) installed since the compilation is not finding db_cxx.h. Try installing this http://www.novell.com/products/linux.../db-devel.html RPM and let us know if this solves your problem.

    Regards, Matthew

  3. #3
    bernard's Avatar
    bernard is offline ZeroC Staff
    Name: Bernard Normier
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Palm Beach Gardens, FL
    Posts
    1,294
    Depending on your distribution, your db-devel or db4-devel will or will not include the libdb_cxx.so symbolic link.

    It should be included, but it's unfortunately not obvious to everybody:
    https://bugzilla.redhat.com/beta/show_bug.cgi?id=149191

    If you don't have this symbolic link, I recommend to create it yourself (as root); alternatively you can edit Ice's config/Make.rules and replace -ldb_cxx with -ldb_cxx-4.2.

    Cheers,
    Bernard

  4. #4
    aclysma is offline Registered User
    Join Date
    Mar 2005
    Posts
    3

    Question gcc 3.3

    Excelent advice. Installing the development package fixed it for me. Like I said... something simple

    But now I have another problem.

    Code:
    philipd@linux:~/build/Ice-2.1.0/bin> ./slice2cpp
    ./slice2cpp: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
    I think this is caused by using gcc 3. Is there something I need to do to make it work with libstdc++.so.5?

    Thanks
    Philip
    Last edited by aclysma; 03-11-2005 at 03:49 AM. Reason: I didn't mean to post yet!

  5. #5
    aclysma is offline Registered User
    Join Date
    Mar 2005
    Posts
    3

    mysteriously is working

    Well, I somehow mysteriously got it working. It isn't working under root but it is working under my username, philipd. I'm not sure why and if someone knows offhand, I'd appreciate the education But regardless, it works, and now I get to play with Ice.

    By the way, thanks for putting out such a great product and lending a hand so readily. This is such a great community.

    Thanks
    Philip

  6. #6
    benoit's Avatar
    benoit is offline ZeroC Staff
    Name: Benoit Foucher
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Rennes, France
    Posts
    2,196
    I'm glad you got it work . I must say I was a bit puzzled by the error! I don't quite understand why it's looking for libstdc++.so.6 if you only have libstdc++.so.5 installed. It sounds like the root user and your regular user have different environments... The best way to track this down is to compare the LD_LIBRARY_PATH environment variable under both accounts. You can also use the ldd command to see against which library slice2cpp is linked and how the libraries are resolved in the current environment:

    $ ldd ./slice2cpp

    You should try this under both accounts and see the differences.

    Hope this helps!

    Benoit.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 4
    Last Post: 09-02-2010, 12:11 PM
  2. Replies: 5
    Last Post: 06-21-2010, 04:03 AM
  3. Unable to compile Ice
    By YuGiOhJCJ in forum Help Center
    Replies: 20
    Last Post: 01-16-2009, 08:27 PM
  4. Freeze::ConnectionPtr from Freeze::Map Obj
    By paolo in forum Comments
    Replies: 1
    Last Post: 01-05-2008, 05:02 PM
  5. Ice - purify compile
    By StuartA in forum Help Center
    Replies: 1
    Last Post: 03-29-2006, 09:23 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •