Notes: The install disk from the package didn't work; Would go through the installation, but the kernel wouldn't boot. Had to download and burn a new install disk iso. The book, main reason I bought the package, sucked. Took 20 pages to tell how to dial out(edit obvious variables in one file, type ppp, type dial). Seemed that every other chapter alternated between being useful and useless. Techical portions would skim the surface, without telling you how to do anything or what anything was. Index was missing a lot. Didn't know what I was doing on the driver conflict page, and I actually have a general understanding of what everything meant. What would a normal user be expected to do? Why does it come up in the first place, no other OS I've installed has needed anything similar. From all appearances, I cannot put two NICs in a FreeBSD machine without causing an IRQ conflict. Install crashed once on a dup-alloc error, didn't happen again. The installer almost never allowed me to backstep to the previous screen. Many screens had an "Exit to previous screen" option, but it meant "Continue to next screen" every time I tried it. Hitting escape(traditionally the "oops, cancel" key) should not have the same effect as hitting enter(traditionally the "okey-dokey" key). While installing /bin, I noticed that the progress bar would sometimes skip backwards a notch. Not a good sign when the progress bar is buggy Installing Gnome: Installed libpng, imlib configure still didn't see it. No native PNG support. Tried installing both the std and linux versions of libpng, neither worked. Installing Gnome: make clean always failed with error code 1. Installing Gnome: ORBit: A couple pointer assignments from incompatible type warnings. gnome-lib stopped with undefined references to dgettext and bindtextdomain Could not finish installing it. Compiling qt: no opengl. Didn't know I needed it. qt took a while to compile; Will I need to do a complete recompile to get opengl to work in kde when I might need it later? KDE packages don't have "make clean" either. compiling kdelibs: dcopclient.moc - file not found. A quick websearch finds that kdelibs requires GNU's make to install. Good thing it's free. GNU make doesn't make clean either. After installing GNU make, it still doesn't work. So neither KDE nor Gnome will install. At least Blackbox seems to work, I hear it's good. It must get its name from the little black boxes that comprise the background and window title bars. It comes with some other themes - One turns the background bright red, and another makes everything that isn't currently selected pitch black. A minute later I rethink the kdelibs make situation. GNU make probably didn't replace the old version of make. It would be somewhat rude to do this anyway. I check, and sure enough it didn't. Explicitly using gnu's make, it's working so far. Warning compiling kmessagebox.cpp in kdelibs: ansi C does not support #warning. More compiler warnings pop up compiling most programs. Installing kdebase: libkdecore.so.3 not found. Funny, it exists, and the makefile in the directory where this error comes up points to it. I followed the README directions too: LIBS="-Wl,-export-dynamic". Fixed the libkdecore problem by adding its directory to LD_LIBRARY_PATH in /etc/profile. It still bombed out looking for a user named "root" - I had renamed the account. Gave up, reinstalled the system from scratch. Chose "All" instead of "User" setup. All sorts of services (read: possible security holes) I didn't need were opened up by default, and I had to turn them off manually. I can only hope that I got them all. Well, I asked for it. Routing tables were screwed up from the start, I couldn't send packets over the telephone line. Had to do a route flush before I could get my telephone Internet connection to work. Lynx was not installed. Funny that the minimal user install got it, but the Install Everything option didn't. Finally got X to work, installed binaries instead of source. It's looking sweet. Wish I could push more than 800x600 out of my modern video card. Downloaded Galeon, tried to install it. It needed gtk+, which needed five libraries, one of which needed the X source code. Another requirement sent an invalid arg to ld. Sound doesn't work. Standard Creative SB512 PCI. Apparently, the machine was somehow configured for no sound. Was able to get a normal user to su by adding the user to group 0(wheel). Don't know what if any problems this could cause. Have to su root to dial out. There ought to be a way to allow a normal user to use ppp(and a way to restrict this to the local console). There probably is, but if it's not in the docs, it's as it doesn't exist. Now beyond having to route flush, have to manually add the default route to access the Internet. Check that; Only if I flush between opening ppp and dialing out. If I flush first, I'm fine so far. netstat -a shows *.ssh, *.sunrpc *.syslog, and something on port 6000 listening. Ah, the 6000 would be X. Waiting for external connections. Great. sshd_enable is explictly NO in /etc/rc.conf, but it starts up anyways. Don't know what's starting up RPC, or what it is exactly (beyond, as the slashdolts say, a big security hole in NT that Unix doesn't have) Tar without a filename tries to open /dev/rsa0. Why? What is it? Downloaded gimp, same problems as with Galeon. gimp requires gtk. gtk requires pango. pango requires Xlib. Don't know where to get Xlib. None of these apparently commonplace libraries were installed with the system. Went to /usr/games to blow off some steam, found a bug in the battlestar text adventure. "wear rober" instead of robe segfaults it. I'd think somebody would have had to misspell something before I did. Sometimes E would start, but Gnome didn't appear to. At least there were no Gnome bars or icons. Assume Gnome crashed on load? In using X, I've seen quite a few programs simply disappear. Are crashes logged? The chess game spams my home directory with logfiles. It's nice that games are saved, but they should be in a ~/gnuchess directory or something. Filling up ~ itself is just rude. There seems to be no setting to turn off the logging. Set up the machine to automatically flush routes on startup. Apparently, it is configuring itself to only use the ethernet card, or it is configuring the modem with the ethernet card's settings, or it is doing something entirely different which I haven't thought of. Found Xlib, reconfigured environment variables to point to it, tried installing pango again. pango won't make without gtk-config. gtk won't make without pango-config. Beautiful. Ran top, XF86_SVGA (apparently the X server) is using up 7-8% of the CPU, this being a Duron 700, just sitting around doing nothing. I'm running gnome and enlightenment, notoriously resource-heavy, but the program "enlightenment" is using .3-1%. Switched to twm, all terminals crashed and none would open, so I couldn't see the top stats for it. (later) That was because the terminals were special E-terms that do Enlightenment stuff. Regular xterms work, and show X with twm to use up about 6-7% of the CPU. Got dnetc and xdm to run automatically by adding to /etc/rc , not sure if this is "proper" or a kluge. Enlightenment always crashes and needs to be restarted the first time it is run. Once restarted, it works fine. Tried reconfiguring kernel for sound by adding "device pcm" to the appropriate file and recompiling. make depend choked looking for a card_if.h. Researched, found a usenet post saying to comment out device xc, and that this was an obvious solution. Okay. Make depend works now, running make dies in linking with undefined references to all sorts of things in umass.o Turns out I wasn't paying attention; One of the USB options, which I left on since I have USB, requires SCSI options that I had turned off since I don't have SCSI. Reconfigured, reran it, it worked. Rebooted, made snd0, rebooted, sound still didn't work. Tried catting an au through /dev/audio, got "Device Busy". cat /dev/sndstat gives: FreeBSD Audio Driver (newpcm) Mar 4 2001 14:50:34 Installed devices: pcm0: at io 0xd000 irq 5 (4p/3r channels duplex) Reading the manual, it says not to use snd0. Oops. Tried MAKEDEV pcm0, pcm0 doesn't exist. Rereading it, I think it might be saying not to define snd0 in the kernel, but can't tell. Some research tells me there's a program called "esd" which is supposed to be running, which does not appear to be, that is required for sound to work in Gnome. Sound doesn't work outside of X anyway, so I have deeper problems than that. More sound crap. Run dmesg, find out the sound card and video card are conflicting on IRQ 5. Head into the BIOS and see it's not set for PNP, make it so, reboot, conflict still exists, but miraculously sound works. Start X, sound doesn't work anymore. Kill X, sound still doesn't work. Run ps, find out that esd is running now. It has no man page. The final score, regular sound doesn't work if esd is running, sound in Gnome is supposed to work if esd is running but doesn't, and the only program I've used that plays sound, gnes9x, needs to have esd turned off. I'm using 90 megs of memory with just X, Netscape, and a few xterms. I might have to pick up another stick of RAM if I want to actually do something. Hard drive's pretty quiet; I was hitting cache earlier and couldn't tell. Or could be that the fan's pretty loud. found the program "portmap", which is listening for rpc commands. Killed it, hope nothing breaks. Changed hostname, stuff stopped working in X. Changed it back. Later found out how to change it in /etc/rc.conf. Browsed through /etc/group. On a hunch, added my user to the group "network". Can now ppp without suing root. New problem with X: After logging in the first time after a reboot, it throws me back to the login screen as if it failed to load or crashed. The second time, it starts up normally(with E crashing as if it were the first login). Decided to try installing KDE. qt configure by default turns off a lot of functionality, notably image support and threads, that you have to manually specify as arguments to configure. I feel like viewing images sometimes, so I turned them on. Trying to install libmng. It requires libjpeg, which for the life of me I cannot figure out what to do with. I unpack the jpeg-6b archive that every link on the Web says is libjpeg, read the directions, run configure, make, make install, and all it does is install a couple of user applications. Then again, there is a .a file, which I assume is a library, and a bunch of important header files which libmng configure looks for but can't see when I point it to the jpeg directory or move them into an include directory. However, neither library nor headers is installed anywhere useful where other programs might be able to make use of them. Yet more research, I find someone saying that I need to use pkg_add (never heard of it) on the tarball, instead of trying to install it normally. I try that out, it says it's already installed, which I would believe if anything could see it. -f(orced) it in, libmng still can't see it. After some more nudging I get it to find jpeg. The compile works, too. I don't know what I'm missing that it couldn't find jpeg on its own; the configure script was unintelligible. Threw in a music CD. Thanks to tab completion, found three programs that seem to run CDs. One requires a SCSI drive, one just doesn't work(might have been a gui wrapper around the first), one does(cd-console). Fiddled with the controls, it suddenly stopped responding or playing music. Killed it, restarted the app, whole system hung for about three seconds, then unfroze. Num lock light don't work kinda hung. It kept doing this. Grepped ps waxue for cd-console, it wasn't there. killall cd-console didn't get it. Ran top, it said that dnetc was using 167% of the CPU, and cd-console was using another 10%. Got the pid from top, killed it, the hanging stopped. Drive's eject button won't work. Wonder what the CLI command to eject a cdrom is. Had to reboot to get the CD out. (For the curious: Actual Miles, by Don Henley. Good stuff.) Compiling qt, it goes boom. Looking for jpeg, can't find it ;). Have by now figured out it's in /usr/local/include, and added /usr/local/include to C_INCLUDE_PATH, but I'm probably missing it in some other environment variable that I've never heard of. I get really pissed off(as in angry, not drunk, although with what I did next you might not tell the difference), backed up my include and local/include, moved all the local/include files into include, then symlinked /usr/local/include to /usr/include. This is Unix heresy, but my program is compiling now and that's all I care about. Err, I guess I should care about it linking, too. Cannot find -lpng or -lqt-mt. Most likely due directly to my little musical chairs game. Fixed by going into the makefile and changing a few values. Get past that part, now it fails looking for a whole bunch of stuff; QWidget, QGLWidget, QT::white, QT::black, QString, QMenuData, many more. Decide to start compiling kde, even though I haven't compiled qt yet. Open the archive and see no source files inside it, and some files beginning with a plus sign that less refuses to read. Turns out this is another one of those funny pkgs. It specifically needs old versions of qt and other libraries; Can't have you fixing any bugs, no sir! I give it the -f, figuring I probably would never have gotten it to work anyways so who cares if it comes out broken, but it won't install. One of the packages required by kde was one I wasn't familiar with, libaudiofile or something like that. Long story short, it's in yet another installation format, something called a port. Since the package tool can't see stuff installed normally, I have little faith that it will see stuff installed as a port. I find a ports directory and that I already have libaudiofile listed in the ports directory, so I go in and type make and it starts downloading a two versions old version of the software. I kill it. A lot of programs won't read a file with funny characters in their names, like files starting with -, even if the character is backslash-escaped. Figure out the reason I can't make qt is because I'm missing OpenGL. Look for it, keep looking for it, eventually find something called Mesa that isn't OpenGL[tm], is not trying to be OpenGL[tm], and is absolutely not OpenGL[tm] compatible *wink*. Who ever let lawyers onto the information highway anyway? configure works, make doesn't, am very glad that they left the old installation method in. Later find out I had GL all along, but there were two different copies of qt in LD_LIBRARY_PATH causing the problem. Wipe out all the pkg_add format kde files, redownloaded source code format. Maybe shoulda kept them: kdelibs breaks. dcopclient.moc:29: no matching function for call to `QMetaObjectInit::QMetaObjectInit (QMetaObject * (*)())' /usr/local/qt/include/qmetaobject.h:259: candidates are: QMetaObjectInit::QMetaObjectInit(void (*)()) /usr/local/qt/include/qmetaobject.h:261: QMetaObjectInit::QMetaObjectInit(const QMetaObjectInit &) In the kde bugs database, the reason given for this is "stale moc files". All of the *.moc on my system are freshly compiled from qt2.3.0, so doubt that's it. I find an archived mailing list message in Greek that says to turn on a couple of options in configure, specifying the qt directory; they don't work for me. Decided to try installing Gnome from source again, starting with pango. Pango wouldn't compile, modules/basic/basic.c dies with a syntax error when it fails to recognize type GIConv. Seeing that it includes only glib.h and three local pango headers, my first thought is that it is probably having trouble finding glib. When I see that I have two glibs installed on my system, I become more certain, but neither has a data type GIConv. I'm very annoyed, I was able to get farther than this before. Find out I have another window manager installed called Afterstep. I start it up, it looks pretty, looks pretty spartan as well. Most of the sidebar icons' functions were self-evident, but some weren't, and there were no mouseover or rightclick hints as to what they were. There seems to be no way of configuring the desktop. Some buttons did nothing when pressed, so I'm probably missing a few programs it expects to find. The scrollbar manipulation, with right click being pageup and leftclick being pagedown, seems clumsy to someone who is not used to it, especially when right and left click on the window itself have different meanings. For some reason, right clicking on the desktop brings up the window options middle-click menu. Looks like I must have KDE installed on my system somewhere, because I have Konqueror. It's a very clean-looking browser, button bar is cluttered but usuable and useful, and the configuration options are neatly laid out. My biggest problems with it are that it doesn't always display images, it fails to connect to sites often, and it takes a while to open a new window or save the preferences. Overall, nice browser, might become my main one for day to day. Found out that it only fails to display GIF images, which is not a bad thing, I had thought it was random. In the console window, it constantly complains about being unable to find libraries that I have previously specified to ldconfig, but is able to remain standing without them. In order to get it Konq to run, I have to go into the qt/lib directory and run ldconfig -m . on it. The lib information doesn't stay between boots, I have to do this again after every reboot. I threw it in /etc/rc, see if that works. It does; Later looked through rc and rc.conf, found the right array to add the directory to. Playing a game on xsnes9x, I keep hitting the a button(d key) to get past the opening screen, not noticing that the focus isn't on the xsnes window. d, d, d, d, d, d, enlightenment crashes. Decide to try something besides installing a desktop, download and install Postgres. Installs fine, attempting to run the server complains about being unable to allocate memory. The FreeBSD FAQ says I should be able to get that far but not much farther, as I need a few sysv memory options in the kernel. Don't feel like fiddling with the kernel again, go on to something else. Trying to install Gnome again, redownloaded everything fresh, the first several packages installed without problem including to my surprise gtk. Unfortunately, imlib requires a package called ungif, which I don't have. About thirty down on Google I find a page that contains the URI of an FTP site that has it. It won't compile, a whole lot of references to undefined functions. I look in the readme for the home address, get a newer version, it compiles and installs fine. Run ldconfig -R so ld knows where the new library is, imlib make still doesn't see it. I run a find, it's sitting right there in /usr/local/lib. I run ldconfig -m /usr/local/lib, ld still can't see it. I get it to compile by going into the makefile and adding -L/usr/local/lib to $(CC), I have to do this to the makefile in each subdirectory. Someone I asked about this on IRC said that automatically making gcc look in /usr/local/lib was a bad idea. Forgot to ask why before logging off. ORBit fails to make the tests, as some array sizes in everything.h are too large and some parameters have incomplete types because of it. The array size it's trying to use is a little under 2^62, the type being CORBA_long. As normal user, started deleting files I had created as root. Apparently, write access to the directory gives me power to do this though I don't have write access to the file itself. Makes sense in that the directory is the list of files and being able to change it means being able to take files out of the list. If a superuser wants to create a file in a user's directory that the user would not be able to delete, then the administrator would have to set the uunlnk flag. I set the uappnd(append-only) flag on .bash_history. Don't have java, but from information on the web I see that I can just download the source and it will compile fine on FreeBSD. After a wandering through the labrynthine Sun community source website, I find that the only source release is for the java 1.3.1 beta. I grab it, open it up, and watch make fail; It has seperate configuration files for linux, solaris, and win32, and doesn't check that you might not be using one of these three systems. Remembering that BSD and Solaris are close cousins, I manually set the configuration to solaris, symlink from all the files in /bin to /usr/bin, and try it again. It comes back saying that I need Microsoft Visual C++ version 6.0 or higher. Requiring Microsoft C++ and Gnu Make for a Sun platform, are these people smoking something or does that stuff actually come with Solaris? Trying the linux option gets the same error message. Just noticed that the miniature desktops in E don't update if you're not in that desktop. So much for the idea of using them to tell if anything's changed or not. Minimized windows don't update either. I imagine the performance hit would suck if they did. Find starlanes in /usr/local/bin. Would be more apporpriate in games IMO. Installed abiword, it won't run. Can't find libpng.so.3. I have .4 and a .2, but no .3. Not brave enough to link .4 to .3 I run a find / on my system, the output is a 12 megabyte list of over 260,000 individual files and directories. Wow. Grabbed proftpd, make failed "In file included from main.c:46: /usr/local/include/getopt.h:84: redefinition of `struct option'" Looks like namespace fun. Downloaded wu-ftpd. When installing, it said that the install method the docs said to use was deprecated and I should have used a different install method. Program builds fine, no --help option or feedback from binaries. Docs on site assume I know what I'm doing. I delete it, since there's no way I see that I can configure the thing. Mistyped ls as "sl". Nice way to remind people to learn to type. New Gnome came out. Here we go again, let's see if I can upgrade. Heard that they made sure this version would compile on FreeBSD. I end up with the same lungif problem I had before. I give /usr/local/lib the same treatment I gave /usr/local/include, end up with 260 megs of lib. And it finds ungif. Orbit still farts out with the same test of an impossibly huge array. configured apache 2.0.16 beta with ./configure --enable-rewrite --enable-headers --enable-usertrack --enable-cgi , reconfigured it adding --prefix=/usr/local/apache to that. For once in my life, a package configured itself, built, installed, and worked without any degree of nudging on my part needed. Kudos to the apache guys. Tried to make a normal user a webpage without reading the directions by creating a ~user/public_html. Trying to connect to it using localhost/~user didn't work, the connection to 127.0.0.1 was 301 redirected to my ethernet card's IP, which was not up. Changing /etc/hosts fixed the problem. Apache needs to be run as root, but appears to be suiding itself to user nobody. On boot, sendmail says the unqualified hostname (localhost) cannot be found, so I must have screwed something up with the hostname. Sendmail shouldn't be starting, since I'm convinced I turned it off. Look in rc.conf, sure enough sendmail_enable is set to NO. However, I see rc trying to open up sendmail if there is a problem with VI recovery files, this could be it. Download and install cvs, will have to check it out. Stuff to read: http://www.cvshome.org/docs/blandy.html http://www.cvshome.org/docs/manual/index.html Keep looking for a version of java 2 for FreeBSD. There are some patches for Sun's java1.2 sdk, but I need the source code and Sun only has binaries available for that version. I find a port (as in package management) of Blackdown's sdk, but the less than a year old port is in an obsolete format and won't work. After adding two variables to fix it up, it dies with an error that it's unmatched to bsd.port.mk. Eventually I find binaries of the Linux java 1.3 sdk, and they work thanks to binary compatibility, though they give off a scary error message: "cannot uninstall alt signal stack". Dialed up to my ISP, but couldn't go anywhere. Routing tables looked fine, could ping the gateway but couldn't traceroute to it. Tried again, noticed that I was using tun1 instead of tun0, killed the processes that started both, tried again, still couldn't connect to anywhere. Had to reboot to fix the problem. Tried the graphical CD player, it gave a permissions error. Looked in fstab, looked at the device listed as the CD, noticed it is in the "operator" group. hmm. Add myself to operator and relogin, still get permissions error. Look at the program properties, it's looking for /dev/cdrom which doesn't exist. Create the link, ran the program, nothing happens. Assume it crashed on load, try it again. Nothing happens. Computer starts to hang up periodically like the last time I tried to listen to a CD. Eventually I get a message that gtcd is not responding to the save yourself command, and I should remove the program (Gnome's terminology; means delete the program file where I'm from, but they probably mean kill the process) top shows dnetc using 120% of the CPU. Just in case, I dnetc --shutdown, it says no clients were found, I kill the pid, it says that pid doesn't exist. Top again shows nothing, the computer is still hanging regularly. gtcd is down at the bottom using 0.00% CPU, so I don't know why it's hanging. It doesn't die after a kill -9, its state is atprq (DE in ps), it's starting to piss me off. After five minutes of typing this, the hanging stops and the process appears to have ended. Being a masochist, I try running the cd player again. It starts freezing up the computer. I reboot, and try running gtcd from the command line to see if it gives any output back. Surprisingly, it loads immediately and runs. Trying to manipulate what appears to be the volume bar makes it hang again. Visited a Flash site in netscape. The only "sound" was scratches. Guess sound isn't working perfectly. Decided on a lark to try out Vigor. It needs tcl/tk, tcl installed fine, but tk couldn't find many of its header files and I needed to edit the tk headers to point to their location. After installing tk, vigor couldn't see it, or at least any part of it containing Tk_Init. I discover a program called "calendar". Unix does have a calendaring system! Integrate this with finger , modernize it a bit and you're set to wipe out Exchange/Outlook. Suggest a ~/calendar directory for different calendars in different files(private and public calendars, holidays, system, etc) that can have different permissions. Noticed that xchat was reporting my windowing system as X 3660 with gtk 1.2.8, when I have installed X 4.02 with gtk 1.2.9. FreeBSD 4.3 was released. I run cvsup to update, cvsup suddenly disappears (I assume it crashed.) Reran it. CVSup says it's going at 42KB/sec, kind of an accomplishment on a 56Kb conenction. In Gnome, the tooltip for a window title bar claims that two clicks of any mouse button will roll/unroll the window, when it's two of the left. FreeBSD 4.3 makes and installs fine. I reboot and install PostGres 7.1, it installs and seems to run fine. Idly did a netstat -a, noticed that there were no tcp ports open, only udp syslog was active; But httpd is running and accepting connections. Hmmm... Installed a new Netscape. Now the Netscape button in gnome doesn't do anything. Installing libcss to watch a DVD, it can't appear to find , or at least doesn't understand what a dvd_struct is, when the struct is defined in sys/dvdio.h. Changed the /root and /tmp partitions around, suddenly the panel didn't appear in X. Reinstalled from a freshly burnt 4.3 CD, it still didn't appear, and now my sound doesn't work. Found out that I could get the panel to run by running the "panel" command. The background icons(home directory) and auto-startup programs(users' guide) still don't work. Two weeks later, find out that gnome-session in ~/.xsession had been replaced by enlightenment. On startup, the scripts say it is running opennap and rplayd. I cannot find any mention of these programs in any of my startup scripts. Find an obscure file: /etc/gnats/freefall. Man gnats and man freefall come up empty. The file seems to be just a list of directories; However, one of the listings is "advocacy" which is not a file or directory on my system. Discovered /etc/crontab, and discovered from it /etc/newsyslog.conf. In newsyslog.conf, I set the ppp log to be readable by network group. Get my kernel recompiled, sound working. Games with "x" sound(xkoules, xgalaga) have about a second delay between when the sound's supposed to play and when it actually does, gsnesx sound works fine. Other programs besides these three apparently don't use sound. Haven't been keeping good notes... Some lousy code of mine caused Blackdown 1.3.0 to die with Sig11 (or exits with sig6, depending on which error message to believe). During the creation of the 135 meg core file, the system is completely unresponsive to normal user input(keyboard, mouse) for about a minute from both X and cli mode. However, I can use alt-fx to swap VTs fine; Must be implemented on a lower level that is not effected or something. The fact that the core is more than my system's ram probably has something to do with the slowdown, but I wasn't expecting to see something with FreeBSD's reputation go unconcious like that. Some even lousier multithreaded code makes Blackdown choke once for each of about six threads for a total 25 minutes of unresponsiveness, each thread's core overwriting the last core file(doh). The resulting 140meg core can be bzip2'd down to 760k. Started looking for sample IPFW scripts, since I plan to hook this box up to a cable modem within two weeks and I don't want people poking my X server or anything else I don't want them poking. I find out that firewalling is not compiled into the kernel by default, have to wonder why. Here we go again. The firewall blocks Internet connections from local host, reason is line 1000 deny tcp from any to any setup. I assume that it is denying "setup" packets so connections cannot originate on or from the firewall. Knowing ~nothing about tcp, though, it's a wild guess. Was told to use gdm instead of xdm, no specifics were given just that "it's better". Tried it, it wouldn't let me log on either as normal user or root, and had to get a ctrl-alt-delete out in the middle of a ctrl-alt-backspace in order to escape it. Since I haven't the slightest clue how to configure either(They're both "fourty config files in fifty directories" type of programs), all that matters to me at the moment is that xdm lets me log in and it's prettier. To enable NAT, I need to add another line to the kernel configuration. Here we go again. I had better have this routine down by the time I move on to something else. Moved the box to its new location on a cable modem. NAT and ipfw work perfectly, LAN clients have no problems and experience no slowdowns. Accidentally screwed up my NAT for a moment. Saw that it would divert from any to any and wondered if people could divert from outside to inside, so decided to only divert from inside the network to out. Naturally, that kept the reply packets from reaching the internal machines, and I spent an hour or so wondering why I was losing packets and nothing was showing up on a deny line... Found out that you can't create a hard link to a directory. I wanted to put the postgresql docs online, and decided the most straightforward way to do that was to hardlink the postgresql docs directory to under htdocs. Instead I'll have to move all the files to under htdocs and make a symlink directory where they used to be. Actually, just made a new directory and individually hardlinked each file to it with a simple for statement. Tried to run postgres. I start up the postmaster process using sudo and pg_ctl, and it seems to run fine, and run initdb to.. do something. Make a "database cluster", not that its well explained what one is. Then I just run the psql client and start plugging away at a new database... Yeah right. Instead, like every non-trivial program except for Apache, it absolutely refuses to work when I follow the docs to the letter. It says Database "username" does not exist in the system catalog, where username is the username of whoever I'm running the client as. Research shows that the default database name is template1, so I run psql template1 and it says that my user name does not exist. Funny, I feel corporeal. Either ProFTPd or my network card is misconfigured, because FTP downloads from this box are s-l-o-w. Using the same hardware and client(Win95/WSFTP), BeOS spits out 2GB over ftp in the time it takes Free to transfer 18 megs. Transfers under BSD cause a lot of packet collisions and there're bits of dead time when there is nothing happening on the network. My Gnome Panel icons suddenly disappeared, so I had the opportunity to learn how to configure the Panel by putting as much stuff as I can remember being there back on. Many of the applets' dimensional setting don't work. I find I can move Panel icons around using the middle mouse button, but not the main, and that from one edge of the icon you need to drag to the other edge to move it around, instead of the dragging being centered on your mouse pointer; A pain for wide icons like the tasklist. Trying to compile ImageMagick so I can take screen shots. Configure says I don't have XML, though the libxml from Gnome installed fine(libxml2 didn't, and it might have been looking for another libxml). Compile works, install doesn't: Can't locate ExtUtils/Miniperl.pm. It was looking for perl 5.00503 directories when I have perl-5.6.1. Shell scripts don't use the same environment variables that the running shell does, notably they don't parse /etc/profile(which I had been told is the main environment settings file that all shells read from). I later find out about the export keyword. Something is wrong with my fonts; A lot of X things show dotted-line boxes instead of letters. Since postgres doesn't work at all, I decide to recompile and reinstall it. Instead of a barebones install, I try to configure with all the java/tcl/etc bells and whistles since they might make things easier in the future. Tcl/tk gives me the first problems, one of which is that when I installed tcl and tk 8.3, it didn't symlink tclsh to the new tclsh version but instead created a shellscript that would give a warning that I had two versions of tclsh, and did nothing. After figuring that out, I find I need a program I'd never heard of before called Ant. It's something to do with Java and XML, and it's a pain in the ass to install. Once I got it working, Ant had installed itself 700 so nobody could use it, and hadn't installed the classes it needs to work. Once I had moved them over, I discover I need a Java XML parser called jaxp. I download it, and the instructions say "unzip and install" without giving a clear explanation of what the installation process is. Very helpful indeed. I throw it in the classpath and make doesn't find it, I add some of its subdirectories to classpath and make still doesn't find it. I needed to specify the actual .jar files themselves on the classpath. Eventually get it running, but it doesn't open up a TCP port. It also seems to have its own user/authentication/security system which I'm not going to take the time to learn, but means for the moment that any user can screw with any other user's database. Sometimes ending a terminal session will kill programs which were backgrounded in it, sometimes it won't. When I run a program in the background, I expect it to be *running in the background*, and not die when I logout or close an eterm. There's an image I wanted to make transparent and put up on my web page, so I read up on how to make transparent pngs in Gimp. Had to use WinGimp because Gimp won't compile on my box. When I'd finished, Netscape said that the image was not transparent, but Konq and K-mel rendered it fine. GWeather has been telling me the weather is fog and rain. Heh. Heh. Hottest week of the year so far, hitting >90F daily(which gweather is picking up, but fog and rain at >90F?) Found a GIS program Grass which I want to install; Requires a whole bunch of stuff. First on the list of things I haven't already installed is unixODBC; It requires pthreads, which I find the FSU implementation of buried thirty down on Google. I open the README which says it doesn't offer a full implementation of pthreads. Considering it's the only implementation of pthreads I've been able to find, it had better do the job. It doesn't even compile though; Conflicting types for siginfo_t. Gave up on the stuff Grass said it needed and tried just compiling it. It seemed to work, but I had trouble finding anything to execute. Found one program, but I needed wxPython which didn't come with the system, which needs wxGTK which didn't come with the system. Eventually found the main program, which wasn't able to open the test data in the way that the docs described. Must have done something right, because Konquerer displays GIF graphics now. Apache didn't install as cleanly as I'd thought. Trying out a rewrite rule, and it doesn't reply to a web browser. It's spawning a bunch of zombie processes, and nothing is written to error_log or rewrite_log. Since I haven't the clue to fix the problem, I look for and find a newer version of the beta, configuring with --enable-rewrite --enable-headers --enable-usertrack --enable-cgi --prefix=/usr/local/apache The gmake dies, finding syntax errors in /usr/local/include/malloc.h of all things. My guess is that it doesn't know what a FILE is. Including stdio.h before malloc.h works. I later notice that something is straining the CPU, I run top and find it's httpd. I shut it off and turn it on again, and it starts using all the CPU. I decide that it's called beta software for a good reason and downgrade to 1.3.20, compiling with ./configure --enable-module=rewrite --enable-module=headers --enable-module=usertrack --enable-module=cgi --prefix=/usr/local/apache Now, every so often four httpd processes pop up each consuming as much of the processor as it can. FTPing to my proftpd server from a windows ftp.exe client, ls -l hides the directories that are set to be hidden, but they can be viewed by ls without any arguments. Patched fts in libc and the recent hole in w3m. Downloaded and installed djb daemontools and dns. Haven't configged djbdns yet. Tried building ORBit through a port rather than from source. The port grabbed version .5.7. Apparently it compiled and installed, but.. it didn't run the tests. And the tests fail when run with the same problems I'd had with the source. Tried installing xine over ports, it pulled down an old version that didn't work. Reading some docs on djbdns that assume I already know what I'm doing, apparently there is supposed to be a file called "data" somewhere, but I don't see one that can be associated with djbdns. Eventually I did: dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1 dnscache-conf dnscache dnslog /etc/dnscachex 24.5.222.79 tinydns-conf tinydns dnslog /etc/tinydns 24.5.222.79 ln -s /etc/dnscache/ /var/service/dnscache ln -s /etc/dnscachex/ /var/service/dnscachex ln -s /etc/tinydns/ /var/service/tinydns Reading another doc, it says I should have put tinydns on 127.0.0.1 and dnscache on 24.5.222.79, as opposed to what the second doc said to do. I reconfigure with dnscache-conf dnscache dnslog /etc/dnscachex 24.5.222.79 tinydns-conf tinydns dnslog /etc/tinydns 127.0.0.1 ln -s /etc/dnscachex/ /var/service/dnscachex ln -s /etc/tinydns/ /var/service/tinydns After doing this, I find the file /etc/tinydns/root/data. It is empty. Gweather begins crashing repeatedly. Gdk-WARNING **: shmget failed: error 12 (Cannot allocate memory) Gdk-WARNING **: shmget failed: error 12 (Cannot allocate memory) ** ERROR **: file extern.c: line 764 (s_panel_add_applet_full): assertion failed: (li != NULL) aborting... ** WARNING **: file applet-widget.c: line 934: Corba Exception: type = 2 exid = IDL:CORBA/COMM_FAILURE:1.0 ** WARNING **: Cannot start CORBA Gdk-WARNING **: shmget failed: error 12 (Cannot allocate memory) Hmm, this is shortly after installing ORBit from ports.. Compiled and ran pine, it complained that /var/mail wasn't 1777, and my system was therefore vulnerable to a compromise. The operating system installed /var/mail 0775. Research shows different people claiming it should be 1777, 1755, 0755, etc. grepping for 1777 through the pine source, I find some comments saying that pine needs to create a "lockfile" in order to interact with the mail daemon, so I change the permissions. I /think/ I have dnscache set up, and dnscache and tinydns are running. After putting 127.0.0.1 at the top of resolv.conf, dns lookups take over 5 seconds. From one of the 9x clients set to use my box as a dns server, there is only a two second wait. Changing my primary resolv.conf to the IP address dnscache is waiting on, 24.5.222.79, doesn't help. I'm certain proftpd isn't running up to speed. A large 78meg file took several minutes to move over the 100TX wire, with speeds usually staying around 10Kb/sec and sometimes spiking at 1Mb before dropping down. Using smbclient to drop a 48meg file, it took seconds at a speed of 4987.86 kb/s. Everyone says TCP is so much better than SMB, but for practical purposes here it's better to use smb. Trying to diagnose the problem in djbdns.. I can't telnet to 127.0.0.1:53, or to 192.168.1.1:53 from a client. I can telnet to 24.5.222.79:53 but am immediately booted off. None of this testing shows up in the firewall logs, and sure enough flushing the firewall doesn't fix it. The 5 second wait is probably my connection to myself timing out before the process goes to the real dns server below my entry in resolv.conf. Found this funny line in my apache log: 211.100.7.29 - - [07/Jul/2001:23:12:02 +0000] "GET http://210.52.43.129:2876/ HTTP/1.1" 200 1036 "-" "Mozilla/5.0 (compatible; MSIE 5.01; Win2000)" Well, if I'm looking for funny lines these are mentionable as well: 128.95.86.180 - - [06/Jul/2001:01:21:14 +0000] "GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir" 404 - "-" "-" 216.198.93.67 - - [06/Jul/2001:17:07:14 +0000] "GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir" 404 - "-" "-" 216.198.90.147 - - [07/Jul/2001:12:58:13 +0000] "GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir" 404 - "-" "-" But that first one makes me surprised; I am not familiar with the address 210.52.43.129. There doesn't seem to be a port 2876 running at that IP. Trying to figure out my FTP problems, as the HideUser directive is supposed to keep files and directories owned by a user from showing up in the client's list but doesn't in the case of the Windows ftp client. I telnet to my ftp from both this machine and a client, but both NLST and LIST give 425 can't build data connection: connection refused errors. Probably because I need a port open on my end. Logged a connection, ftp.exe uses NLST for regular and NLST -l for long listings. As far as the bandwidth, it stays as low with two connections from the w98 client as with one until both connections die with a Netout: 10054. Copying files over SCP goes at about the same speed as FTP, so it's not just ftpd that is the problem. Logged in, Gnome forgot to run enlightenment. Didn't even get the crash where I would have to hit f2. On a later logon, gweather seems to work now. Got ORBit tests to compile by changing the nature of the tests. Changed the lines with really big numbers such as typedef CORBA_long test_LongArray[4653144500217053186]; to something more reasonable(that is, something the compiler is willing to eat). Had to break the three-dimensional array down to four-digit numbers. Then, threw the following code snippet I found on the web into the /usr/lib/glib/include/glibconfig.h file: #if defined (__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 8 # define G_GNUC_EXTENSION __extension__ #else # define G_GNUC_EXTENSION #endif Changed that first bit to #if defined (__GNUC__) && \ (__GNUC__ > 2 ||(__GNUC__ == 2 && __GNUC_MINOR__ >= 8)) Continuing to compile and install gnome from source, or at least try to, gnome-vfs gets confused as to what version of glib I have. I look into it, and am myself confused as to what version of glib I have. Configure sees 1.3.1 headers and 1.2.10 libraries; I see 1.2.10 and 2.0 headers and libraries, with "glib" symlinked to the 2.0. Glib 2.0 does not exist yet. I download the latest version of glib, 1.3.6. It requiires pkgconfig, which comes with its own version of glib, 1.2.8. What the hell, after installing pkgconfig, now glib 1.3.6 configure wants libiconv. I install that, it installs but gnome-vfs configure test for glib over 1.2.6 fails. Do some RTFMage, find out that 1.3 is the dev branch (hence 2.0) and I ought to be using 1.2.10. Something replaced malloc.h because it again doesn't know what a FILE is. Fix that, vfs installs. Another gnome component (libgtop) fails to compile, looking for . Naturally, I don't have it. Find a copy on the web, notice that most of its content is duplicated in vm.h. I make a symlink vm_prot.h to vm.h. That works, then it dies on the line "struct mount mount;", saying the storage size of mount isn't known. It is including sys/mount.h where the mount struct is declared inside a _KERNEL ifdef block. I ask for help and am told to use the port, which works; Apparently, the port contains a patch for this problem that the gnome people haven't merged into their code yet, even though gnome is supposed to compile on FreeBSD. Continuing to work on gnome, scrollkeeper won't install. There are about eighty Makefiles trying to run ln with a -n argument, which doesn't exist. I make clean and look for where the configuration finds the -n, can't find it so I decide to edit the Makefiles by hand. Now the normal make doesn't work, invalid reference to gettext. I link with -lintl, and edit the ln -n's out of the makefiles, and after scrollkeeper installs it segfaults on a test. When running GSnes9x, in any terminal window the keyboard did not repeat when holding down keys. As soon as I ended GSnes9x, the keys could repeat again. Want to be able to take screenshots. Having heard good things about it, I decide on scrot. It requires giblib, which requires imlib2, which requires edb, none of which I have of course. As a websearch shows advertisements for "Duron MMX", I assume the Duron understands mmx instructions and configure imlib2 for them. I'm amazed as all the requirements and scrot successfully compile and install, and the executable actually works as intended. I believe this is the first time that anything has worked so well on this system. I've been getting a lot of errors about not having des and its related functions. Websearches have come up empty as to where to get des. A friend couldn't connect to my ftp using Netscape, he reported NN trying to connect to random five digit ports. I see him splatting in my firewall against a somewhat sequential series of four digit ports. Command line ftp client works fine, I turn on debugging and have him try again. Netscape's sending "REST 0", "SYST ", and "PASV " lines that ftp.exe doesn't, I'll have to look that up when I have more time. (later) The PASV is Passive FTP, which makes my server tell the client to connect to a random one of my high level ports. So either I figure out a way to disallow it, or I have to accept that seeing a random high level port open and listening for connections without my knowledge or permission is a good thing. Patched and recompiled the kernel for a bug that was recently discovered. On reboot, svscan couldn't find tinydns or dnscache. Identd wasn't running, even though it is in /etc/rc. Running identd and svscan manually worked, using the exact same commands.. Compiled and ran Ethereal. When running a capture, its interface is extremely slow to the point where you have blank windows of nothing, the sort you get in Microsoft Windows when Windows is waiting for a NetBIOS connection that isn't there. Might Ethereal be similarly waiting for some signal before redrawing the interface? It takes several minutes, but eventually Ethereal finishes what it's doing. It does not take up CPU when it is hung like this. Eventually it failed to draw the stop button, so I annihilated its window. After doing this, I got messages that the program was trying to draw to the window, but couldn't. I would expect annihilating a window to wipe the associated program. Started reconfiguring djbdns. What I've found out is that I don't reply on 53 at localhost or my internal ip, and nslookup hangs for a while before timing out trying to connect to me. ran: tinydns-conf tinydns dnslog /etc/tinydns-public/ 24.5.222.79 tinydns-conf tinydns dnslog /etc/tinydns-internal/ 127.0.0.1 on nslookup, get the following ls responses from these IPs: 24.5.222.79 No address (A) records available 192.168.1.1 can't find ls: No response from server 127.0.0.1 Request timed out changed /etc/dnscachex/env/IP to 192.168.1.1 from 24.5.222.79, no changes. Killed everything and reran svscan, it couldn't find /etc/tinydns-internal/run . All that was in that directory was the supervise directory. rm -rfed it, rmrfed the old tinydns directory from my first attempt at getting this to work, rebuilt the tinydns-internal directory, fixed broken symlinks, restarted svscan. tinydns 24.5.222.79 Request timed out dnscache 192.168.1.1 No address (A) records available for ls tinydns 127.0.0.1 Request timed out Looking in the log for dnscache: @400000003b583f082869544c starting @400000003b58411e16d8889c query 1 c0a80101:103d:6867 1 ls. @400000003b58411e16da78b4 tx 0 1 ls. . 8009006b c629000a c0702404 c021040c c1000e81 c6290004 ca0c1b21 80080a5a c620400c c00505f1 c0249411 803f0235 c0cbe60a @400000003b58411f2628c6a4 rr c629000a 172800 1 rain.psg.com. 931c0022 @400000003b58411f262af154 rr c629000a 172800 1 hippo.ru.ac.za. 92e78001 @400000003b58411f262bfaf4 rr c629000a 172800 1 daisy.ee.und.ac.za. 92e6c012 @400000003b58411f262cf10c rr c629000a 172800 ns ls. daisy.ee.und.ac.za. @400000003b58411f262da4bc rr c629000a 172800 ns ls. hippo.ru.ac.za. @400000003b58411f262e509c rr c629000a 172800 ns ls. rain.psg.com. @400000003b58411f262f1bbc stats 1 204 1 0 @400000003b58411f26306f94 cached 1 daisy.ee.und.ac.za. @400000003b58411f26318cbc cached 1 hippo.ru.ac.za. @400000003b58411f2632a214 cached 1 rain.psg.com. @400000003b58411f263380bc tx 0 1 ls. ls. 931c0022 92e78001 92e6c012 @400000003b58411f2b577f44 nodata 931c0022 3600 1 ls. @400000003b58411f2b591584 stats 1 230 1 0 @400000003b58411f2b5e45a4 sent 1 20 @400000003b58411f2b61a104 query 2 c0a80101:103e:6868 1 ls. @400000003b58411f2b62ed0c cached 1 ls. @400000003b58411f2b6de5a4 sent 2 20 I have *no* idea who daisy, hippo, or rain are. tinydns-internal log: @400000003b583f083351330c starting tinydns @400000003b58416808b10f3c 7f000001:1041:f2eb - 0001 ls @400000003b58416d09496b24 7f000001:1041:f2eb - 0001 ls @400000003b58417e0e409cec 7f000001:1042:f2ec - 0001 close tinydns-public log is similar, but includes lines: @400000003b5841392bbdb73c 1805de4f:103f:f2e9 - 000c 1.0.0.127.in-addr.arpa @400000003b58413e2bd12f9c 1805de4f:103f:f2e9 - 000c 1.0.0.127.in-addr.arpa From what I gather, this is a reverse-DNS name. It doesn't resolve, naturally I don't know who to bug to get this set up. On the topic, I'm not going to get my normal reverse-dns set up without bugging my ISP; The fact that normal DNS doesn't work is what's pissing me off. Seeing all the ls's in the logfile tells me that the commands are reaching tinydns, just don't know why they aren't working. And there is no place in dnscache to insert an A record; I was under the impression that it just scooped names out of /etc/hosts. ran make in tinydns-public/root/, ls still times out. The request shows up in the log as soon as I type it in, and is repeated four times. Flushing the ipfw ruleset doesn't help, so it's not a firewall problem. dnsip localhost works fine, dnsip thera doesn't. Attempts to trace thera at any of the server IPs fail. [dturover@thera]~$ dnstrace any thera 24.5.222.79 0:.:.:start:NS:.:. 0:.:.:start:A:.:24.5.222.79 255:thera:.:24.5.222.79:tx 255:thera:.:24.5.222.79:ALERT:query failed; timed out Strangely, dnsq works. Also, nslookup on a FQDN works, on one that is unknown it times out rather than giving an error. Later, when logging into Gnome, am told that Gnome cannot resolve my computer name, and I should put it into /etc/hosts. My computer name is in /etc/hosts. Odd permissions.. Any user can delete root-owned 644 file (a file he doesn't have permissions to delete) in a directory he has write to. Given that what the user is doing is deleting an entry in the directory it kind of makes sense, but on the logical rather than implementation level, the user does not have adequate permission to delete the file. Created a whole bunch of delete files jobs. The eighth I forgot to run with &, so I ^Z'd to exit it and tried to bg %8 to put it into the background. Both bg and fg say "%8: no such job", and jobs shows "[8]+ Stopped rm mozilla-source.tar". This is an incredibly stupid bug if it is what I think it is. Need to add "get new version of bash" to list of things to do. After getting the job pid from ps, the file I was deleting had already been unlinked. While these deleting processes are running, it takes a very long time(a few seconds) to open a file, or exit a windowed program. The process of logging out of Gnome took about 30 seconds from clicking the log out button to reappearing at the xdm main screen [dturover@thera]~$ grep NNNNN < /var/log/httpd.log | wc -l 19 Configuring gcc 3.0, waits for a *long* time on the line: checking for working mmap from /dev/zero... Taking up a goodly amount of CPU, so I kill it. Went back to trying to install gnome. Found the scrollkeeper source directory where I left off, ran make install, it didn't segfault. Shrugged, went on. control-center complains about not having vfs greater than .9, when I have installed 1.01. I reinstall it, still get complaints. gnome-vfs-config reports that it is version .5. Naturally, the new install didn't install in the same location as the old install, but installed somewhere else. I remove the old version in /usr/X11R6/bin as well as gnome-config gnome-dump-metadata gnome-gen-mimedb gnome-moz-remote and gnome-name-service . Eventually will have to write a script to see what I have in X that's duplicated in bin and delete the old version. Do, and wipe out dns-helper gconfigger gdk-pixbuf-config gnome_segv gview imlib-config imlib_config libart-config loadshlib makedepend mwm new-object rman uil xmbind. Running make on another gnome component, see scrollkeeper-config segfaults. Looking for just wtf it is, find out it's a document cataloguing system, probably not a critical component. make on gnome-applets fails: /usr/local/bin/msgfmt -o zh_TW.Big5.mo zh_TW.Big5.po zh_TW.Big5.po:198: illegal control sequence zh_TW.Big5.po:312: illegal control sequence zh_TW.Big5.po:2985: illegal control sequence zh_TW.Big5.po:3694: illegal control sequence zh_TW.Big5.po:4360: illegal control sequence Upgrade my gettext from .10.35 to .10.38, that fixed it. Unfortunately, I get the same problem compiling mc, with the most recent version of gettext. Research suggests I should change \\ sequences to \x5c, so I do. That gets rid of those errors, but I'm left with: zh_TW.Big5.po:7233: invalid multibyte sequence the offending line is: " Global: errors\xf9, reverse\xcf, gaugep, input\xe9\n" Actually had screwed up changing the sequences, I was actually typing out the string instead of the actual character. Since I'll be installing BeOS on another computer, looked at the manpage for fdisk so I can get it off this one and keep things legal. Apparently, fdisk is incapable of resizing or reconfiguring partitions unless I want to learn another programming language, all that it can do for me is print a summary of the partition table. Neither identd nor svscan starts up on startup, though both are in my /etc/rc file. svscan spits out a bunch of error messages, obscuring anything that identd might have printed. Naturally, using the exact same command letter for letter from the command line will run the program without any problems. Reconfigured libcss with the patches from http://www.linuxvideo.org/lists/livid-dev/2001-January/msg00013.html Actually patched by hand, since it's faster than saving to a file and learning how to make it a real patch that would work. css.c seems to have changed slightly since the patch was made, especially in the area where the preprocessor _CSS_PrintFoo directives are defined before CSSAuthDrive. After these (minor) changes, the patch hasn't made it into libcss proper. The apparent utter uselessness of these two lines scares me: typedef struct dvd_struct dvd_struct; typedef struct dvd_authinfo dvd_authinfo; Then again, my problem earlier was that it didn't know what a dvd_struct was, this could very well fix it. I rework the CSS directives to: #define _CSSPrintDebug(args...) fprintf (stderr, args) #define _CSSPrintDebugBytes(descr, val, len) fprintf (stderr, descr":\t"); _CSSPrintBytes (val, len); fprintf (stderr, "\n") #define _CSSPrintBytes(val, len) #else #define _CSSPrintDebug(args...) #define _CSSPrintDebugBytes(descr, val, len) #endif Simply adding the PrintBytes line, the rest remains as it was in the .10 file(though not as it was in the prepatch file, which did not have the else block or definitions for any of the directives) I smiled at and ignored a line of patch that says to replace a line of comment with itself. Another replace a line with itself was code; Just in case I may have missed a slight difference, I copypasted the new stuff in and commented the old. There was also a blank line in the middle of a + block, which worried me a little. There is also a place where the patch defines DVD as "dev/acd0c", which frightened me until I looked up the device name in the FreeBSD Browser; Don't know what the difference between type a and type c are, but I don't like the idea of hardcoding a program to look at a specific device number. I symlink /dev/dvdrom to /dev/acd0c and use that. Finish, make, fix a few typos, make, and it breaks on cannot find -ldl. Research shows that some systems have DL functions in a seperate library and FreeBSD doesn't, so the fix involves just taking out where it looks for -ldl. After fixing a few more typos, it compiles. I grab xine and compile it, and xine complains about "Xlib: extension "XVideo" missing on display ":0.0"." To fix this, I'll need binary drivers from NVidia. Their web page sucks, and implies that the drivers only work on Linux when they're written for X. I grab and install the drivers, XVideo still doesn't work. Some more reading shows that shouldn't matter unless I want fullscreen video(which I can do without), a bigger problem is my shared memory allocation isn't big enough. I increase it like the nice faq says, using sysctl -w kern.ipc.shmall=32768 and sysctl -w kern.ipc.shmmax=67108864, and adding the kern.ipc= lines to /etc/sysctl.conf(which had not existed). After that was done, Xine loaded but I got a permission denied error trying to read the drive. I added a "console" group and changed permissions so it can read/write the DVD drive. Then hit the dvd button, it shows: input_dvd: get_autoplay_list Using ifo VTS_01_0.IFO Segmentation fault (core dumped) [dturover@thera]~$ gdb xine xine.core GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-freebsd"... Core was generated by `xine'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/libm.so.2...done. Reading symbols from /usr/X11R6/lib/libSM.so.6...done. Reading symbols from /usr/X11R6/lib/libICE.so.6...done. Reading symbols from /usr/X11R6/lib/libImlib.so.5...done. Reading symbols from /usr/lib/libjpeg.so.9...done. Reading symbols from /usr/lib/libtiff.so.4...done. Reading symbols from /usr/lib/libungif.so.5...done. Reading symbols from /usr/lib/libpng.so.4...done. Reading symbols from /usr/lib/libz.so.2...done. Reading symbols from /usr/X11R6/lib/libXext.so.6...done. Reading symbols from /usr/X11R6/lib/libX11.so.6...done. Reading symbols from /usr/lib/libesd.so.2...done. Reading symbols from /usr/lib/libaudiofile.so.0...done. Reading symbols from /usr/lib/libc_r.so.4...done. Reading symbols from /usr/X11R6/lib/libXThrStub.so.6...done. Reading symbols from /usr/lib/libc.so.4...done. Reading symbols from /usr/local/lib/xine/plugins/input_file.so...done. Reading symbols from /usr/local/lib/xine/plugins/input_net.so...done. Reading symbols from /usr/local/lib/xine/plugins/input_dvd.so...done. Reading symbols from /usr/lib/libcss.so.1...done. Reading symbols from /usr/local/lib/xine/plugins/input_vcd.so...done. Reading symbols from /usr/local/lib/xine/plugins/input_stdin_fifo.so...done. Reading symbols from /usr/libexec/ld-elf.so.1...done. (gdb) where #0 0x283706fd in _thread_leave_cancellation_point () from /usr/lib/libc_r.so.4 #1 0x283708e1 in _thread_leave_cancellation_point () from /usr/lib/libc_r.so.4 #2 0x28371005 in malloc () from /usr/lib/libc_r.so.4 #3 0x28368ac5 in calloc () from /usr/lib/libc_r.so.4 #4 0x284418af in ifoReadTBL () from /usr/local/lib/xine/plugins/input_dvd.so #5 0x28441e72 in ifoOpen () from /usr/local/lib/xine/plugins/input_dvd.so #6 0x2843ee89 in parseIFOs () from /usr/local/lib/xine/plugins/input_dvd.so #7 0x2843fe69 in input_plugin_get_autoplay_list () from /usr/local/lib/xine/plugins/input_dvd.so #8 0x808fb1c in pl_scan_input (w=0x0, ip=0x0) at gui_playlist.c:1383 #9 0x8be8780 in ?? () #10 0x81e06a0 in ?? () #11 0x0 in ?? () Tried ftping to netscape to download 4.78. Neither command line ftp nor lynx works; ftp times out on an ls or get command, and lynx simply doesn't connect. Nothing in the firewall, problem's on their end. Too lazy to look into it myself. Eterms crashed on open. This sucks; vi hung on a paste. I killed it, and got spammed with 30 emails telling me to recover. Went back to my file(this one, actually) and it was cut off around line 1143. Lost a paragraph or two that I hadn't updated up to the web already. Looked into what's causing Apache to take up all the cpu: Attaching to program: /usr/local/apache/bin/httpd, process 15394 Reading symbols from /usr/lib/libcrypt.so.2...(no debugging symbols found)... done. Reading symbols from /usr/lib/libc_r.so.4...(no debugging symbols found)... done. Reading symbols from /usr/libexec/ld-elf.so.1...(no debugging symbols found)... done. 0x28131a7c in gettimeofday () from /usr/lib/libc_r.so.4 (gdb) where #0 0x28131a7c in gettimeofday () from /usr/lib/libc_r.so.4 #1 0x281449a3 in _thread_kern_scheduler () from /usr/lib/libc_r.so.4 #2 0x0 in ?? () This.. isn't good. Assuming that the bug could be in either my compiler, libc, or the kernel. Read the FreeBSD.org guide to using CVS to update your version of FreeBSD which doesn't actually tell you how to use CVS to update your version for FreeBSD, but I got enough out of it to download a new libc. CVS is a very fucked up incoherent system which assumes you know to the exact letter the name that the CVS server admin decided to give the project you want to look at and so offers no method of browsing projects, and assumes that no user will ever access more than 1 CVS server. Downloading and compiling httperf, it breaks looking for alloca.h. I don't have it, comment out the include. It accepts that, then dies on an undefined reference to fpsetmask. Add #include , it complains about an incompatible pointer but works. I was able to serve 21 requests / second to my static front page. No max cpu usage from apache with the recompiled libc, in fact httpd hardly blinked, it was httperf that was taking up all the cpu. One problem I will have to fix: httperf: warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE I have a feeling this is a "low" limit of open files that raising could improve, like I increased the shared memory for the DVD player. Playing s'more with it, I get 200 requests/sec with 1024 connections(the first test had 4096), down to 23 with 1500. Indeed, the 1024 connection test finishes in about a second, while a 1100 tets takes several more... Or the 1024 test took a second to run once, and the next time I tried it took close to 30, getting 20 requests / sec. Added EXTRA_CFLAGS=="-DFD_SETSIZE=8192" to apache/src/Configure, rebuilt with ./configure --enable-module=rewrite --enable-module=headers --enable-module=usertrack --enable-module=cgi --enable-module=so --prefix=/usr/local/apache The mod-so is something I left out earlier, that is required for PHP to install. Also, PHP wants an existing MySQL installation and mod-perl; I don't have MySQL(have been wrestling with PostGres instead) and have no idea how to get mod-perl working. Saw a 13 meg rewritelog, brought rewriteloglevel down to 2 and deleted my logs. httpd -l shows the new module, and: suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec I beat larn, and got as a reward: [dturover@thera]~$ cannot open /tmp/#50277larnmail: permission denied Tried configuring gcc again, same problem checking for working mmap from /dev/zero... Running gdb on conftest, I get: Program received signal SIGSEGV, Segmentation fault. 0x804896f in test_2 () at ct-mmap.inc:157 157 x[0] = 1; gdb is somehow unable to detach from processes: (gdb) detach Detaching from program: /home/dturover/gcc-3.0/./gcc/conftest, process 57621, thread 1 ptrace: No such process Configuring php: php wants MySQL already installed. Okay, grabbing that, configuring mysql with: ./configure --enable-thread-safe-client --with-mysqld-user=mysql --with-comment --with-extra-charsets=all That dies: mysqlbinlog.o: In function `Log_event::read_log_event(st_io_cache *, pthread_mutex **)': mysqlbinlog.o(.text+0xd33): undefined reference to `pthread_mutex_lock and a lot of other undefined references to pthread stuff. After half a day, figured out how to get it to link with c_r. I had grown so accustomed to the compile failing that I didn't notice when it worked, and had given up and gone off to do other things for several more hours. Configuring php: Configuring with --with-mysql, without specifying the mysql directory, brings up a warning that no other Apache modules will be able to make use of mysql. That would suck, so I specify the mysql directory: ./configure --with-mysql=/usr/src/mysql-3.23.40/ --with-apache=/usr/src/apache_1.3.20/ --enable-track-vars Didn't work: configure: error: Cannot find mysqlclient library under /usr/src/mysql-3.23.40/ ./configure --with-mysql=/usr/local/mysql-test/ --with-apache=/usr/src/apache_1.3.20/ --enable-track-vars Didn't work: configure: error: Cannot find header files under /usr/local/mysql-test/ One more time: ./configure --with-mysql=/usr/lib/mysql/ --with-apache=/usr/src/apache_1.3.20/ --enable-track-vars configure: error: Cannot find header files under /usr/lib/mysql/ Okay, let's go for headers: ./configure --with-mysql=/usr/include/mysql/ --with-apache=/usr/src/apache_1.3.20/ --enable-track-vars configure: error: Cannot find header files under /usr/include/mysql/ Great, can't find the includes in the include directory. I give up and decide to make mysql PHP-only. Then to recompile apache: ./configure --enable-module=rewrite --enable-module=headers --enable-module=usertrack --enable-module=cgi --enable-module=so --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.module gmake install gives: gcc: modules/php4/libphp4.a: No such file or directory I wonder when I got foreign character support in Netscape. Must have came with 4.78. Found netscape.core files both in my home directory and in the core directory. One or the other, please. Using wget to mirror some guy's website, it always stops at the same spot. Hmm. The time is messed up: It's claiming that the Pacific time is the GMT time. I don't know how to fix it, but I find a doc that guides me through /stand/sysinstall, which means I still don't know how to fix it. Well, it was fun while it lasted: 67355 nobody 60 0 1960K 900K RUN 46:45 14.99% 14.99% httpd 37697 nobody 60 0 1960K 676K RUN 353:53 14.94% 14.94% httpd 37700 nobody 59 0 1960K 912K RUN 45:55 14.75% 14.75% httpd 67352 nobody 59 0 1960K 696K RUN 353:28 14.45% 14.45% httpd 37698 nobody 60 0 1960K 792K RUN 45:35 14.36% 14.36% httpd Attaching to program: /usr/local/apache/bin/httpd, process 37696 Reading symbols from /usr/lib/libcrypt.so.2...done. Reading symbols from /usr/lib/libc_r.so.4...done. Reading symbols from /usr/libexec/ld-elf.so.1...done. 0x2814ccec in _thread_sys_poll () from /usr/lib/libc_r.so.4 (gdb) where #0 0x2814ccec in _thread_sys_poll () from /usr/lib/libc_r.so.4 #1 0x2814c07c in _thread_kern_sched_state_unlock () from /usr/lib/libc_r.so.4 #2 0x2814b993 in _thread_kern_scheduler () from /usr/lib/libc_r.so.4 #3 0x0 in ?? () Trying to quit debugging a running process gives: (gdb) quit The program is running. Quit anyway (and detach it)? (y or n) y Detaching from program: /usr/local/apache/bin/httpd, process 37696, thread 1 ptrace: No such process. I have to kill -9 the gdb process. Downloaded a new libc_r from cvs. Compiled and installed it. I believe that Apache(and other programs crashing/hanging in libc_r) will now require a recompile and relink to run. I'm going to be recompining Apache anyways for php. Speaking of which... ./configure --enable-module=rewrite --enable-module=headers --enable-module=usertrack --enable-module=cgi --enable-module=ssl --prefix=/usr/local/apache --activate-module=src/modules/php4/libmodphp4.a Well, that's what I will be using, anyways. ssl doesn't exist, it apparently happens to be mostly illegal in the United States(but that doesn't stop Microsoft from including it in IIS..) Mod_ssl requires OpenSSL, so we start with that first. INSTALL file says -d is a debugging switch. Debugging is good. "debug-freebsd-elf not supported". So much for debugging. I install with thread and shared library support. [dturover@thera]~/mod_ssl-2.8.4-1.3.20$ ./configure --with-apache=/usr/src/apache_1.3.20/ --with-ssl=/usr/src/openssl-0.9.6b/ --prefix=/usr/local/apache/ After successfully configuring mod_ssl, it tells me to go to the Apache directory and build apache(without running make in the mod_ssl dir). When I'm done with make certificate, I get: WARNING: Do not use this for real-life/production systems Beautiful. I really enjoy seeing this on software that is the industry's accepted standard implementation. Stop apache, run it with ssl and get: Syntax error on line 465 of /usr/local/apache/conf/httpd.conf: Invalid command 'RewriteEngine', perhaps mis-spelled or defined by a module not included in the server configuration About now a career administering Windows is starting to look pretty attractive. Fuck this, I'll do what I want: ./configure --enable-module=rewrite --enable-module=headers --enable-module=usertrack --enable-module=cgi --enable-module=ssl --prefix=/usr/local/apache --activate-module=src/modules/php4/libmodphp4.a That really doesn't work: Every time I make clean and reconfigure apache with these same options, the compile dies in a different place. I like having a webserver, so I start stripping stuff off until it compiles; I end up without php. There's no way to set the time by clicking on the clock. Apparently, when I used weird magic to change the time zone from Zulu to Pacific, it bumped the clock back eight hours when it shouldn't have. There are supposed to be time servers on the Internet that I am supposed to be able to contact and they are supposed to be able to fix my time back up, but that's beyond my knowledge. X suddenly decided that it didn't want to work. After entering my name/pass into xdm, it flashes back to the xdm login screen. xdm-errors shows only X connection to :0.0 broken (explicit kill or server shutdown). XFree86.0.log shows: Data incomplete in file /etc/XF86Config Device section "Primary Card" must have a Driver line. (EE) Problem parsing the config file (EE) Error from xf86HandleConfigFile() Fatal server error: no screens found That would be about this area: Section "Device" Identifier "Primary Card" VendorName "Unknown" BoardName "NVIDIA GeForce" And how long have I been using this file with no problems? su-2.05# ls -l /etc/XF86Config -rw-r--r-- 1 root wheel 4703 Jun 3 18:51 /etc/XF86Config That's be close to two months that this has NOT been a problem. And I actually haven't been fiddling with X, although I think I'll download the latest version now. Trying to reset the time. The manual page and quick help for the date command are incomprehensible. I remember it being far simpler and easier to change the time on a TRS-80 when I was five years old and had to guess the command because there wasn't any documentation. I ask around in IRC how to connect to a time server to get it fixed, nobody knows. tcpdump doesn't dump enough. I can't connect to Dalnet IRC servers from behind the firewall, even though they should see nothing more than my firewall's IP and its working ident server. I turn on tcpdump, connect to and get booted from Dalnet, and tcpdump shows none of this connection. Later find that it waits about 10 seconds before printing the data to screen, and when I exit the program whatever tcpdump hasn't already displayed vanishes into the ether. I decide to send output to a file; In this case, tcpdump displays *absolutely nothing*. Not a single character of output, so I can't track what is going on, until I kill the process. After kill -9ing xdm, I don't even get a command line interface. Instead, I get the monitor's internal software complaining: Attention: Out of Range H 94 KHz V 210 KHz I reboot my computer to see if that will change anything. Rebooting works, I am now able to log in and all is well. Except for Gnome not being able to determine my host name. Or Enlightenment crashing. Or tasklist_applet crashing. Twice. Backing up this(fbsd.txt) file using an ftp put from this machine to the BeOS machine takes several seconds at 20Kb/s; Using an ftp get takes an instant at over 1Mb/s. Mail stored in root's account records the uptime as eight days, that's about the best I've been able to get with FreeBSD. Netscape froze for several seconds when the server hosting the home page was out, to the point of the entire window(including the button area) being grey. Apache didn't start when I rebooted, had to run ldconfig /usr/local/ssl/lib/ again. Threw that in my /etc/rc. Trying to load a secure page gets a connection refused error. Nothing in any apache log or the security log. Tried opening up a terminal window by hitting the terminal button. Nothing happened. Tried again. Nothing happened. It's moving like it's pressed so I know I hit it, and I was able to open a window so I could type into this file, so I know it can work. It just doesn't feel like working today. Log out, try to log back in, get the same problem as before. Reboot again. I think I'll just leave myself logged in, since my dad is too afraid to use this computer. poking around, I find .xsession-errors, which reports an inability to find a library that is in /usr/X11R6/lib. I ldconfig that directory and am able to log in. Logged in, noticed I still had a ssh connection running from the BeOS computer. telneted to it and kill -9'd the process, now netstat -a on this computer gives: "netstat: kvm not available" and it fails to display most of what it displays on -a. Getting back into programming(as if I was ever really into it). My code design skills still suck, but I'm l33t enough to notice the sucktitude and redesign my code, and redesign it and redesign it over. Something I like to do whenever I use a new compiler is to compile main(){} and see how big the resulting executable is. I'm used to getting stuff in the 60K-120K range, on my box it ended up 4K. Read root mail, get a "monthy run output: Doing login accounting" summary. I'm at a loss as to what it's counting; I'm taking up 371.75 somethings out of 384.70 somethings, and my FTP server is 7.93 somethings. My users who vary rarely log in take up 3.09, 1.40, and .52 somethings, while an experimental second ftp account that has been used once accounts for .01 somethings. Maybe I need to install more somethings into my computer. Downloaded and built Mozilla. It uses about as much memory as X(60MB, 45MB res). Waving the mouse over Mozilla brings its CPU use up to 12%, which begins to slowly drop after I take focus off the Mozilla window, taking about half a minute to drop down to half a percent. Moving between settings in the preferences window takes about three to five seconds. Opening a new window took about 15 seconds the first time. Mozilla can't switch themes without reloading; That's a new one. Gnome startup flashes "rm" as one of the things it does when it starts up. I can think of no reason that a window manager would need to remove files unless the administrator is keeping the user to a specific setup. Apache decided that it didn't see libssl again, reldconfigged the directory. After that, X broke again with lib problems. Fixed the ldconfig_paths in rc.conf, sourced it and reran ldconfig. Accidentally got rid of the minimize window, no idea how to get it back. Had to beg for help from the elf on IRC. Name status update: Haven't looked at djb since last mention. Hostname thinks I'm "thera", pine thinks I'm "thera.tangy.sandwich.net", Gnome thinks "thera" isn't listed in /etc/hosts when it is. Telnetting to port 25, sendmail thinks I'm thera.tangy.sandwich.net. What I'm hoping for is that my hostname is thera.tangy.sandwich.net, but requests to the domain tangy.sandwich.net go to thera and pine thinks I'm simply tangy.etc so the users are less confused than they already are. Intra-sital mail works and probably always has. Looking at the sendmail config file makes me want to install qmail. Started futzing with djbdns again. Apparently my box is aware that it's in charge of tangy.sandwich.net, but looking for simply a hostname (like www or ftp) hangs for ten seconds before a timeoiut still. Added records to data, but it didn't see them(and svscan is suppossed to scan every five seconds..). Killed svscan to restart it, that didn't kill the services. Killed their supervise processes, that still didn't get 'em. Finally killed the services themselves and restarted svscan. svscan died on a fatal error: unable to aquire a lock on the logfile. Rebooted. svscan creates a bunch of zombie processes when I have /etc/rc start it, but it works(as well as it does) when I run it manually. Had forgotten that I needed to type make to get the data file read. Watched the arps roll on from Son of Code Red in tcpdump while also doing other things, saw "thera.molly" on one of the packets. Also "thera.iad2". Those would be ports 1374 and 1031. Probably opened up by random. Added this to my crontab: * */12 * * * root /usr/local/apache/bin/apachectl restart This is the sort of thing that Unix guys joke about NT guys doing. mtr suddenly stopped resolving hostnames. Running two cvs checkouts and an rm -rf, a gterm took a really long time to open, about seven seconds. It's a disk thing, 'cause the processor's not hurting at all. The disk krellm is hitting red, with accesses from 700-1500, spiking at 2500 once. Trying to access http://24.5.222.79/~user makes apache resolve the 24.5.222.79 bit to the machine's host name, which DOES NOT EXIST off the local network. Fixed it.. The problem was that I had added a virtualhost for a not-yet existant domain to see if I could do it. Adding that required adding another virtualhost for ALL OTHER CONNECTIONS, instead of what you'd expect where other connections would default to the global data. As it turns out, the global data ISN'T all global, and I had to add another ServerName directive to the new virtualhost for all connections. Now I have to find out why it was redirecting to my hostname and not my fqdn. Ran a du, X froze for three seconds. Disk krellm reports 6600. talk: [Checking for invitation on caller's machine] Trying to write to a user, says they're not logged in. Finger disagrees. Learned enough of CVS to get cvs updates from mozilla and xfree86. I put CVS_X and CVS_MOZILLA variables in /etc/profile, so I can just type CVSROOT=$CVS_MOZILLA to reset $CVSROOT. Built a new Mozilla, had to --disable-ldap to get it to compile. Starting mozilla sent the disk krellm to 4000, staying there for a few seconds. Seems somewhat faster than before, but I'll still want more RAM before making it my primary browser. Crashes on exit: ###!!! ASSERTION: Component Manager being held past XPCOM shutdown.: 'cnt == 0', file nsXPComInit.cpp, line 513 ###!!! Break: at file nsXPComInit.cpp, line 513 Heard that I could use ^AltF# to switch to a terminal while X was running. Had the opportunity to do that when Netscape froze the interface. Unfortunately there seems to be no way to switch back, so it's a matter of killing X. While X was down, that gives me the opportunity to install 4.1.0. After I'd installed it, xdm did nothing. Fortunately, after a few minutes of confusion I remembered that xdm keeps a logfile in /var/log/xdm-errors, and saw that it died complaining that there was no "Driver" in the "Device" section, which there wasn't. As it hadn't complained recently, I figured that installing the new version of X whacked the old version of the config file, and so remembering that the driver was called "nv", I added the line back in manually because XF86Setup froze up on me. Then the mouse didn't work. The new XF86Config file said it was a Microsoft mouse, but I remember it as being a Sysmouse, so I changed it. Then started xdm and got a message that the X server does not support the Shape extension, so Enlightenment wouldn't work. Went to twm. After two seconds, swore that I would get E running again before going to bed. Kill -9'ed X from within xdm. The screen froze. I can still log in from my other computer. According to ps, nothing regarding x is running. Back on this box, try the ^AltF1 trick to get to a VT. End up with the monitor complaining about an invalid frequency: H: 94.2 khz V: 210 Tried to see if I could run 'startx' (as root of course, as normal users cannot run startx), and after deleting a few lockfiles and killing a few stray processes and giving the computer a good shouting at, it worked. Decided to try blackbox, it looked like it worked as compared to my earlier experiment with it so long ago. Tried some other things, xosmulti failed complaining that extension shape was missing. Now breaking my window manager I can understand, but keeping me away from the cute anime girl is downright rude and inexcusable. Eventually solved the problem, had to add an entire new section("Module") to /etc/XF86Config and throw "Load extmod" in it. Works now, but the mouse is damned slow moving around, have to lift and reposition three times to go across the screen. All this trouble, I almost forgot to mention.. Hmm, guess I did forget to mention it. Maybe it'll come back to me. This problem has kept me up about six hours later than I'm used to. I'm going to bed. The mouse being really slow is annoying. Besides that, trying to click and drag gkrellm, it moves half as far as my mouse pointer does. Nowmyspacebarisn'tworking. There it goes again, hitting escape a couple times fixed it. And sometimes mouse clicks don't happen until several seconds after I click the button. Now simply dragging over this window moved it a pixel, and positioning the mouse over its title bar shaded it, without touching any buttons. Middle mouse click shades it like normal, but no number of middle mouse clicks or left clicks will unshade the window. However, taking the mouse off the window and bringing it back into focus unshaded it. Dragging over another window a few times shaded/unshaded it. I have a feeling the mouse driver might be screwy. Killed the xdm process to get out of it and into XF86Setup to fix the mouse, the screen froze. Logged in from another box, there is nothing running that involves X or would do anything to the screen. From prior experience, a reboot is the only way to fix this. Rob thinks I might have bad ram, and suggested memtest86. The required tools to compile it won't themselves compile on this box, so he gave me a binary that would be dd'd to a floppy and would self-boot. Booted it, it said "Loading...", then went to a black screen and stayed there. Here's how this "killing X freezes up the screen" works. When xdm runs, it starts up two xdm processes and an X process in between them. The first xdm restarts the X process or the second xdm if either of them dies. Don't know what the second one does, but it's apparently a child of the X process. To exit out of X, I have to kill the first xdm process, then kill the X process. This had caused no problems whatsoever before upgrading to the new version of X, and would drop me off into the VT that was running before X started. Now it freezes up the display as it was when I issued the kill command. Using the keyboard combination to escape to a VT causes the monitor to complain that the OS is trying to set it to an illegal frequency range of 94.2 khz horizontal and 210khz vertical. Hmm.. it seems like the rule now is to just kill the second xdm process, and the others will die normally. Reinstalled X 4.0.2, mouse is still fucked up. XF86Setup didn't work, it would hang trying to start X. xf86config worked, but fucked the mouse up even more. Killed xdm, it wouldn't restart. Saw X and XF86_SVGA running. Killed them, and not only did the console(in text mode) freeze up, but my ssh connection froze too! Didn't even get the enter echoed back. Had to hard reboot. Wasn't a total kernel hang, as ping packets got through, but sshd wasn't answering so there was no other way. Wiped out my X11R6 and /etc/X11 directories and installed 4.10 fresh. It now doesn't have XF86Setup, so it's all xf86config as far as setting it up goes(Unlike most l33t hackers, I choose not to write my own X configuration files from scratch). Ran startx, the video config worked, but moving the mouse around causes the computer to beep. Funny, because clicking the buttons doesn't cause beeping. I can click and drag until it beeps, then the dragging stops. Moving the mouse over a program that responds to mouseclicks, it responds as if it had been clicked. Tried swapping mice, not only did neither mouse work in the other computer but the second computer didn't pick up mouse movements after plugging its own mouse back into it. Had to hard reboot that one. Rebooted this machine using the second mouse, mouse didn't work; touched it and pointer disappeared. Plugged the old mouse back in and rebooted. Practiced in text mode; I am able to click and drag for far longer than the two seconds X allowed before beeping, so it may not be a hardware problem(I felt the mouse was on its way out before, it is simply an opportune time for it to crap out on me). Running startx, and it's beepbeepbeepbeep again, proving that it's an X issue and not wholly hardware. Here's something startx spat on startup: (==) NV(0): Backing store disabled (==) NV(0): Silken mouse enabled (**) Implicit Core Pointer: Protocol: "Sysmouse" (**) Implicit Core Pointer: Core Pointer (==) Implicit Core Pointer: Buttons: 3 (**) Implicit Core Pointer: BaudRate: 1200 (II) Keyboard "Implicit Core Keyboard" handled by legacy driver (II) XINPUT: Adding extended input device "Implicit Core Pointer" (type: MOUSE) And here's the mousy part of XF86Config: Identifier "Mouse1" Driver "mouse" Option "Protocol" "PS/2" Option "Device" "/dev/sysmouse" Tried using xdm, after not finding gnome-session for obvious reasons it crashed on sig 11 and restarted itself. I've since noticed that the beeping happens when I wave the pointer over the xterms that take up 90% of the screen in startx, but not when I wave it over the background. I would guess that X thinks the mouse is being clicked, except that it doesn't beep when I do click the mouse. Tried sshing to my box from school, got: warning: Authentication failed. Disconnected; MAC error (Message authentication check fails.). Notes for next time: Install with 0 or normal level security. 1 or higher will prevent you from running X. Turn off the mouse daemon after installing. Set moused_enable to NO in /etc/rc.conf. The mouse daemon prevents X from loading. Or at least it did the first time. On the second install, moused and X get along fine. /etc/password isn't the real password file. Use "vipw" to edit password file. There is a GUI x configurator, XF86Setup. It's far better than the cli setup tool. To run X as user instead of root, as root run xdm. append --login to the xterm command properties, otherwise it won't run your .bash_profile. In profile, add /usr/X11R6/include to the env var C_INCLUDE_PATH. If this variable doesn't exist, create it. There is a variable, LD_LIBRARY_PATH, that is supposed to be used by the linker looking for system libraries, but that doesn't stop the linker from not finding the libraries you've installed. There is also a command, ldconfig, which doesn't help either. To help ldconfig out, add directories to the ldconfig_paths array in /etc/defaults/rc.conf and either reboot or source it and rerun ldconfig. The ppp program's group is "network", add users that will be dialing out to it and change ppp.log's group to network in /etc/newsyslog.conf Installing QT: Run configure --help to see the options, and turn on what you want, since many capabilities will be disabled by default. To change the window manager X uses, edit ~/.xinitrc. This only works for root running startx, xdm will run gnome regardless of what I want. man chflags Pre-existing startup options can be configured from one file, /etc/rc.conf Configuring your kernel: look in /usr/src/sys/i386/conf, copy the generic file to a new file and edit it. man newsyslog If glibconfig.h doesn't define G_GNUC_EXTENSION, throw this in it: #if defined (__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 8 # define G_GNUC_EXTENSION __extension__ #else # define G_GNUC_EXTENSION #endif Wait, that'll suck when I get gcc3. Changed it to: #if defined (__GNUC__) && \ (__GNUC__ > 2 ||(__GNUC__ == 2 && __GNUC_MINOR__ >= 8)) Apache install order: OpenSSL, Mod_SSL, MySQL, PHP, Apache. Unzipped apache required to install php.