Wat leuk om te zien dat een dermate oude driver module voor een erg oud kaartje toch nog een patch krijgt[PATCH] 3c509: bus registration fix
- Don't call eisa_driver_unregister() if eisa_driver_register() failed.
- Properly propagate error values.
Laat ik de 3c509 nou net gebruiken in een antiek systeempje hier. Even kijken of die zijn heeft om weer anderhalf uur lang een kernel te bakken
Als je stil blijft staan, komt de hoek wel naar jou toe.
Heeft dat systeem een EISA bus dan?cybersteef schreef op dinsdag 14 maart 2006 @ 18:20:
[...]
Wat leuk om te zien dat een dermate oude driver module voor een erg oud kaartje toch nog een patch krijgt
Laat ik de 3c509 nou net gebruiken in een antiek systeempje hier. Even kijken of die zijn heeft om weer anderhalf uur lang een kernel te bakken
3c509 FTW! idd best geinig om te zien dat zulke ouwe meuk toch nog aandacht krijgtcybersteef schreef op dinsdag 14 maart 2006 @ 18:20:
[...]
Wat leuk om te zien dat een dermate oude driver module voor een erg oud kaartje toch nog een patch krijgt
Laat ik de 3c509 nou net gebruiken in een antiek systeempje hier. Even kijken of die zijn heeft om weer anderhalf uur lang een kernel te bakken
Nu met Land Rover Series 3 en Defender 90
Taaaa taa taa taaaa taa taa ta taaataaaaa.
Installeer/gebruik jij ook al die kernels?
"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!
Heeft toch een nieuwe kernel nodig en dan heb ik gelijk die patch voor de 3c509.
Ben benieuwd hoe lang de compilatie gaat duren...
Als je stil blijft staan, komt de hoek wel naar jou toe.
Ik run Debian Testing en Unstable en dan kom je regelmatig nieuwe kernels tegen.webfreakz.nl schreef op maandag 20 maart 2006 @ 12:50:
Installeer/gebruik jij ook al die kernels?
yup, vind het altijd wel leuk om ermee te spelen.webfreakz.nl schreef op maandag 20 maart 2006 @ 12:50:
@ A casema user:
Installeer/gebruik jij ook al die kernels?
Taaaa taa taa taaaa taa taa ta taaataaaaa.
Verwijderd
Ik draai Debian Testing, maar -zo- vaak kom je nou ook weer niet nieuwe kernels tegen. Recent kwam wel 2.6.15 binnen (bij mij een paar keer zelfs als identieke versie), maar de voorgaande was 2.6.12. Vergeleken met Debian Stable is het relatief natuurlijk wel vaak, want daar komt gewoon -geen- nieuwe kernel versie voor tussen de major releases.OlafvdSpek schreef op maandag 20 maart 2006 @ 22:58:
[...]
Ik run Debian Testing en Unstable en dan kom je regelmatig nieuwe kernels tegen.
Even op gevoel komt bij Debian Testing zo elke 4 maanden een kernel update.
Klopt, maar dat komt vooral door issues als de ramdisk generators en udev.Verwijderd schreef op woensdag 22 maart 2006 @ 19:51:
Ik draai Debian Testing, maar -zo- vaak kom je nou ook weer niet nieuwe kernels tegen. Recent kwam wel 2.6.15 binnen (bij mij een paar keer zelfs als identieke versie), maar de voorgaande was 2.6.12. Vergeleken met Debian Stable is het relatief natuurlijk wel vaak, want daar komt gewoon -geen- nieuwe kernel versie voor tussen de major releases.
Even op gevoel komt bij Debian Testing zo elke 4 maanden een kernel update.
In unstable is 2.6.16 nu al beschikbaar.
Verwijderd
Zal best. Unstable is leuk om in een VM of aparte bak erbij te draaien en even te spieken wat er binnenkort allemaal naar je desktop gaat komen. Laatst nog was gnome bijvoorbeeld nog totaal broken in unstable, dat is dus niet iets wat je ook maar voor prive 'computeren' (mail, surfen etc) wil draaienOlafvdSpek schreef op woensdag 22 maart 2006 @ 20:13:
[...]
Klopt, maar dat komt vooral door issues als de ramdisk generators en udev.
In unstable is 2.6.16 nu al beschikbaar.
Nouja daar ben ik het niet mee eens.Verwijderd schreef op woensdag 22 maart 2006 @ 21:41:
[...]
Zal best. Unstable is leuk om in een VM of aparte bak erbij te draaien en even te spieken wat er binnenkort allemaal naar je desktop gaat komen. Laatst nog was gnome bijvoorbeeld nog totaal broken in unstable, dat is dus niet iets wat je ook maar voor prive 'computeren' (mail, surfen etc) wil draaien
Ik draai testing al een aardige tijd op mijn normale werkpc en dat gaat prima. Natuurlijk moet je de updates goed in de gaten houden en wil het gebroken zijn dan ga je terug en hou je die pakketten on hold totdat het probleem is opgelost... Maar wanneer er veel pakketten gebroken zijn dan is dat in mijn ervaring vrij snel weer gefixed.
Elke dag dronken is ook een geregeld leven.
Verwijderd
Uhm, lees je nu verkeerd of maak je hierboven een typo?Justin_Time schreef op donderdag 23 maart 2006 @ 15:58:
[...]
Nouja daar ben ik het niet mee eens.
Ik draai testing al een aardige tijd op mijn normale werkpc en dat gaat prima.
Ik had het over UNSTABLE
Zelf draai ik ook testing als mijn normale config voor mijn werk PC (development). De 'huiskamer' PC (surfen en emailen) is een Windows bak. Ik vind de stabiliteit van testing ongeveer gelijk aan Windows grofweg. Ondanks de naam zie ik testing als het 'gewone' OS voor de werk of prive desktop. Stable is (IMHO) alleen nodig voor servers, en unstable voor als je zelf Linux software developped en wilt testen.
Elke dag dronken is ook een geregeld leven.
Verwijderd
Sommige packages draai ik uit Experimental, en zelfs daar heb ik zeer zelden problemen mee...
En dan ook nog even vermelden dat ik een volledig 64bit userland heb, icm een athlon64.
[ Voor 31% gewijzigd door Verwijderd op 24-03-2006 16:27 ]
Verwijderd
Wat voor server is het dan?Verwijderd schreef op zaterdag 25 maart 2006 @ 01:38:
Meestal is 't dus gewoon 'n dag wachten en dan is 't weer gefixt.
Een server (of desktop) die een dag 'down' is kan ik echt niet gebruiken.
Verwijderd
Daar hebben ze mij steeds binnen 2 minuten van mijn probleem kunnen afhelpen.
Dus een hele dag wachten is zeker niet nodig hoor.
Maar als je dit soort (milde) gezeik niet wil, dan moet je natuurlijk gewoon geen Debian Unstable draaien.
2.6.16 is er al een tijdje
Is er een reden om dan 2.6.15.7 te gaan doen?
Als je stil blijft staan, komt de hoek wel naar jou toe.
Ja. Er zijn toch ook nog 2.4 releases terwijl 2.6 er al is?cybersteef schreef op dinsdag 28 maart 2006 @ 23:18:
[...]
2.6.16 is er al een tijdje
Is er een reden om dan 2.6.15.7 te gaan doen?
[ Voor 3% gewijzigd door webfreakz.nl op 29-03-2006 14:17 ]
"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!
Maar dan praat je ook echt over een wezenlijk verschil.OlafvdSpek schreef op dinsdag 28 maart 2006 @ 23:51:
[...]
Ja. Er zijn toch ook nog 2.4 releases terwijl 2.6 er al is?
Is het serieus nuttig om 2.6.15.7 te gebruiken als 2.6.16 gewoon normaal beschikbaar is?
Ik heb verder geen changelogs door zitten nemen maar ik mag aannemen dat 2.6.16 dezelfde wijzigigen/fixes/features bevat als 2.6.15.7. Toch?
Als je stil blijft staan, komt de hoek wel naar jou toe.
[ Voor 24% gewijzigd door webfreakz.nl op 29-03-2006 14:23 ]
"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!
Dat lijkt me niet.cybersteef schreef op woensdag 29 maart 2006 @ 14:21:
Maar dan praat je ook echt over een wezenlijk verschil.
Is het serieus nuttig om 2.6.15.7 te gebruiken als 2.6.16 gewoon normaal beschikbaar is?
Ik heb verder geen changelogs door zitten nemen maar ik mag aannemen dat 2.6.16 dezelfde wijzigigen/fixes/features bevat als 2.6.15.7. Toch?
Nadat 2.6.15 gereleased is worden er geen features meer aan toegevoegd (gok ik). Daar heb je dus 2.6.16 voor nodig. Er worden echter nog wel (kritieke) bugs gefixed.
Voor gebruikers die niet het risico willen lopen op extra bugs door die nieuwe features is dus 2.6.15.
Als je stil blijft staan, komt de hoek wel naar jou toe.
Hij heeft wel gelijk, het nut van 2.6.15.7 is dat er geen nieuwe "experimentele" dingen aan toegevoegd worden die nog niet zoveel getest zijn.cybersteef schreef op woensdag 29 maart 2006 @ 23:54:
Hmm ja het puntje van Olaf kan ik helemaal volgen
(al is alles wat in de mailline kernel komt al behoorlijk goed getest in bijvoorbeeld -mm kernels)
Heeft sinds kort zijn wachtwoord weer terug gevonden!
Verwijderd
Geen hippe bedrijfsserver ofzo, gewoon 'n bakje thuis. Een dag down wil ik ook niet, maar dat gebeurt ook niet (vaker door mijn ingevingen om eraan te prutsen dan door unstable). Het is hooguit een pakket dat niet wil installeren/upgraden omdat er iets met de dependencies niet goed zit. Zo had ik 'n paar dagen geleden problemen met python (dat met apt-get -f install te fixen was) en wat eerder met vim (tijdelijk gefixt door de testingversie te installeren).OlafvdSpek schreef op zaterdag 25 maart 2006 @ 08:49:
[...]
Wat voor server is het dan?
Een server (of desktop) die een dag 'down' is kan ik echt niet gebruiken.
Probleem met 2.6.15 is dat er enorm veel regressies in performance in zaten tov 2.6.14. Dit hebben ze in 2.6.16 opgelost met een heleboel vernieuwingen, dus sowieso snap ik het nut niet van 2.6.15 op dit moment. Vaak komt er nog 1 pointrelease en gaan ze daarna gewoon verder met de volgende versie.OlafvdSpek schreef op woensdag 29 maart 2006 @ 14:36:
[...]
Dat lijkt me niet.
Nadat 2.6.15 gereleased is worden er geen features meer aan toegevoegd (gok ik). Daar heb je dus 2.6.16 voor nodig. Er worden echter nog wel (kritieke) bugs gefixed.
Voor gebruikers die niet het risico willen lopen op extra bugs door die nieuwe features is dus 2.6.15.
Nadeel van 2.6.16 is dat ze inmiddels weer de hele seriele driver stack omver hebben gegooid door allerlei structs weg te gooien en te vervangen met GPL-only functies, waarbij niet-GPL modemdrivers helemaal buitenspel worden gezet (intel 536 en 537 modems gaan niet werken zonder de kernel te patchen of de intel drivers te re-licensen naar GPL).
Ik heb nu een eindelijk een kernel die een beetje werkt zoals ik die wil hebben. Maar daarvoor heb ik aardig wat out-of-kernel patches en modules voor moeten opzoeken, apply-en en sommige ook nog moeten aanpassen. Daarom blijf ik een poos op 2.6.15.4_JGC_ schreef op donderdag 30 maart 2006 @ 13:10:
[...]
Probleem met 2.6.15 is dat er enorm veel regressies in performance in zaten tov 2.6.14. Dit hebben ze in 2.6.16 opgelost met een heleboel vernieuwingen, dus sowieso snap ik het nut niet van 2.6.15 op dit moment.
Bijvoorbeeld de ivtv module die ik gebruik voor mijn tvkaart, daar zijn ze mee bezig om die in de mainline kernel te krijgen, erg mooi natuurlijk, maar voordat het zover ik heb je voor elke nieuwe versie van de kernel ook een nieuwe versie van ivtv tools nodig.
Ik wacht dus nog even voordat het wat rustiger wordt op dat gebied.
Maar ik ben wel benieuwd, wat zijn sommige van de performance regressies en verbeteringen in 2.6.15 en 2.6.16?
Heeft sinds kort zijn wachtwoord weer terug gevonden!
Verwijderd
Toevallig dat je dat zegt, want ik merk zonet dat mijn geluid op de laptop niet meer werkt... (kernel 2.6.16-ck5).Borromini schreef op vrijdag 14 april 2006 @ 12:56:
Nog altijd geen patch voor de hda-intel module blijkbaar.
Is dit een bug in 2.6.16?
http://cvs.archlinux.org/...ent&only_with_tag=CURRENT
Verwijderd
[ Voor 100% gewijzigd door Razr op 21-04-2006 19:16 ]
IVTV in de kernelVerwijderd schreef op donderdag 20 april 2006 @ 22:36:
Wat zijn nou eigenlijk een beetje de grote komende veranderingen die op stapel staan voor de 2.6 kernel? M.a.w. waar kijkt iedereen hier het meeste naar uit?
Reiser4 in de kernel
IVTV wordt op dit moment in de kernel gepropt (maar dat is nog niet volledig klaar), reiser4 duurt nog een poos.
Heeft sinds kort zijn wachtwoord weer terug gevonden!
2.6.16.13[PATCH] NETFILTER: SCTP conntrack: fix infinite loop (CVE-2006-1527)
[NETFILTER]: SCTP conntrack: fix infinite loop
fix infinite loop in the SCTP-netfilter code: check SCTP chunk size to
guarantee progress of for_each_sctp_chunk(). (all other uses of
for_each_sctp_chunk() are preceded by do_basic_checks(), so this fix
should be complete.)
Based on patch from Ingo Molnar <mingo@elte.hu>
changelog
patch

