Menu

#7 Installation of 0.3.8.1 fails on Gentoo 2006.0

open
nobody
None
5
2007-01-29
2007-01-29
Anonymous
No

I'm getting the following bug when emerge valknut.

OS: Gentoo 2006.0
GCC: 3.4.4

dceditserver.cpp: In member function `void DCEditServer::SetProfile(DCConfigHubProfile*)':
dceditserver.cpp:78: error: 'class DCConfigHubProfile' has no member named 'm_bExtHubCount'
dceditserver.cpp: In member function `void DCEditServer::GetProfile(DCConfigHubProfile*)':
dceditserver.cpp:97: error: 'class DCConfigHubProfile' has no member named 'm_bExtHubCount'
make[3]: *** [dceditserver.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/net-p2p/valknut-0.3.8/work/valknut-0.3.8/valknut'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/net-p2p/valknut-0.3.8/work/valknut-0.3.8/valknut'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-p2p/valknut-0.3.8/work/valknut-0.3.8'
make: *** [all] Error 2

!!! ERROR: net-p2p/valknut-0.3.8 failed.
Call stack:
ebuild.sh, line 1611: Called dyn_compile
ebuild.sh, line 968: Called qa_call 'src_compile'
environment, line 3188: Called src_compile
valknut-0.3.8.ebuild, line 27: Called die

!!! emake failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/net-p2p/valknut-0.3.8/temp/build.log'.

Discussion

1 2 > >> (Page 1 of 2)
  • Nobody/Anonymous

    build.log

     
  • Nobody/Anonymous

    Logged In: NO

    Any idea?

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    This compile error I recognise is due to attempting to build valknut 0.3.8 against dclib 0.3.7, which will not work. You need to compile and install dclib 0.3.8 first.

     
  • Nobody/Anonymous

    Logged In: NO

    Dclib 0.3.8 was the first, because i typed emerge valknut. And dclib is installed, but valknut not!

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    Can you post the output of "locate cdcproto.h" to check you only have one set of headers from dclib installed, and that there are no conflicting files installed in locations such as /usr/local/include ?

     
  • Nobody/Anonymous

    Logged In: NO

    /usr/local/include/verlihub/cdcproto.h
    /usr/include/dclib/cdcproto.h

    I have an another headerfile, but in another directory. So there shouldn't conflict. Is it true?

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    Yes it looks like you only have one set of dclib headers installed which is good. Can you make sure they are from dclib 0.3.8 by doing "grep m_bExtHubCount /usr/include/dclib/cconfig.h". You should get some lines of output:
    m_bExtHubCount = TRUE;
    m_bExtHubCount = p->m_bExtHubCount;
    bool m_bExtHubCount;

    If you get no output, that means the headers are from dclib 0.3.7 and you need to remove them and get 0.3.8 installed. Post the build.log from dclib if you still have problems.

     
  • Nobody/Anonymous

    Logged In: NO

    localhost usr # grep m_bExtHubCount /usr/include/dclib/cconfig.h
    m_bExtHubCount = TRUE;
    m_bExtHubCount = p->m_bExtHubCount;
    bool m_bExtHubCount;

    It's OK, and in valknut's build.log has "--with-libdc=/usr" so it's ok too. Here is dclib's build.log. http://linux-vip.sytes.net/others/build.log

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    OK, I really don't know what the problem here is.
    Can you try following the compile instructions at

    http://www.dcs.warwick.ac.uk/~csucda/valknut.html

    to install valknut into ~/valknut-root/

    If that works, then it would indicate the problem is somewhere in the gentoo ebuilds and not with dclib/valknut itself.

     
  • Nobody/Anonymous

    Logged In: NO

    I hear, that if gcc is under 4.0, than can't compile valknut 0.3.8. Isn't is true?

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    No, I can compile valknut 0.3.8 fine on RedHat Enterprise Linux 4 with gcc 3.4.5

     
  • Nobody/Anonymous

    Logged In: NO

    I also use gentoo and compiling and running valknut just works fine for me
    my config is:

    gcc 4.1.1
    dclib 3.8
    Valknut 3.8.1

    on amd64

    maybe try

    echo "net-p2p/valknut ~amd64" >> /etc/portage/package.keywords
    echo "net-p2p/dclib ~amd64" >> /etc/portage/package.keywords
    emerge --unmerge valknut dclib
    emerge -av --deep valknut

    although you'll have to replace the amd64 with your system i.e. x86

    check the version number of both packages again before compiling.
    you can never be too careful ;)
    also you'll most likely will have probs with connections to apex dc++.
    you still have to install the dclib patch on
    http://www.dcs.warwick.ac.uk/~csucda/patches/dclib-0.3.8-bugfix-apexdc-compat.patch
    by hand
    if this doesn't work try a revdep-rebuild
    Cheers

     
  • netcelli_gentoo

    netcelli_gentoo - 2007-04-03

    Logged In: YES
    user_id=1549895
    Originator: NO

    Hi; I just tried to compile it on my Gentoo box; I have the same error.

    Tested with:
    dclib 3.8
    Gcc 4.1.1
    Gcc 3.4.6

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    Unfortunately I still don't really know what is causing this problem, nor why it affects some people but not others.

    Does the newly attached patch help at all? (Apply with "patch -p1 < file.patch" to valknut 0.3.8.1)
    File Added: valknut-0.3.8.1-dceditserver-rearrange-headers.patch

     
  • netcelli_gentoo

    netcelli_gentoo - 2007-04-03

    Logged In: YES
    user_id=1549895
    Originator: NO

    Sorry; I fixed that error, it was beacuse it gets the old dclib I have installed instead the one in valknut-root ;) Now I got another problem:

    usr/lib/libSM.so /usr/lib/libICE.so -lpthread -lssl -lcrypto -lbz2
    dcconfig.o: In function `DCConfig::SaveDCGui()':
    dcconfig.cpp:(.text+0x547d): undefined reference to `CConfig::SaveConfigXmlViaTemp(CString, _xmlDoc*)'
    dcconfig.o: In function `DCConfig::SaveDCFriendList(CStringList*)':
    dcconfig.cpp:(.text+0xa5c9): undefined reference to `CConfig::SaveConfigXmlViaTemp(CString, _xmlDoc*)'
    dcconfig.o: In function `DCConfig::SaveDCHubFilter(CStringList*)':
    dcconfig.cpp:(.text+0xafd3): undefined reference to `CConfig::SaveConfigXmlViaTemp(CString, _xmlDoc*)'
    collect2: ld returned 1 exit status
    make[3]: *** [valknut] Error 1

    Thk :)

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    Can you make sure you are linking against the correct libdc.so/.a, by renaming/deleting any old versions?

    I've seen this problem before and not managed to fix it. It seems odd that both this and the m_bExtHubCount occur when I've filled in the doxygen comment. There may be some misplaced { or } or ; somewhere in cconfig.h/.cpp that I just cannot see.

     
  • Nobody/Anonymous

    Logged In: NO

    Yea; I checked it and its ok :)

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    netcelli: this patch:

    http://sourceforge.net/tracker/index.php?func=detail&aid=1703042&group_id=181579&atid=897769

    may fix the "CConfig::SaveConfigXmlViaTemp() undefined" problem (it was written to fix a compile error in dclib due to a missing include). It's for dclib, which you will need to recompile before attempting to build valknut.

    If you still have problems with the official gentoo ebuilds, it may be best to file a bug in the gentoo bugzilla.

     
  • netcelli_gentoo

    netcelli_gentoo - 2007-04-18

    Logged In: YES
    user_id=1549895
    Originator: NO

    I used that patch but its still the same :( I havent used Gentoo ebuild but downloaded valknut from sf.net project

     
  • netcelli_gentoo

    netcelli_gentoo - 2007-05-06

    Logged In: YES
    user_id=1549895
    Originator: NO

    I tried yestarday the Valknut SVN; I got the same problem :(

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    I'm afraid there's not much I can do about this.

    If you're really stuck, you could try fixing the "CConfig::SaveConfigXmlViaTemp() undefined" error by REVERSING this patch:
    http://www.dcs.warwick.ac.uk/~csucda/patches/valknut-0.3.7-20061104-safe-config-saving.patch
    But I don't recommend it, because something is still wrong with your dclib install.

    Dclib and Valknut compile fine on Fedora Core 6 and RHEL 4 which are the only systems I have access to. I hear that neider manages to compile it on Mac OS X.

    I suggest filing a bug in gentoo bugzilla, and hopefully people more familiar with building valknut on gentoo will be able to help you.

     
  • netcelli_gentoo

    netcelli_gentoo - 2007-07-14

    Logged In: YES
    user_id=1549895
    Originator: NO

    Hi,

    I tried again to compile Valknut by commenting all lines with SaveConfigXmlViaTemp function into dbconfig.cpp. Its not a good idea, the compilation goes on but it breaks on new error:

    dcgui.o: In function `DCGuiApp::eventFilter(QObject*, QEvent*)':
    dcgui.cpp:(.text+0xcbf9): undefined reference to `CFileManager::IsCreateShareListRunning()'
    collect2: ld returned 1 exit status
    make[3]: *** [valknut] Error 1

    Thk

     
  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    OK Forget hacking valknut, you'll only end up undoing every change that depends on dclib. Instead, concentrate on fixing your dclib install, that is where the problem is.

    In summary, we know this is a LINKER problem, the header files appear to be installed fine, and would have caused a different error at compile time if the header files were incorrect.

    First make sure that there are no old libdc.a and libdc.so files anywhere.

    Then try examining your libdc to see why the newly adding function symbols are not present e.g.

    [ejs@localhost ~]$ nm /usr/lib/libdc.so.0.0.1 | fgrep IsCreateShareListRunning
    00056cc0 T _ZN12CFileManager24IsCreateShareListRunningEv
    [ejs@localhost ~]$ c++filt _ZN12CFileManager24IsCreateShareListRunningEv
    CFileManager::IsCreateShareListRunning()

    If you get no output from the "nm | fgrep" commands, that means your libdc does not contain the new function, either because it is an old version, or because it did not build correctly. In that case, try rebuilding and reinstalling dclib with the filled in doxygen comments removed from the header files, replacing them with "/** */". I've attached a patch which does this for the two functions you've had problems with.
    File Added: dclib-0.3.10-remove-doxygen-comments.patch

     
  • Edward Sheldrake

    Removes some doxygen comments

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.