[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PROGRAMMERING] c/libc kompilering til gammel platform



Klaus S. Madsen wrote:
On Thu, Nov 15, 2007 at 11:17:23 +0100, Morten Wegelbye Nissen wrote:
Klaus S. Madsen wrote:

En helt anden løsning på problemet, kunne evt. være at lave en tar-fil
af rod-fil systemet på den maskine programmet i sidste ende skal køre
på, pakke det ud på din udviklings maskine, chroot'e ind i biblioteket
hvor du har udpakket filerne, og installere en GCC (formentlig vha. en
binær pakke et eller andet sted fra, ihvertfald til at begynde med). Så
kan du oversætte programmet chrootet ind i det bibliotek, og så vil det
automatisk passe sammen med den libc version du har på din target
maskine.

Now we are talking, det er helt klart en model man kunne bruge. Men er det så ikke et problem at jeg ikke køre samme kerne version i begge ender?

Hvis du ikke begynder at bruge "moderne" ting, som f.eks. futex'es eller lignende, eller begynder at parse /proc filer (eller /sys for den sags skyld), så skulle du være rimelig sikker på at det skulle virke.

Men det er generelt en god ide at læse man-siderne for de system kald du
bruger, specielt VERSIONS, CONFORMING TO, NOTES og BUGS sektionerne. På
f.eks. futex man-siden kan man se at de dukkede op i Linux version
2.5.7, men først nåede deres nuværende form i 2.6.7.


Beklager min åbenlyse clueness i det her :)

Jeg har arbejdet lidt i 2 retninger, den ene er med chroot osv. den anden er static links.

Når jeg linker mit helloworld program statisk får jeg en "FATAL: wrong kernel version" når jeg køre den på target. Går ud fra at det er fordi jeg linker de forkerte libs ind. Har brugt
gcc -nostdlibs -L<sti til libs fra target> helloworld.c


Den anden kan jeg ikke rigtigt få til at spille, så jeg har lige behov, hvis nogen gider at få bekræftet fremgangsmåden til at gøre det stunt.
Jeg har hentet hele TARGETS filsystem og lagt det i ~/dev/c/box, næste skridt er så at finde en gcc i binær som virker?


./Morten the eternal newbie - som dog har svært ved at give op.

 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2007-12-01, 02:01 CET [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *