Opened 14 years ago

Closed 14 years ago

#33 closed defect (invalid)

Compilation fails with elfpp

Reported by: Frédéric Pétrot Owned by: developers
Priority: major Component: IP-Cores
Keywords: Cc:

Description

Me again, ... I just updated, svn works fine, thx. However, compiling topcells/caba-vgmn-multi_timer-mips32 gives the following ouput:

from /home/petrot/soclib/soclib/lib/elf_file_loader/libelfpp/src/elfpp_symbol.cc:27:

/home/petrot/soclib/soclib/lib/dpp/source/include/dpp/linked_list: In member function ‘Xconstvalue& dpp::linked_list_iterator<X, id, Xnode, Xconstvalue, forward, smart>::operator*() const [with X = elfpp::reloc, int id = 0, Xnode = dpp::linked_list_node, Xconstvalue = elfpp::reloc, bool forward = true, bool smart = false]’: /home/petrot/soclib/soclib/lib/elf_file_loader/libelfpp/src/elfpp_symbol.cc:53: instantiated from here /home/petrot/soclib/soclib/lib/dpp/source/include/dpp/linked_list:144: error: ‘dpp::linked_list_item<elfpp::reloc, 0, false>’ is an inaccessible base of ‘elfpp::reloc’ /home/petrot/soclib/soclib/lib/dpp/source/include/dpp/linked_list: In member function ‘void dpp::linked_list<X, id, smart>::push_back(X&) [with X = elfpp::reloc, int id = 0, bool smart = false]’: /home/petrot/soclib/soclib/lib/elf_file_loader/libelfpp/src/elfpp_symbol.cc:69: instantiated from here /home/petrot/soclib/soclib/lib/dpp/source/include/dpp/linked_list:340: error: ‘dpp::linked_list_item<elfpp::reloc, 0, false>’ is an inaccessible base of ‘elfpp::reloc’ soclib-cc: * Action failed with return value `256'. Stop. soclib-cc: Waiting for unfinished jobs make: * [simulation.x] Erreur 1

Any clew ? Thx

Change History (4)

comment:1 in reply to:  description Changed 14 years ago by becoulet

Replying to petrot:

Me again, ... I just updated, svn works fine, thx. However, compiling topcells/caba-vgmn-multi_timer-mips32 gives the

Your svn may not be up to date.

soclib/lib/elf_file_loader/libelfpp is an external reference, please make sure your svn up didn't fail.

You can check this easily in: soclib/lib/elf_file_loader/libelfpp/include/elfpp/elfpp_reloc.hh

The last revision should contains:

class reloc : public reloc_table_t::item_type,

public reloc_modlist_t::item_type

And your error is: ‘dpp::linked_list_item<elfpp::reloc, 0, false>’ is an inaccessible base of ‘elfpp::reloc’ Which was once the case when inheritance was protected, but has been fixed:

r537 | diaxen | 2009-09-23 18:09:10 +0200 (Wed, 23 Sep 2009) | 1 line made compile with g++ 4.4

If you still have the error, please indicate the compiler version you are using.

comment:2 Changed 14 years ago by Frédéric Pétrot

The SVN went fine, petrot@laurier:Developpement/soclib [4) svn update

Récupération de la référence externe dans 'soclib/lib/dpp/source/include/dpp' Référence externe à la révision 549.

Récupération de la référence externe dans 'soclib/lib/elf_file_loader/libelfpp/src' Référence externe à la révision 549.

À la révision 1387.

and the soclib/lib/elf_file_loader/libelfpp/include/elfpp/elfpp_reloc.hh is correct. The gcc version: petrot@laurier:Developpement/soclib [6) gcc --version gcc (Ubuntu 4.4.1-4ubuntu8) 4.4.1 Copyright (C) 2009 Free Software Foundation, Inc.

Thx, Fred

comment:3 in reply to:  2 Changed 14 years ago by becoulet

Replying to petrot:

The SVN went fine, petrot@laurier:Developpement/soclib [4) svn update

Ok, so the error message you have can not be generated by the file you have.

I notice your working directory is ~/Developpement/soclib when you perform the update, but the compiler complains about an error in an other directory: /home/petrot/soclib/. It may be ok if it's a symbolic link, but it's worth checking.

If you are not sure if the up to date elfpp_reloc.hh file is actually compiled, please add a #error line to check and let me know.

comment:4 Changed 14 years ago by Frédéric Pétrot

Resolution: invalid
Status: newclosed

Sorry, my fault, thanks for pointing this out. I had actually 3 soclib repositories corresponding to 3 versions that I finally mixed up. Fred

Note: See TracTickets for help on using tickets.