[csw-maintainers] Adding files from /usr/lib/64/ won't work
Dagobert Michelsen
dam at opencsw.org
Tue Jul 2 10:54:49 CEST 2013
Hi Laurent,
Am 01.07.2013 um 23:45 schrieb Laurent Blume <laurent at opencsw.org>:
> On 01/07/2013 22:43, Dagobert Michelsen wrote:
>> Sure :-) It goes like this:
>>
>> - there are versions built for 32 and 64 bit built in different directories like
>> work/<platform>/build-isa-<isa>
>> - these are then merged together to work/<platform>/pkgroot
>> - from there the files for the packages are picked
>>
>> Please see also my "Advanced mGAR" talk at
>> http://sourceforge.net/apps/trac/gar/wiki/Learning%20the%20details
>>
>> Inspection shows that the files are already missing in pkgroot/, so the problem is
>> in the merge phase. The relevant definitions are beginning at
>> http://sourceforge.net/apps/trac/gar/browser/csw/mgar/gar/v2/gar.mk#L772
>> Per default only stuff from bin/, sbin/, lib/ and libexec/ (all in /opt/csw)
>> is propagated for a 64 bit build, but not /usr/lib. If you also want /usr/lib
>> you need something like
>> EXTRA_MERGE_DIRS_isa-extra += /usr/lib
>>
>> I have not tested it, please give it a try, if it doesn't work I'll have a deeper
>> look, then please mail your directory on the buildfarm in your home directory.
>
> It's going somewhere :-)
>
> I tried your line, then this:
> EXTRA_MERGE_DIRS_isa-extra += /usr/lib/amd64
> EXTRA_MERGE_DIRS_isa-extra += /usr/lib/sparcv9
Ah, I see. The normal case is stuff is installed to /usr/lib/64
which is then relocated during merge. This is what merge-copy-relocated-only
does:
http://sourceforge.net/apps/trac/gar/browser/csw/mgar/gar/v2/gar.mk#L947
> The result is just a iittle off:
>
> work/install-isa-amd64/usr
> work/install-isa-amd64/usr/lib
> work/install-isa-amd64/usr/lib/amd64
> work/install-isa-amd64/usr/lib/amd64/nss_wins_csw.so.1
> work/install-isa-amd64/usr/lib/amd64/nss_winbind_csw.so.1
> work/pkgroot/usr
> work/pkgroot/usr/lib
> work/pkgroot/usr/lib/amd64
> work/pkgroot/usr/lib/amd64/amd64
> work/pkgroot/usr/lib/amd64/amd64/nss_wins_csw.so.1
> work/pkgroot/usr/lib/amd64/amd64/nss_winbind_csw.so.1
>
>
> Should I just install in /usr/lib even in 64 bit? It feels a little wrong…
You should install in /usr/lib/64 and set
EXTRA_MERGE_DIRS_isa-extra += /usr/lib
This will relocate /usr/lib/64 to /usr/lib/amd64 and /usr/lib/sparcv9.
I know this is complex, but I am only responsible for the implementation,
not the concept ;-)
Best regards
-- Dago
--
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896
More information about the maintainers
mailing list