On Tuesday 05 July 2011 14:47:35 Zhang, Qiang Z wrote:
I have got more findings. In Arch.cc the IdString class seems don’t works.
It requires the sat-pool being initialized, as the pool keeps all the strings.
The asSting() method of archs always return empty string, which result in the size of _compatSet is always 1.
-------
In Arch.cc: in ArchCompatSet ctor (about line 331):
//
defCompatibleWith( _sh4, _noarch );
defCompatibleWith( _sh4a, _noarch,_sh4 );
//
///////////////////////////////////////////////////////////////////
--> // dumpOn( USR ) << endl;
}
Uncomment the dumpOn and the compatsets will be dumped to the zypp logfile
(ZYPP_LOGFILE=- or some filename). Should look like this:
ArchCompatSet:
noarch 0\
________________________________________________________________ 0
i386 2\
______________________________________________________________1_ 2
i486 3\
_____________________________________________________________11_ 6
i586 4\
____________________________________________________________111_ 14
i686 5\
___________________________________________________________1111_ 30
...
x86_64 7\
_________________________________________________________111111_ 126
...
ia64 10\
______________________________________________________1____1111_ 542
s390 11\
_____________________________________________________1__________ 1024
...
In the log check that a line
[zypp::satpool] PoolImpl.cc(PoolImpl):179 Creating sat-pool.
occurs before the
[zypp] Arch.cc(ArchCompatSet):331 ArchCompatSet:
...
-------
Please adapt the meego-dont-use-macro.patch you sent to write out like this:
target.addCompatBit( assertCompatSetEntry( arch0_r )._idBit );
+ MIL << "In defCompatibleWith:" << '('<