Hier is een overzichtelijke changelog:
http://wiki.kernelnewbies.org/LinuxChanges
En hier de complete source:
http://ftp.easynet.nl/pub...v2.6/linux-2.6.17.tar.bz2
[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]
De bug-fix only release cycle is de release met 4 cijfers (2.6.17.x). In 2.6.18 zal weer het 1 en anders aan nieuwe functionaliteit meekomen (o.a. vanuit -mm)
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
- Userspace Interaction Local Privilege Escalation Vulnerability (CVE-2006-3626) (gefixed in 2.6.17.5)
- Local Privilege Escalation and Denial of Service Vulnerability (CVE-2006-2451) (gefixed in 2.6.17.4)
Die laatste is overigens de reden van de 'Debian compromising'.
2.6.17.5
changelog
patch
Verwijderd
Elke keer dat ik een nieuwe kernel binnen krijg... stuff breaks... Nu ben ik een technisch persoon, programmeur, etc Ik snap hoe ik iets dat breekt weer kan maken (meestal), maar het blijft rot. X vliegt er uit, VMWare stopt er mee etc.
Niet of minder technische personen trekken dit gewoon niet. Zeggen dat ze dan maar wat meer moeten leren of niet de kernel moeten updaten is te cheap. Neven probleem is natuurlijk ook GCC zelf en het feit dat er voor x86 nooit een ABI is gemaakt (wel voor itanium btw), maar toch. Hier moet toch een oplossing voor te bedenken zijn?
Hier is een wat recentere tekst over dit issue, er staat alleen weinig nieuws in.Basically, I want people to know that when they use binary-only modules,
it's THEIR problem. I want people to know that in their bones, and I
want it shouted out from the rooftops. I want people to wake up in a
cold sweat every once in a while if they use binary-only modules.
[ Voor 11% gewijzigd door Gerco op 22-09-2006 00:21 ]
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!
ja, daar is goed over nagedacht, en nee, daar wordt niet aan gewerkt.Verwijderd schreef op vrijdag 22 september 2006 @ 00:09:
Wat ik me eigenlijk afvraag mbt de linux kernel, wordt het niet eens tijd dat er een stabiele binaire interface komt? Wordt daar eigenlijk uberhaupt wel aan gedacht of aan gewerkt?
als jij zelf je kernel gaat compilen, en je weet dat je binaire modules gebruikt, waarom rebuild je die modules dan niet ook?Elke keer dat ik een nieuwe kernel binnen krijg... stuff breaks... Nu ben ik een technisch persoon, programmeur, etc Ik snap hoe ik iets dat breekt weer kan maken (meestal), maar het blijft rot. X vliegt er uit, VMWare stopt er mee etc.
sorry? ik snap even de stap niet van niet technische mensen die toch met hun handen van de kernel af moeten blijven? mijn vriendin weet niet wat een kernel is, maar zij moet wel in staat zijn m te compileren? maar de stap naar het opnieuw compileren van binairy modules is dan weer te groot?Niet of minder technische personen trekken dit gewoon niet. Zeggen dat ze dan maar wat meer moeten leren of niet de kernel moeten updaten is te cheap.
ik vind het geen probleem, en dus zie ik echt niet waarom een stabiele ABI nodig is.Neven probleem is natuurlijk ook GCC zelf en het feit dat er voor x86 nooit een ABI is gemaakt (wel voor itanium btw), maar toch. Hier moet toch een oplossing voor te bedenken zijn?
It sounds like it could be either bad hardware or software
Verwijderd
Hmmm, je weet toch wel dat je ook nieuwe kernels binnen kunt krijgen zonder zelf te hoeven compilen? Onder Debian heb je bijvoorbeeld een systeem dat apt-get heet. Tegenwoordig is er zelf een leuke auto-updater widget. Hiermee krijg je bij bepaalde (populaire) distributies en of versies daarvan (bv Debian Testing, of Ubuntu) op gezette tijden een update voor de kernel binnen.smokalot schreef op vrijdag 22 september 2006 @ 00:39:
sorry? ik snap even de stap niet van niet technische mensen die toch met hun handen van de kernel af moeten blijven? mijn vriendin weet niet wat een kernel is, maar zij moet wel in staat zijn m te compileren?
En dan, als dat gebeurd...
Stuff breaks...
-JUIST- de niet-technische mensen willen VMWare draaien. Ook mijn lieve vriendin die hoogstwaarschijnlijk minder van computers af weet dan die van jou, gebruikt VMWare (zonder dat ze het zelf weet overigens, is gewoon een icon die ze clicked en die meteen de juiste image load).
Alleen, VMWare breekt dus zodra er een nieuwe kernel binnenkomt.
Nog leuker is dat als ik de nvidia driver installeer dat die er -ook- mee ophoudt bij elke f*kking kernel update.
Nu kan je wel pinnen op een vaste kernel release, maar dat vind ik het probleem negeren. Net zoals OS X en Windows gebruikers willen ook Linux gebruikers gewoon nieuwe updates binnen krijgen van van alles en nog wat.
als je juist netjes dat apt-get gebruikt gaat er in principe nooit iets mis. maar dan moet je niet zelf je nvidia-drivers zelf installeren. vmware dus ook via apt-get.Verwijderd schreef op vrijdag 22 september 2006 @ 01:15:
[...]
Hmmm, je weet toch wel dat je ook nieuwe kernels binnen kunt krijgen zonder zelf te hoeven compilen? Onder Debian heb je bijvoorbeeld een systeem dat apt-get heet. Tegenwoordig is er zelf een leuke auto-updater widget. Hiermee krijg je bij bepaalde (populaire) distributies en of versies daarvan (bv Debian Testing, of Ubuntu) op gezette tijden een update voor de kernel binnen.
En dan, als dat gebeurd...
Stuff breaks...
-JUIST- de niet-technische mensen willen VMWare draaien. Ook mijn lieve vriendin die hoogstwaarschijnlijk minder van computers af weet dan die van jou, gebruikt VMWare (zonder dat ze het zelf weet overigens, is gewoon een icon die ze clicked en die meteen de juiste image load).
Alleen, VMWare breekt dus zodra er een nieuwe kernel binnenkomt.
Nog leuker is dat als ik de nvidia driver installeer dat die er -ook- mee ophoudt bij elke f*kking kernel update.
Nu kan je wel pinnen op een vaste kernel release, maar dat vind ik het probleem negeren. Net zoals OS X en Windows gebruikers willen ook Linux gebruikers gewoon nieuwe updates binnen krijgen van van alles en nog wat.
It sounds like it could be either bad hardware or software
Verwijderd
Dan zou het idd goed gaan, maar hoe realistisch is dat? Nvidia doet dat gewoon niet, tenzij de hele (linux) wereld op apt-get over gaat. Gaan we meteen over naar een ander kritiek puntje op de Linux distributies (zodat het eigenlijk offtopic wordt hier); er is geen eenduidig distributie formaat. Nvidia heeft geen apt-get repo omdat ze niet 100 verschillende distributies apart willen supporten.smokalot schreef op vrijdag 22 september 2006 @ 01:21:
[...]
als je juist netjes dat apt-get gebruikt gaat er in principe nooit iets mis. maar dan moet je niet zelf je nvidia-drivers zelf installeren. vmware dus ook via apt-get.
Aan de andere kant kun je stellen dat juist de kracht van Linux de zeer grote diversiteit (of negatief gezecht; fragmentatie) is van het geheel. De enige bindende factor is eigenlijk nog wel de kernel. Moet dan juist niet de kernel voor een mechanisme zorgen om stabiliteit te garanderen?
Ik dacht trouwens dat juist Linus meer van de practische kant was. Lekker een monolitische kernel gaan designen terwijl het hele OS wereldje juist mirco kernels aan het aanbevelen was. Maar omwille van performance ging Linus voor het monolitische geheel. Als nu blijkt in de praktijk, dat die super fragiele binaire interface voor veel mensen voor problemen zorgt, en dat de alternatieve oplossing om wat voor reden dan ook niet haalbaar is, zou de kernel dan niet gewoon tegemoet moeten komen.
Wat zijn eigenlijk de nadelen van een stabiele ABI? Ik zie alleen maar voordelen...
Maar als Nvidia's license distributie door Debian zou toestaan, zou er zeker wel iemand zijn die de driver zou packagen (in non-free, dat wel).Verwijderd schreef op vrijdag 22 september 2006 @ 08:28:
Dan zou het idd goed gaan, maar hoe realistisch is dat? Nvidia doet dat gewoon niet, tenzij de hele (linux) wereld op apt-get over gaat. Gaan we meteen over naar een ander kritiek puntje op de Linux distributies (zodat het eigenlijk offtopic wordt hier); er is geen eenduidig distributie formaat. Nvidia heeft geen apt-get repo omdat ze niet 100 verschillende distributies apart willen supporten.
Waarschijnlijk het moeten ondersteunen van legacy code/functies.Wat zijn eigenlijk de nadelen van een stabiele ABI? Ik zie alleen maar voordelen...
Waarom moet die toestemming expliciet aangevraagd worden?_JGC_ schreef op vrijdag 22 september 2006 @ 09:05:
Debian mag gewoon de nvidia driver packagen zoals ze zelf willen, kant en klaar in non-free. Als Archlinux die toestemming zwart-op-wit van de nvidia licensing desk kan krijgen, dan lijkt me dat debian dat ook wel moet kunnen krijgen.
Het 'probleem' is dat Debian geen licenties wil gebruiken die anderen niet kunnen gebruiken. Als Debian die driver kan distribueren moeten de gebruikers hetzelfde kunnen zonder extra toestemming te moeten vragen.Het probleem is dat men niet verder kijkt dan de eigenlijke licentie, en ja, die verbiedt aangepaste distributie. Het is hetzelfde als met de officiele mozilla logo's, die mag je ook niet voeren zonder toestemming.
Dat nVidia en VMWare bokken is geen technische maar juridische issue. En dat is ook direct waarom er geen officiele Debian packages zijn. Van nVidia mag het repackaged worden, maar Debian wil niets hebben wat incompatibel is met de licentie van de kernel. Andere distro's zijn minder streng wat dat betreft. Met Gentoo kan ik op mijn bakken met nVidia videochip gewoon het volgende doen:Verwijderd schreef op vrijdag 22 september 2006 @ 08:28:
[...]
Dan zou het idd goed gaan, maar hoe realistisch is dat? Nvidia doet dat gewoon niet, tenzij de hele (linux) wereld op apt-get over gaat. Gaan we meteen over naar een ander kritiek puntje op de Linux distributies (zodat het eigenlijk offtopic wordt hier); er is geen eenduidig distributie formaat. Nvidia heeft geen apt-get repo omdat ze niet 100 verschillende distributies apart willen supporten.
1
| make && make modules_install && emerge nvidia-drivers && cp arch/i386/boot/bzImage /boot/kernel-x.x.x |
Dan breekt niets. Maar het probleem zit gewoon in een paar bedrijven die weigeren mee te doen aan de standaardmethodes van het OS. Gelukkig is er op videogebied waarschijnlijk binnenkort meer beweging aangezien Intel (videochipfabrikant #1 als je alle integrated meuk meetelt) source gereleased heeft van hun driver en AMD aangegeven heeft ATi's policy van closed drivers te heroverwegen
VMWare moet vooral oppassen voor Xen - Xen is ondertussen best volwassen en werkt uiteraard wel volledig samen met de kernel. Misschien iets om uit te proberen?

Ja, die is er: modules moeten gewoon tegelijk met kernel gecompileerd worden.Aan de andere kant kun je stellen dat juist de kracht van Linux de zeer grote diversiteit (of negatief gezecht; fragmentatie) is van het geheel. De enige bindende factor is eigenlijk nog wel de kernel. Moet dan juist niet de kernel voor een mechanisme zorgen om stabiliteit te garanderen?
Euh, microkernels waren anno 1991 hot (vooral dankzij Tanenbaum), maar de enige vorm waarin ze bruikbaar geworden zijn in de mainstream is met een monster van een monolithische service module erboven die voor applicaties er verdacht uitziet als een monolithische kernel (cf. Darwin met een Mach microkerneltje). Maar de micro<>monolithische discussie staat hier gewoon los van. Als je een GNU/Hurd port van de nVidia drivers zou hebben zou je tegen hetzelfde aanlopen. Linus heeft gekozen voor een interface op sourceniveau, niet eentje op binary niveau. Dat werkt prima met alle modules die als source aangeboden worden en *is* gewoon practisch...Ik dacht trouwens dat juist Linus meer van de practische kant was. Lekker een monolitische kernel gaan designen terwijl het hele OS wereldje juist mirco kernels aan het aanbevelen was. Maar omwille van performance ging Linus voor het monolitische geheel. Als nu blijkt in de praktijk, dat die super fragiele binaire interface voor veel mensen voor problemen zorgt, en dat de alternatieve oplossing om wat voor reden dan ook niet haalbaar is, zou de kernel dan niet gewoon tegemoet moeten komen.
Oslik blyat! Oslik!
Wat jij eigenlijk wilt is dat de kernel devvers support op zich nemen voor BLOBs die door anderen uitgegeven zijn. Dat ze iedere keer dat ze iets veranderen kijken of t nog wel werkt met al die BLOBs. Wat is het voordeel voor die kernel devvers? zij willen gewoon een goede kernel maken, en als dat betekent dat ie niet compatibel is met de vorige release dan is dat zo.
De verantwoordelijkheid voor een goed systeem, met onderdelen die elkaar kennen, ligt bij de distributie. Dus biedt bijvoorbeeld ubuntu de mogelijkheid om allerlei modules te installeren. Als je die gebruikt moet je er vanuit kunnen gaan dat het ook na een update werkt allemaal.
Maar nogmaals, ik zie echt het probleem niet. Mensen die er verstand van hebben doen t goed, mensen die er geen verstand van hebben ook, het gaat alleen mis bij mensen die er een beetje verstand van hebben, maar zichzelf niet goed kunnen inschatten. De vrijheid om je systeem te mollen als je dat perse wilt hoort ook bij Linux
It sounds like it could be either bad hardware or software
De ABI kan toch een bepaalde tijd stabiel blijven? Bv tussen major releases stabiel en daarna weer breken.OlafvdSpek schreef op vrijdag 22 september 2006 @ 08:54:
[...]
Waarschijnlijk het moeten ondersteunen van legacy code/functies.
Het probleem wordt een beetje verergert doordat de gebruikte compiler (gcc) op X86 dus ook al geen stabiele ABI heeft. Dat betekent dat je niet alleen perse moet compileren, maar dat je OOK nog eens de EXACT zelfde versie van gcc moet hebben staan. Verschil je 1 minor revisie nummer dan werkt het al mogelijk niet meer.
Ik ben geen kernel hacker, maar wel een long-time C++ programmeur. Een niet stabiele ABI is geen voordeel. Het is een zwakte van zowel gcc als het x86 platform.
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.
Dat zou kunnen, ik gokte maar wat.flowerp schreef op vrijdag 22 september 2006 @ 22:08:
De ABI kan toch een bepaalde tijd stabiel blijven? Bv tussen major releases stabiel en daarna weer breken.
Gcc veranderd toch geen ABI binnen een minor revisie (in een stable tree)?Het probleem wordt een beetje verergert doordat de gebruikte compiler (gcc) op X86 dus ook al geen stabiele ABI heeft. Dat betekent dat je niet alleen perse moet compileren, maar dat je OOK nog eens de EXACT zelfde versie van gcc moet hebben staan. Verschil je 1 minor revisie nummer dan werkt het al mogelijk niet meer.
Ik ben geen kernel hacker, maar wel een long-time C++ programmeur. Een niet stabiele ABI is geen voordeel. Het is een zwakte van zowel gcc als het x86 platform.
Binnen een minor wel zeker. 4.0 en 4.1 zijn niet compatible. Mischien bedoel je een minor.minor revisie? Is dat een vaste regel dan dat die dan niet veranderd?OlafvdSpek schreef op vrijdag 22 september 2006 @ 22:13:
[...]
Dat zou kunnen, ik gokte maar wat.
[...]
Gcc veranderd toch geen ABI binnen een minor revisie (in een stable tree)?
Ik ben genoeg install scripts tegen gekomen die altijd op een *exacte* versie checken. Dat gebeurd ook niet voor niks.
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.
Hmm, het tweede nummer zou ik niet echt de minor versie willen noemen. Ik bedoelde inderdaad het derde nummer.flowerp schreef op vrijdag 22 september 2006 @ 23:28:
Binnen een minor wel zeker. 4.0 en 4.1 zijn niet compatible. Mischien bedoel je een minor.minor revisie? Is dat een vaste regel dan dat die dan niet veranderd?
Ik denk dat er wel zo'n regel is (lijkt me logisch), maar ik kan hem niet zo snel vinden.
Lijkt mij ook wel logisch, maar op gevoelens kunnen we amper stabiele software bouwen. Ik wil natuurlijk tenminste een garantie hebben dat als ik een lib of object file compile dat die dan samen kan werken met andere binaries uit een specificieke gcc range.OlafvdSpek schreef op vrijdag 22 september 2006 @ 23:38:
[...]
Hmm, het tweede nummer zou ik niet echt de minor versie willen noemen. Ik bedoelde inderdaad het derde nummer.
Ik denk dat er wel zo'n regel is (lijkt me logisch)
Op sommige niet X86 platformen is dit wel geregeld voor C/C++ en ook voor andere talen is dit wel geregeld (Java, C#). Nu kun je wel zeggen, lekker eerlijk die laatste compilen beiden naar een VM. Maar een VM is ook maar gewoon een CPU, die toevallig weinig in hardware wordt geimplementeerd.
In die andere implementaties is het ook niet noodzakelijk dat telkens de ABI veranderd.
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.
waarom? in welk scenario zou je dat willen? als je programma open source is dan is het de taak aan distrobouwers om de boel netjes te incorpereren in hun systeem. Als dat niet zo is moet jij als binary leverancier inderdaad voor elk platform, en elke distro die jij wilt supporten een versie maken. Dat is de consequentie van het gesloten houden. Voor bv oracle is dat geen punt, die ondersteunen gewoon alleen dingen als SLES, RHES en debian stable, en geen ubuntu, gentoo, Fedora, LinSpire, enz enz. Er zullen ongetwijfeld mensen zijn die het ook op gentoo proberen te draaien, en dat zal ze vast lukken, maar oracle ondersteunt het niet. Je hebt het met dit soort dingen ook niet alleen over de ABI, maar ook over de locatie van bepaalde configuratiebestanden enzo. Ik ben verder nog nooit problemen tegengekomen met ABI gerelateerde dingen buiten de kernel. Ik heb alleen gehoord dat mozilla plugins soms niet kunnen werken als de gcc versies te ver uit elkaar liggen.flowerp schreef op zaterdag 23 september 2006 @ 00:06:
[...]
Lijkt mij ook wel logisch, maar op gevoelens kunnen we amper stabiele software bouwen. Ik wil natuurlijk tenminste een garantie hebben dat als ik een lib of object file compile dat die dan samen kan werken met andere binaries uit een specificieke gcc range.
De kernel heeft geen stabiele ABI, en zal die voorlopig ook niet krijgen, omdat ze er gewoon geen rekening mee willen houden, dat is namelijk moeite die ze liever willen besteden aan belangrijkere dingen. Dat betekent inderdaad dat binary kernel modules niet zomaar werken, maar nvidia en ati lossen dat op door er een wrapper omheen te compileren. Werkt prima voor mij.
[/quote]
Op sommige niet X86 platformen is dit wel geregeld voor C/C++ en ook voor andere talen is dit wel geregeld (Java, C#). Nu kun je wel zeggen, lekker eerlijk die laatste compilen beiden naar een VM. Maar een VM is ook maar gewoon een CPU, die toevallig weinig in hardware wordt geimplementeerd.
In die andere implementaties is het ook niet noodzakelijk dat telkens de ABI veranderd.[/quote]
ja, natuurlijk kun je een ABI vasthouden. En java (en in mindere mate C#) doen dat misschien juist wel omdat apps dan lekker portable zijn. Maarja, deze managed talen hebben naast veel voordelen ook hun nadelen.
Laatst had ik een discussie met een jongen die het belachelijk vond dat Ubuntu geen swapfiles gebruikt standaard, alleen een swappartitie. Hij beargumenteerde dat juist de doelgroep van ubuntu behoefte heeft aan deze flexibiliteit. Ik beargumenteerde dat het misschien wel beter is, misschien wel niet, maar dat het in ieder geval niet op het verlanglijstje staat van dingen die mijn vriendin graag in ubuntu zou zien, en dat is wel waar ze bij ubuntu hun prioriteiten zouden moeten leggen.
Misschien heb je wel gelijk en kost een stabiele ABI niet zoveel, maar het is op dit moment gewoon totaal niet belangrijk tov andere dingen die moeten gebeuren.
It sounds like it could be either bad hardware or software
Dit lijkt me zo'n inkopper dat de vraag echt andersom gesteld moet worden. In welke scenario zou je dit NIET willen?smokalot schreef op zaterdag 23 september 2006 @ 02:08:
[... Ik wil natuurlijk tenminste een garantie hebben dat als ik een lib of object file compile dat die dan samen kan werken met andere binaries uit een specificieke gcc range ... ]
waarom? in welk scenario zou je dat willen?
In Java kan ik bijvoorbeeld een .jar file (= verzameling gecompileerde code) zo in mijn project droppen en dan zijn de classes DIRECT beschikbaar voor mij als programmeur. Als ik wil debuggen op die lib voeg ik nog een 2de lib als source attachment toe. Het maakt in de regel (er zijn uitzonderingen) niet uit met welke compiler deze oorspronkelijke gecompileerd was. Sun JDK 1.2, 1.3, 1.4, 5.0, JDT 2, JDT 3... Het is echt drop in project en werken. Dit geeft me in Java projecten echt een enorm productiviteits voordeel.
Tevens kan ik door die stabiele ABI snel .jar files door collega's laten gebruiken, die hiervoor niet exact dezelfde compiler als ik hoeven te hebben. Voor een plug-in systeem is zoiets natuurlijk helemaal ideaal. Een OSGi implementatie als Eclipse werkt hierdoor enorm flexibel.
Als je het in de context van grid-computing bekijkt en aspecten als code-shipping in oogschouw neemt, dan zie je dat zo'n systeem bijna niet kan functioneren zonder een stabiele ABI. Het is ten eerste niet realistisch om te verlangen dat op elke node van het grid exact dezelfde gcc compiler geinstalleerd staat, en ten 2de wil je zeker niet bij elke code-ship perse moeten compileren. In het geval van C/C++ code zou dat laatste alleen een optie moeten zijn als je naar een compleet andere architectuur migreerd (bv van een x86 node naar een ppc node).
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.
mooi, dan zou ik vooral java gebruiken! gelukkig heb je die mogelijkheid ook, onder vele OSen. Ook onder linux, terwijl linux zelf helemaal geen stabiele ABI heeft.flowerp schreef op zaterdag 23 september 2006 @ 13:06:
[...]
Dit lijkt me zo'n inkopper dat de vraag echt andersom gesteld moet worden. In welke scenario zou je dit NIET willen?
In Java kan ik bijvoorbeeld een .jar file (= verzameling gecompileerde code) zo in mijn project droppen en dan zijn de classes DIRECT beschikbaar voor mij als programmeur. Als ik wil debuggen op die lib voeg ik nog een 2de lib als source attachment toe. Het maakt in de regel (er zijn uitzonderingen) niet uit met welke compiler deze oorspronkelijke gecompileerd was. Sun JDK 1.2, 1.3, 1.4, 5.0, JDT 2, JDT 3... Het is echt drop in project en werken. Dit geeft me in Java projecten echt een enorm productiviteits voordeel.
Dit is ook de belangrijkste reden dat Sun zo moeilijk doet over het opensourcen van java, omdat ze dan de controle kwijt zijn. Het blijkt echter dat de open source manier van werken weer andere voordelen heeft.
daarom wordt java ook gebruikt als pluginsysteem. De linux developers zien een pluginsysteem blijkbaar niet als toegevoegde waarde.Tevens kan ik door die stabiele ABI snel .jar files door collega's laten gebruiken, die hiervoor niet exact dezelfde compiler als ik hoeven te hebben. Voor een plug-in systeem is zoiets natuurlijk helemaal ideaal. Een OSGi implementatie als Eclipse werkt hierdoor enorm flexibel.
een bepaalde distributie heeft een bepaalde ABI, en zo gek is het toch niet om te verwachten dat een grid allemaal eenzelfde CPU architectuur heeft, en eenzelfde softwareomgeving? Als dat een probleem is moet je inderdaad uitwijken naar een hogere programmeertaal zoals java, .NET, of scriptingtalen. Daar worden dingen opgeofferd om meer garanties te bieden dat code werkt zonder opnieuw te compileren.Als je het in de context van grid-computing bekijkt en aspecten als code-shipping in oogschouw neemt, dan zie je dat zo'n systeem bijna niet kan functioneren zonder een stabiele ABI. Het is ten eerste niet realistisch om te verlangen dat op elke node van het grid exact dezelfde gcc compiler geinstalleerd staat, en ten 2de wil je zeker niet bij elke code-ship perse moeten compileren. In het geval van C/C++ code zou dat laatste alleen een optie moeten zijn als je naar een compleet andere architectuur migreerd (bv van een x86 node naar een ppc node).
Een stabiele ABI heeft alleen voordelen als een bedrijf een closed-source applicatie aan wil bieden, maar niet bereid is dat te schrijven in iets als java. Ik wil helemaal geen closed-source apps, en (hoewel ze zich dat misschien niet realiseert) mijn vriendin ook niet.
It sounds like it could be either bad hardware or software
-zucht- Ik had kunnen weten dat je meteen op Java zou gaan hameren als ik dat als voorbeeld zou gaan gebruiken.smokalot schreef op zaterdag 23 september 2006 @ 15:47:
[...]
mooi, dan zou ik vooral java gebruiken! gelukkig heb je die mogelijkheid ook
Plug-in systemen zijn net zo goed van toepassing op applicaties die in C/C++ zijn geschreven. Jaren geleden heb ik eens in een project gewerkt waarbij we een workflow engine hadden gebouwd, waarbij concrete tasks via een plug-in systeem toegevoegd konden worden. Als compiler gebruikte we Intels icl.exe, maar de gebruikers konden ook gewoon Microsoft's cl.exe (in verschillende versies) gebruiken voor hun eigen tasks. Verzamelingen van tasks konden meteen gedownload worden en gebruikt, ook door niet technische gebruikers. Geen probleem... pfff.. binary compatibility...
Als jij je gebruikers wilt dwingen om een compilatie stap te moeten doen, dan zul je je in veel gevallen moeten beperken tot een technische markt. Wil je ook een meer mainstream markt aanspreken dan zul je -of- moeten zorgen dat die compilatie stap volledig transparant werkt (dwz, dat de de C/C++ runtime source bundles accepteerd en on-the-fly kan compilen en linken) OF dat je gewoon een binaire API hebt.
Ik snap dat het moeilijk voor je is om te begrijpen, maar een stabiele binaire API kan heel goed samengaan met open source; een module (lib) lever je binair aan. met daarnaast (of eventueel in het zelfde archive) de source. Dan heb je de best of both worlds: de source EN het gemak om je lib meteen te kunnen gebruiken.
Een wereldwijd compleet homogeen grid??? r u kidding!?een bepaalde distributie heeft een bepaalde ABI, en zo gek is het toch niet om te verwachten dat een grid allemaal eenzelfde CPU architectuur heeft, en eenzelfde softwareomgeving?
Ik heb een aantal jaren geleden op een globus 2 grid gewerkt. Zelfs met een beperkt aantal variabelen in je job request (architectuur + os) zit je al met een grote complexiteit. Jij wilt daar dan ook nog even een -exacte- software configuratie aan toevoegen? Weet je wel hoeveel nodes een wereldwijd grid kan hebben? Wil jij real-time, under load, voor alle nodes een software update gaan doen omdat gcc bij elke minor.minor [...] minor het nodig vind om weer de ABI te breken?
Zelfs op het relatief kleine grid waar ik toen op zat (512 nodes, verpreid over slechts 4 locaties) was het al een kleine ramp. Er zat toen niets anders op dan een hele zooi maar gewoon statisch te linken, iets wat niet helemaal de bedoeling was.
Heel erg practisch gezien wil zelfs die vriendin van jou trouwens een ABI; in firefox kun je leuke extentions direct via de interface downloaden en installeren. Er is hier geen gelegenheid om make in te tikken, dus heb je een... juist ja, ABI nodig
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.
ik wil mijn gebruikers juist niet dwingen een compilatiestap te doen, ze hebben helemaal geen compiler als t aan mij ligt. En toch wil ik wel dat mijn gebruikers hun software binnen krijgen op een manier dat het helemaal bij *hun* systeem past. zelfs met patches om te zorgen dat het allemaal goed werkt binnen hun specifieke systeem. De developer hoeft zich namelijk helemaal niet druk te maken om het compileren, die moet gewoon code produceren. De packagers kiezen hoe ze de sources willen compilen, en stellen het binary beschikbaar aan hun gebruikers.flowerp schreef op zondag 24 september 2006 @ 09:57:
[...]
-zucht- Ik had kunnen weten dat je meteen op Java zou gaan hameren als ik dat als voorbeeld zou gaan gebruiken.
Plug-in systemen zijn net zo goed van toepassing op applicaties die in C/C++ zijn geschreven. Jaren geleden heb ik eens in een project gewerkt waarbij we een workflow engine hadden gebouwd, waarbij concrete tasks via een plug-in systeem toegevoegd konden worden. Als compiler gebruikte we Intels icl.exe, maar de gebruikers konden ook gewoon Microsoft's cl.exe (in verschillende versies) gebruiken voor hun eigen tasks. Verzamelingen van tasks konden meteen gedownload worden en gebruikt, ook door niet technische gebruikers. Geen probleem... pfff.. binary compatibility...
Als jij je gebruikers wilt dwingen om een compilatie stap te moeten doen, dan zul je je in veel gevallen moeten beperken tot een technische markt. Wil je ook een meer mainstream markt aanspreken dan zul je -of- moeten zorgen dat die compilatie stap volledig transparant werkt (dwz, dat de de C/C++ runtime source bundles accepteerd en on-the-fly kan compilen en linken) OF dat je gewoon een binaire API hebt.
dan heb je niet het beste van de source wereld, er zijn al keuzes gemaakt die ik misschien wel anders zou maken.Ik snap dat het moeilijk voor je is om te begrijpen, maar een stabiele binaire API kan heel goed samengaan met open source; een module (lib) lever je binair aan. met daarnaast (of eventueel in het zelfde archive) de source. Dan heb je de best of both worlds: de source EN het gemak om je lib meteen te kunnen gebruiken.
Het idee bij grid computing is dat je je grid als een grote computer ziet. Zo raar is het toch niet om te verwachten dat de stukjes dan nog bij elkaar passen? je hoeft gcc helemaal niet te updaten als je gewoon overal dezelfde gebruikt en blijft gebruiken. wil je updaten, ja, dan moet je ze ook allemaal doen. C++ kan helemaal geen ABI hebben die op elk OS en elke architectuur hetzelfde is. binnen OS/architectuur zou kunnen, maar levert zo weinig op.Een wereldwijd compleet homogeen grid??? r u kidding!?
Ik heb een aantal jaren geleden op een globus 2 grid gewerkt. Zelfs met een beperkt aantal variabelen in je job request (architectuur + os) zit je al met een grote complexiteit. Jij wilt daar dan ook nog even een -exacte- software configuratie aan toevoegen? Weet je wel hoeveel nodes een wereldwijd grid kan hebben? Wil jij real-time, under load, voor alle nodes een software update gaan doen omdat gcc bij elke minor.minor [...] minor het nodig vind om weer de ABI te breken?
Zelfs op het relatief kleine grid waar ik toen op zat (512 nodes, verpreid over slechts 4 locaties) was het al een kleine ramp. Er zat toen niets anders op dan een hele zooi maar gewoon statisch te linken, iets wat niet helemaal de bedoeling was.
en dan moet ik maar hopen dat mijn vriendin dezelfde CPU heeft als de maker van de extension? Of heeft ze gewoon pech als ze op PPC draait, of Alpha, of MIPS? dit is ervan uitgaande dat die ABI zelfs over OS grenzen heen gaat, anders wordt het nog veel erger.Heel erg practisch gezien wil zelfs die vriendin van jou trouwens een ABI; in firefox kun je leuke extentions direct via de interface downloaden en installeren. Er is hier geen gelegenheid om make in te tikken, dus heb je een... juist ja, ABI nodig
Lijkt mij beter als ze bij firefox kiezen voor java, of python ofzo. Los je bijna alle OS/architectuur problemen mee op.
It sounds like it could be either bad hardware or software
Hehehe... het lijkt me vrij essentieel dat een developer tenminste 1 maal z'n eigen code compileerd, maar ik hoop dat je wat anders bedoeldsmokalot schreef op zondag 24 september 2006 @ 11:59:
[...]
De developer hoeft zich namelijk helemaal niet druk te maken om het compileren,
Opzich waar, maar zelfs in deze situatie wil je nog een stabiele ABI hebben. Wat als ik een gedeelte van mijn systeem wil updaten en niet alles? Als de vriendelijke mensen van mijn distributie besloten hebben om die packages met een nieuwe gcc te compileren, en die is weer afhankelijk van andere libs die opzich niet veranderd zijn, maar wel ge-hercompileerd, dan hang ik alsnog. Als het om major revisies gaat kan ik er af en toe mee weg komen door voor een specificiek programma een specificieke shared lib eerder in het path te zetten, maar deze truuk werkt niet altijd.De packagers kiezen hoe ze de sources willen compilen, en stellen het binary beschikbaar aan hun gebruikers.
Dat snap ik niet. Je hebt een nette default in de vorm van een bin, en tevens de source voor als je het anders wilt doen en/of de source wilt bekijken.dan heb je niet het beste van de source wereld, er zijn al keuzes gemaakt die ik misschien wel anders zou maken.
En dat is gewoon praktisch niet mogelijk als je op een wereldwijde schaal werkt, met lokale clusters die niet in handen zijn van 1 organisatie maar door allemaal losse mensen wordt beheerd.je hoeft gcc helemaal niet te updaten als je gewoon overal dezelfde gebruikt en blijft gebruiken. wil je updaten, ja, dan moet je ze ook allemaal doen.
Technisch was slechts het architectuur/os onderscheid genoeg geweest. Helaas wilde (oa) gcc niet mee werken. Gebruik maar lekker wat anders dan zei men zo ongeveer, en dat is ook wat Globus (www.globus.org) heeft gedaan. Was het in 2.x nog een C implementatie, tegenwoordig zijn in Globus 4 alle of bijna alle interfaces in Java.
Of het er direct mee te maken heeft weet ik niet, dus mischien maak ik nu een onzin statement, maar ik zie ook dat onder Linux een groeiend aantal developpers mono/C# aan het gebruiken is.
Je kunt als monopolist (wat gcc op zijn gebied toch wel is) wel hier stoer je poot stijf houden, maar als de gebruikers (zowel developpers als end users) toch wat anders willen dan is je arrogatie maar zo lang vol te houden. Op een gegeven moment komt er of een alternatief of een fork. Dan kun je wel zeggen dat users je niks kunnen schelen en dat je alleen maar voor fun developped, maar geen enkele 'fun developper' vind het leuk om iets te maken wat door niemand meer gebruikt wordt. Zie oa xfree86.
C++ zelf is nog een heel ander verhaal, dat weer los staat van de versies van gcc. De C++ ABI moet er voor zorgen dat verschillende (linkers van) compilers elkaars modules/libs kunnen gebruiken. Hier is al zeer veel kritiek op geweest, en het dwingt je ook om in je C++ code C interfaces te gaan maken (extern "c"); een vrij onzinnige praktijk die ons developpers veel tijd kost.C++ kan helemaal geen ABI hebben die op elk OS en elke architectuur hetzelfde is. binnen OS/architectuur zou kunnen, maar levert zo weinig op.
Indirect zou dit wel helpen om het gcc team in toom te houden. Een dergelijke ABI spreek je namelijk af met alle compiler implementors en de maker(s) van de hardware architectuur. Gcc kan dan niet meer in z'n eentje even lekker de boel gaan breken, omdat dat pas kan na samenspraak met de anderen.
Ik ben me daar zeer wel van bewust. Vraag maar eens aan een mod met welk os en op welke architectuur ik hier posten dan moet ik maar hopen dat mijn vriendin dezelfde CPU heeft als de maker van de extension? Of heeft ze gewoon pech als ze op PPC draait, of Alpha, of MIPS?
Mischien wel ja, hoewel een concept als een "c/c++ source bundle" die real-time door de loader zou worden gecompileerd dmv een minimalistische in memory compiler chain ook zou kunnen werken. Voor een shared library moet een dynamische loader nu al allemaal truukjes gaan uithalen voor oa relocations en symbols. Lijkt me dat je hier uitstekend kunt opvangen dat als de loader alleen een (gestandaardiseerde) source bundle vindt, hij deze makkelijk voor de applicatie transparant kan compilen. Het mechanisme lijkt dat in zekere zin op het JIT compilation aspect van oa C# en Java, met het verschil dat het moment van compilen natuurlijk niet opeens de aard van de taal veranderd. Ook al zou de loader pas compilen, dat zal C/C++ dan niet opeens 'managed' maken.Lijkt mij beter als ze bij firefox kiezen voor java, of python ofzo. Los je bijna alle OS/architectuur problemen mee op.
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.
dat zou niet zo handig van die mensen van jouw distributie zijn, en blijkbaar voor jou een reden om over te stappen naar een andere distributieflowerp schreef op zondag 24 september 2006 @ 13:15:
Opzich waar, maar zelfs in deze situatie wil je nog een stabiele ABI hebben. Wat als ik een gedeelte van mijn systeem wil updaten en niet alles? Als de vriendelijke mensen van mijn distributie besloten hebben om die packages met een nieuwe gcc te compileren, en die is weer afhankelijk van andere libs die opzich niet veranderd zijn, maar wel ge-hercompileerd, dan hang ik alsnog. Als het om major revisies gaat kan ik er af en toe mee weg komen door voor een specificiek programma een specificieke shared lib eerder in het path te zetten, maar deze truuk werkt niet altijd.
mja, op zich maakt het natuurlijk niet zoveel uit, behalve dat je dan de lagen die ik net voorstel door elkaar laat lopen, mensen moeten doorhebben dat ze voor software bij de makers van hun distro moeten zijn. Kijk hoeveel mensen hun systeem mollen door zelf dingen te compileren terwijl een simpele apt-get install package hetzelfde doet, maar dan gegarandeerd goed.Dat snap ik niet. Je hebt een nette default in de vorm van een bin, en tevens de source voor als je het anders wilt doen en/of de source wilt bekijken.
blijkbaar wil gcc zich exclusief richten op ander gebruik, en als deze keuze betekent dat ze die andere dingen beter doen sta ik daar achter.En dat is gewoon praktisch niet mogelijk als je op een wereldwijde schaal werkt, met lokale clusters die niet in handen zijn van 1 organisatie maar door allemaal losse mensen wordt beheerd.
Technisch was slechts het architectuur/os onderscheid genoeg geweest. Helaas wilde (oa) gcc niet mee werken. Gebruik maar lekker wat anders dan zei men zo ongeveer, en dat is ook wat Globus (www.globus.org) heeft gedaan. Was het in 2.x nog een C implementatie, tegenwoordig zijn in Globus 4 alle of bijna alle interfaces in Java.
ondergetekende is er ook zo eenOf het er direct mee te maken heeft weet ik niet, dus mischien maak ik nu een onzin statement, maar ik zie ook dat onder Linux een groeiend aantal developpers mono/C# aan het gebruiken is.
de overgang van xfree naar xorg is toch een perfect voorbeeld hoe goed vrije software werkt? ik ben erg blij met de uitkomsten iig. Als er inderdaad voldoende vraag is naar deze features komt het er wel. Je hebt mij iig niet overtuigd om mee te doen aan je projectJe kunt als monopolist (wat gcc op zijn gebied toch wel is) wel hier stoer je poot stijf houden, maar als de gebruikers (zowel developpers als end users) toch wat anders willen dan is je arrogatie maar zo lang vol te houden. Op een gegeven moment komt er of een alternatief of een fork. Dan kun je wel zeggen dat users je niks kunnen schelen en dat je alleen maar voor fun developped, maar geen enkele 'fun developper' vind het leuk om iets te maken wat door niemand meer gebruikt wordt. Zie oa xfree86.
dat zie ik als een nadeel, ik wil graag dat gcc de best mogelijke techniek kiest, ook als ze daarvoor de ABI moeten veranderen. Ik heb daar nu geen last van omdat ik hoop dat de makers van mijn distro updates voor mijn distro gewoon dezelfde gcc blijven gebruiken, maar bij de volgende release werkt het dan beter.C++ zelf is nog een heel ander verhaal, dat weer los staat van de versies van gcc. De C++ ABI moet er voor zorgen dat verschillende (linkers van) compilers elkaars modules/libs kunnen gebruiken. Hier is al zeer veel kritiek op geweest, en het dwingt je ook om in je C++ code C interfaces te gaan maken (extern "c"); een vrij onzinnige praktijk die ons developpers veel tijd kost.
Indirect zou dit wel helpen om het gcc team in toom te houden. Een dergelijke ABI spreek je namelijk af met alle compiler implementors en de maker(s) van de hardware architectuur. Gcc kan dan niet meer in z'n eentje even lekker de boel gaan breken, omdat dat pas kan na samenspraak met de anderen.
waarom zo moeilijk doen als er talen zijn die dat allemaal overbodig maken? en die talen ook nog eens veel toegankelijker zijn dan C/C++? Kost je misschien wel wat performance, en de mogelijkheid om die plugins op elkaar te laten bouwen, maar dat is helemaal niet erg bij plugins?Mischien wel ja, hoewel een concept als een "c/c++ source bundle" die real-time door de loader zou worden gecompileerd dmv een minimalistische in memory compiler chain ook zou kunnen werken. Voor een shared library moet een dynamische loader nu al allemaal truukjes gaan uithalen voor oa relocations en symbols. Lijkt me dat je hier uitstekend kunt opvangen dat als de loader alleen een (gestandaardiseerde) source bundle vindt, hij deze makkelijk voor de applicatie transparant kan compilen. Het mechanisme lijkt dat in zekere zin op het JIT compilation aspect van oa C# en Java, met het verschil dat het moment van compilen natuurlijk niet opeens de aard van de taal veranderd. Ook al zou de loader pas compilen, dat zal C/C++ dan niet opeens 'managed' maken.
It sounds like it could be either bad hardware or software
Verwijderd
Dus geen C++ of Java of andere zooi.
Take it or leave it.
Ik heb nu kernel 2.6.18 nodig, hoe kan ik deze het beste op mijn machine krijgen?OlafvdSpek schreef op donderdag 21 september 2006 @ 19:37:
Is iedereen 2.6.18 vergeten?
http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.18
ik draai debian unstable en zit nu op 2.6.17-2-686 deze heb ik zelf geupgraded. maar voor .18 zijn er nog geen kernel packages beschikbaar.
apt-get install linux-image-2.6.17-2-686
ik kan de kernel wel downloaden van kernel.org, maar hoe dan verder?
ik heb kernel .18 nodig voor mijn PVR-500 icm IVTV zie ook:
[KnoppMyth] Alleen ruis met PVR-500
https://f1nerd.nl
Zie bijvoorbeeld deze pagina.ymoona schreef op dinsdag 26 september 2006 @ 22:39:
ik kan de kernel wel downloaden van kernel.org, maar hoe dan verder?
[ Voor 10% gewijzigd door Stamgastje op 26-09-2006 23:05 ]
Kan me nog een message op usenet herinneren van 1995 ofzo. Ging iets in de trend van: "Sorry dude, Motif is the one and only widget set for Unix and all derivatives. We won't be accepting any fancy looking sh*t on our platform. Go use Windows if you want that."Verwijderd schreef op maandag 25 september 2006 @ 21:03:
Sorry, Unix/Linux en C zijn een onafscheidelijk duo.
Dus geen C++ of Java of andere zooi.
Take it or leave it.
Met een beetje creatief googlen moet dit nog wel te vinden zijn...
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.
Ja, maar dat heeft niets te maken linux. Je wilt geen java in je kernel. nooit niet, basta.flowerp schreef op dinsdag 26 september 2006 @ 23:37:
[...]
Kan me nog een message op usenet herinneren van 1995 ofzo. Ging iets in de trend van: "Sorry dude, Motif is the one and only widget set for Unix and all derivatives. We won't be accepting any fancy looking sh*t on our platform. Go use Windows if you want that."
Met een beetje creatief googlen moet dit nog wel te vinden zijn...
c++ zou nog kunnen, maar er zijn goede overwegingen om dat niet te doen.
Niet in de laatste plaats de stabiliteit van de Gnu C++ compiler.
| Olympus OM-D EM10 mk2 | m.Zuiko 14-42mm f/3.5-5.6EZ | m.Zuiko 40-150mm f/4-5.6 R | m.Zuiko 60mm f/2.8 | 2x Godox v860 | Godox X1 |
Verwijderd
Ik ben er niet zeker van of de persoon die oorspronkelijk met dit argument kwam nu alleen op de kernel doelde, of ook op de services en user applications er boven op. De scheidslijnen van wat 'kernel' is en wat niet zijn ook al meerdere keren heen en weer geschoven.psyBSD schreef op woensdag 27 september 2006 @ 00:59:
[...]
Ja, maar dat heeft niets te maken linux. Je wilt geen java in je kernel. nooit niet, basta.
Daarnaast is het helemaal geen gek idee dat bepaalde delen van de kernel zichzelf runtime kunnen optimizen. Managed talen doen dit van huis uit en kunnen daarmee een hogere performance halen dan talen die eenmalig off-line gecompiled worden. Hier tussen in heb je ook nog de zogenaamde native recompilers. Deze gebruiken net als managed talen runtime informatie om het compilatie process real-time te sturen.
"Nooit niet, basta"... dat hebben door de gescheidenis al velen concervatieven mensen gezecht. Waarschijnlijk is er ooit wel eens een holenman geweest die dat zei over het gebruik van vuur. Als de wereld in handen was van mensen zoals jij zaten we nu nog in dat hol.

Wie zegt dat dat over 5 jaar nog zo is? Wie zegt dat er over 10 jaar niet een andere volledige open source C++ compiler gemaakt wordt die -wel- stabiel is?c++ zou nog kunnen, maar er zijn goede overwegingen om dat niet te doen.
Niet in de laatste plaats de stabiliteit van de Gnu C++ compiler.
Om nog even een andere bekende anekdote naast het al gegeven Motif voorbeeld te geven wat iets beter in deze context past:
Ooit, lang geleden vond men dat een operating system en haar kernel in het bijzonder alleen in assembly geschreven diende te worden. Een high-level taal gebruiken was domweg ondenkbaar. "Je wilt geen high-level taal in je kernel. nooit niet, basta.", dit werd toen inderdaad in bijna exact deze woorden gezegt.
Op een goede dag kwam daar een zekere Ritchie en Thompson die in weerwil van alle aards-conservative kernel hackers van toen, wel een high-level taal gingen gebruiken.
De rest van het verhaal ken je vast wel...
Verwijderd
Hoger dan ASM idd, maar verre van high level.
Verwijderd
Voor iemand met bouwjaar 1984 is een dergelijke uitspraak wel te begrijpen...Verwijderd schreef op woensdag 27 september 2006 @ 22:29:
Ik denk dat het sterk te betwisten valt dat C een high-level language is.
Hoger dan ASM idd, maar verre van high level.
In 1973 dacht men hier echter heel anders over en was zoiets als C behoorlijk high level. Wat high en low is verschuift voortdurend. Ik hoor tegenwoordig al mensen met een bouwjaar van >1990 die in een zeker taaltje genoemd PHP scripten en Java al een heel low-level en hard-core geheel vinden.
Verwijderd
Je moet alles in het perspectief van de huidige realiteit bekijken, imho.
Hoe de zaken er 30 jaar geleden voor stonden, hebben we nu niks meer aan.
Verwijderd
Precies. Je hebt vast mijn post op de FP gelezen.Verwijderd schreef op woensdag 27 september 2006 @ 22:56:
Als je zo bezig blijft, kan je zelfs ASM een high level taal noemen, want voordien ging het gewoon met nulletjes en eentjes op ponskaarten, en ga zo maar door.
Gepost door henk52 - woensdag 13 september 2006 22:54 Score: 3 (Informatief)
assembly is zeker niet de meest low-level. Heel flauw is machinecode nog 1 level lager (flauw omdat de binaire opcodes 1:1 mappen naar de assembly mnemonic, maar toch een cpu excute geen programma text in character format).
Een stapje lager is direct in de mirco-code van je CPU programmeren. Sommige architecturen staan dit theoretisch toe. Assembly is voor veel systemen vanuit het gezichts punt van de CPU ook maar een high-level taaltje; de zogenaamde ABI.
Binnenin de CPU wordt deze high-level assembly instructie stroom dan omgezet naar de native interne code. Het kan zelfs zijn dat de omzetting relatief zo groot is dat het een andere paradigma wordt. Bekenste voorbeeld is natuurlijk x86.
Zowel de AMD als Intel processoren, alsmede een handjevol andere architecturen hebben de x86 assembly instructies als high-level taal. Toch execute geen van beide CPUs X86 instructies direct. Zelfs binnen de intel familie zijn de netburst interne instructies anders als die van core.
Maar zelf hier kan het NOG lager. Microcode stuurt ook alleen maar je (data) paden binnen je CPU aan. Je kunt ook DIRECT de paden in de gewenste manier instellen voor jouw specifieke probleem. Dit kan 1 malig in hardware (een ASIC), maar kan ook dmv reconfigurable computing systemen.
Het kwartje valtJe moet alles in het perspectief van de huidige realiteit bekijken, imho.
Hoe de zaken er 30 jaar geleden voor stonden, hebben we nu niks meer aan.
Wel kun je leren van het verleden, juist door dingen in het perspectief van toen te zien. In 1973 was C high-level, of je nu wilt of niet. Iedereen die er verstand van dacht te hebben zei dat je geen operating system in een high-level taal kon bouwen, maar dat het low level moest (in 1973 dus assembly).
Vandaag de dag is C low-level en Java of C# high-level. Je ziet dat de geschiedenis zich herhaalt en dat men nu ook weer heel stellig zegt dat er geen high-level (nu dus java) in de kernel kan en dat het low-level moet (nu dus C).
In het algemeen zie je dat er conservatieven mensen zijn die altijd willen vasthouden aan de huidige werkwijze en dat er andere mensen zijn die vooruit willen en open staan voor nieuwe dingen. In 1973 waren gehele operating systemen assembly en dus dacht een groep dat het altijd assembly moest blijven. Nu zijn de meeste operating systemen C en heb je weer een groep mensen (zie reactie hierboven) die denkt dat het dus altijd C moet blijven.
[ Voor 18% gewijzigd door Verwijderd op 27-09-2006 23:46 ]
IMHO hebben dingen als .Net en Java gewoon de toekomst op userspace gebied. Op kernelspace gebied heb je dit soort dingen liever niet. Als ik zie hoeveel sneller GTK# applicaties uit de grond schieten tov GTK+ applicaties, en als ik zie hoe snel deze applicaties doorontwikkeld worden, en als ik dan ook kijk naar de executiesnelheid op mijn systeem, dan zou ik veel liever GTK# applicaties ontwikkelen dan GTK+ mbv C.
Verwijderd
Waarop basseer je dat dan exact? In 1965 werd er hier en daar ook al wel wat gepraat over operating systems in een high level taal, maar het duurde tot 1973 tot men er aan begon. Als je ziet dat er nu al mensen over praten om managed talen te gaan gebruiken en dat er zelfs al experimenten mee gedaan worden._JGC_ schreef op donderdag 28 september 2006 @ 00:07:
Denk niet dat java of C# of evt C++ het zullen halen naar de kernel.
Denk jij dat over 10 jaar Linux nog volledig C is?
En over 20 jaar?
En over bloat, je kent het gezegde: "some call it bloat, I call it a feature"
It sounds like it could be either bad hardware or software
Verwijderd
"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
"The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed: 1) the whole C++ exception handling thing is fundamentally broken. It's _especially_ broken for kernels. 2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel. 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++."
In general, I'd say that anybody who designs his kernel modules for C++ is
either
(a) looking for problems
(b) a C++ bigot that can't see what he is writing is really just C anyway
(c) was given an assignment in CS class to do so.
Feel free to make up (d).
Linus
[ Voor 17% gewijzigd door Verwijderd op 29-09-2006 13:05 ]
Precies de reden waarom de development fora op GoT voor mij nooit interessant geweest zijnVerwijderd schreef op woensdag 27 september 2006 @ 22:47:
Ik hoor tegenwoordig al mensen met een bouwjaar van >1990 die in een zeker taaltje genoemd PHP scripten en Java al een heel low-level en hard-core geheel vinden.
"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein
Welke patches gooi je erover dan?Borromini schreef op woensdag 10 oktober 2007 @ 20:05:
2.6.23 werkt als stroop hier, maar misschien ligt dat wel aan de patches
Ik ben hem nu ook even aan het compilen.
Ik ga straks effe de timer van die fameuze 864 naar 1000 Hz zetten, en zien of dat iets oplevert. Mijn ervaringen met de laatste CK schedulers (2.6.20 en hoger) waren niet positief, CFS leek me jammer genoeg niet veel beter in dat opzicht. Met een beetje belasting voelt je PC als stroop, zeker met een transfer over het netwerk (NFS)
[ Voor 11% gewijzigd door Borromini op 10-10-2007 22:27 ]
Got Leenucks? | Debian Bookworm x86_64 / ARM | OpenWrt: Empower your router | Blogje