The network version multiplexes the outputin a different way, leaving a lock unnecessary in that case. John also sent another problem with allocatable coarrays that has beenfixed. Elliott Estrine pointed out that the new linux build was againstglibc I'veswitched the linux build back to glibc John Harper sent in a problem with the solaris build-- the solarislinker complains about unaligned debugging relocations.
Fixed bycompiling without debugging symbols. John lives in New Zealand-- the new version of pine that I'm now usinglists the date on his mails correctly as 'tomorrow'. Martien Hulsen, Maarten Becker and Michael Richmond reported a problemwith the x being unable to find the system startfiles likecrt1.
This was an oversight on my part-- the x build iscompiled using my own x system which runs a newArch Linux distribution.
Firmly stuck in mail hell today. I thought I had the mail set up, butwhen I download a letter, it gets appended to mailbox in a differentformat than the other letters-- the 'new' format involves the list ofthe servers that the mail has passed through, and that doesn't quitejibe with the mbox format. I thought I'd lost the last couple ofletters, but they just appear glued onto the last message that pinethinks is there.
No clue on this one for now. Update-- I found formail Mail is just a hideoushideous problem. You get to be an expert at it when you get yoursystem going, then forget everything you learned and have to re-learnit when you upgrade your system I've unfortunately deluded myself about the state of my mail setup.
I neglected my spam filter of choice,popfile. I can send, but can'tquite get mail correctly yet. I've finished the 2. It does all thatthe previous one did and much more. It's doubled in size, from athousand lines of python to just under two thousand.
The old onebuilt by forking a subprocess for each build, logging into remotemachines, building g95 and uploading the result. This capability isstill intact, but I am now relying much more on local cross compiles. A 'cross compiler' is a compiler that runs locally on one machine, andcompiles a program meant to run on another machine, the 'target'machine. Cross compilers are tricky to build, and require a lot ofinsight.
At the end, even a relatively easy build was taking aboutthree to four hours to complete. I now have nearly a dozen of these,and they build g95 just fine, except for a couple systems I don'tquite have access to. A few systems remain as remote builds for now. It's impressive to watch a full build taking place. The completebuild takes about the same time as it did before, the slowdown notcoming from a particularly slow legacy machine, but from the sheervolume of simultaneous processes running.
The load average peaksaround eight, memory usage increases by about a hundred and fifty megsor so. By modern standards, cheap. A minor sub-innovation I'm pleased with is in the creation of thetarballs themselves. The tar format is quite simple and instead ofputting everything into a temporary directory structure and running'tar', the structure of the tarball is instead described by a datastructure, which is traversed to create the tarball.
Compiling up atarball, if you will. This approach avoids a lot of unnecessarycopying of files all over the place, lets me create the 'owner' of thefiles as 'g95' without actually having a 'g95' user on the system,makes all the timestamps identical and creates symbolic links out ofnothingness.
The gzip process is still done with 'gzip', though. The new build system also integrates another new feature-- SMP-onlycoarray support. This version won't operate over networks, but it isfree for use by anyone and is in the new version.
There is currentlya limit of 32 images hardcoded into the library, but I would be happyto compile another version if anyone is using some monster system. Iwill probably remove the limit sometime soon-- it just makes the firstversion easier. Other unixes shouldn't be that difficult. I am planning a similarversion for windows machines. I started with a copy of the unixlibrary and have started work on the port, although there are so manychanges that calling it a 'rewrite' is probably more accurate.
I'vespent quite some time poring throughmsdn and have figured out how todo everything. It's pretty much the same-- the coarrays are stored inshared memory, pipes and mutexes will be used for the varioussynchronization primitives. The orginal process spawns all of theimages and so on. This also required a change in how gcompiled programs handle thecommand line, since that is the easiest way to specify the number ofimages you want.
As it was, the special command line argument --g95caused a printout of the fortran runtime settings to be printedinstead of running your program.
Now, the --g95 signals the start ofarguments that you want to pass to the runtime library. The specialargument -- indicates that all following arguments should be passed toyour program.
If a --g95 is given and no additional arguments aregiven, then the runtime variable settings are printed. I was running the monte carlo caluclation of pi in thecompendium on ox, my quad core xeon system. Things were going just fine for about ten minutes, until I heard thateuropean two-tone police siren noise and the flashing red LED that oxdoes when it is getting a little too hot. I had set the fan on thelowest setting for noise abatement reasons, and the fan does go to thenext level when things get hot, but with all four cores going at once,it needed the third level.
I also took some time to install thenewfangled CPU temperature monitors. My system upgrade still isn't quite done. The old disk is mounted onthe new disk. My home directory had become quite flat over the years ie lots of files in it , and I've been working on making it more treelike.
Download, list, install, remove, edit config files, search the web fordocs, read docs, give up, start again. Oh man. My life for the lastweek. This is why these things get put off. The system is comingtogether, though. I'm usingArch Linux, and have been pretty happywith it. The basic installation gets you to a bare bones system whereyou get to install the individual packages.
I've never been veryhappy with Suse on my laptop where g95 currently lives. It'smore of a kitchen-sink distribution. Arch on the other hand is amillion pieces, but they come together surprisingly well. Your desktop system should fit you like a soft leather glove.
Not asteel guantlet. The old system was more like a dried-out leatherglove that has become too stiff to be useful. The video system had a nasty problem that took a long time to find. If a character had a blue foreground, there was this weird linethrough the letter, always at about the eight row from the top. Aftermuch head scratching, I found out that there is an 'underline line'VGA registers. Apparently this was getting set to eight somewhere,after I set it to 31, the problem went away.
The wonderful console system I described in the last post doesn'twork. Although the monitor reports being in x, the monitordisplays only about columns ie dots. After muchhead-scratching, I remembered what happened last time-- after runningin that mode for a while, the monitor eventually figures out thatthere is a better way of displaying things.
I've got ssh. I've got compilers. I've got X. I've got printersupport. The mpage program is gone, but a2ps replaces it. My customvpn is going. Gpm is working, after I had to re-enable cross consolecutting and pasting. I have enlightenment a window manager , buthaven't figured out how to configure some keyboard shortcuts that oldtime irix users would recognize.
I've got firefox-- the mouse wheelnow works yaay! The old system has netscape 3 running on it, and works amazingly well,rendering pages that the old mozilla would lock up or crash on. Butthe new firefox renders them all. I've got DRI going. I've goteditors-- vi, nano The mail system is in place. Under the new system, I'll get andreceive mail from g The old system looked like:. I had qmail built, installed and was dreading the configuration when Irealized that I didn't need it.
I think I was using it mainly tobuffer outbound mail if the connection went down. A couple years ago,that went badly when the ssh tunnel went down instead, and I didn'tnotice it for a week until my outbound mail finally started bouncing.
The new mail system looks like:. The reason for the ssh tunnel is that the g This has to happen locally as far as they are concerned. The tunnelon the inbound leg isn't strictly necessary although IMAP sendspasswords in cleartext , but the tunnel is already there and a littleencryption never hurts.
The pine program is gone, but alpine is its new incarnation. Arch ispretty secure by default because it runs no daemons, not even inetd. Nevertheless, I have a firewall rules because I don't want ssh's portexposed to the nasty internet-- I've got ssh also listening on anonstandard port as well as the usual 22 for internal requests. There are things to do, but the end is in sight. I'm really lookingforward to having lilypond on thedesktop with the huge screen instead of just on the laptop with theworst screen.
Redirecting X doesn't work well enough. More important-- g95's new build system is taking shape. It'll be amajor extension of the old one. I intend to use the infrastructureI'm building for that for other projects as well.
One ofJoel Spolsky's 'Joel Tests'is whether you can build your software with a single command or not. That used to be the case with g95, but it's slowly drifted away fromthat, and it is time to bring that cur to heel. Down boy! More upgrade hell. The basic system boots now. It's an Arch Linuxsystem-- modern but lightweight. OK package manager too. I've beenrunning it on ox my quad core xeon-- it has four stomachs for awhile now. One thing I really like about it is that the total boottime is about eight seconds.
Why am I refurbishing a P3 with a thirdthe clock speed of the quad core xeon? I have other plans for ox. I spent most of the time today getting the video mode right.
This ismore important than it sounds. If you're going to be staring at ascreen for a long time, it's really important to have it be readable. I have a really sweet inch monitor that I use which can supportx, and in X, that is what it runs at. If you tell linux touse the framebuffer in the console modes, you can get a x75 textmode display that is very crisp, but just a little too tiny for lotsof work.
The real disadvantage of the framebuffer is that scrollingtakes a visible amount of time. On ox, I had a program that spit out about a screenfull of data persecond, and the slowdown when the output hit the bottom of the screenwas just painful to watch. So I continue to do what I've done for along time-- on boot, I set the dot clock of the video card tosomething well above the standard text modes without putting the cardinto graphics mode. In a x mode, an 8x12 character cell givesa x64 screen that is fast and readable.
The documentationprovided by video chipset vendors, along with code examples inX-windows is usually enough for me to the write a little code thatmanipulates the extended registers.
The big problem was finding a modeline that works. And it's not justenough to find the modeline, you also have to find an intermediatemode that monitor mine, anyhow will accept before moving up to thereal one. But I found them. After that, some tweaks-- turn thedefault rendering to green on black, set a decent timeout interval andforce the cursor to be a solid blue block.
My favorite thing to do with this setup is when I'm editing somethingand want to check someplace else briefly, I can split the screenvertically in emacs , go to the other place, move the cursor to theother window and do what I need to do. When done, I get rid of theother display. Emacs will let you link the two windows together as ifyou were editing a single area, but I haven't found that particularlyuseful.
Deep in upgrade hell. My desktop system, that I've used for more thana decade, is a red hat six system. You read that right. I can't useit for much since one small upgrade leads to half a dozen others.
Theother problem it has is that the six gigabyte disk I use is alwaysfull. The plan now is to take a new disk, install a modern system onit, and move all the old files onto the new drive, like a hermit crabfinding a new and bigger shell.
The 'new' disk is 30G, so that oughtto hold me for a while. Alexei Averchenko sent in a problem with -fone-error that has beenfixed. Warnings were being promoted to errors if this flag wasgiven. No build yet, I'm revamping my desktop system. He sent a patch that seeks tothe end, but I can't help thinking that we're seeking to the beginningof the file somehow. We're investigating further.
I'm changing my email. The firstinter. Click on the link at the top left, prove your humanity to getthe new one. Thanks so much-- I appreciate this more than you know. Only in my alternate reality is 'shortly' three months Firstly it's to get people using Silverfrost Fortran.
The more people use it, the more people will talk about it, the more people will like it Secondly it gives potential users a nice easy way to try our Fortran and see if they like it. There are no awkward trial codes or timeouts. Thirdly many personal users who could never afford Silverfrost Fortran can now use it. You can of course buy an unrestricted licence. Who can use it? You can use it at home for your own personal use on your own PC. Plato's editor is special — it understands the syntax of.
A complete Windows Fortran compiler solution in one easy installation with nothing else to buy. The AbsoftTools integrated development environment speeds program development and maintenance. Complete command-line development support is also provided.
While most product configurations are available online, we understand you may have different requirements. Give it a try today, you only have your bugs to lose. We like to think that we deliver Fortran the way you want to use it, and out-of-the-box Silverfrost Fortran provides lots of development options. We also know it can be confusing sometimes to see unfamiliar terms, so here is a list of straight-forward questions and their answers:.
0コメント