For the first thing about software, I should say that I hate the word. And now that that is out of my mouth, I may go on in peace.
Software I like to install (in whichever order I can think of it):
Of course, since there are 1842 possible commands (from an ordinary shell, as just determined by TAB-ing twice in bash), this list is in no way exhaustive. A lot of software installs its own command suite, sometimes duplicating what is already there (as I mentioned about gzip), besides its own collection of executables. For example, my base-64 (see ../unix/base-64.html) fink package installs b64 (a fast base64 encoder) and bff (a fast decoder, worth having even if you don't need the encoder).
5-5-03. Now I am wanting to throw away all my /sw stuff from fink and reinstall it on my own. Fink has to me been causing far too many problems and irritations. I'll make a list of what I do have installed, which is very long
i a2ps 4.12-4 Any to PostScript filter i aalib 1.4rc5-2 Ascii art library i aalib-shlibs 1.4rc5-2 Ascii art library i app-defaults 20010814-2 Creates an app defaults directory for fink i aria 0.10.0-2 File downloader, similar to GetRight. i audiofile 0.2.3-4 Audio File Library i audiofile-bin 0.2.3-4 Audio File Library i audiofile-shlibs 0.2.3-4 Audio File Library i autoconf2.5 2.57-1 System for generating configure scripts i autoconf2.54 2.54-1 System for generating configure scripts i automake1.6 1.6.3-1 Tool for generating GNU Standards-compliant Makefiles i autotrace 0.31.1-2 Converts bitmap to vector graphics i autotrace-shlibs 0.31.1-2 Shared libraries for autotrace i base-64 1-5 Smaller, faster Base64 i base64 1.3-1 Encode and decode base64 encoded files i bcrypt 1.1-1 Bcrypt is a cross platform file encryption utility i bzip2 1.0.2-1 Block-sorting file compressor i cctools 446-1 [virtual package representing the developer tools] i cups-dev 1.1.15-2 Development headers apple's CUPS printing libraries i daemonic 20010902-1 Interface to daemon init scripts i darwin 6.5-1 [virtual package representing the kernel] i debianutils 1.23-1 Misc. utilities specific to Debian (and Fink) i dillo 0.7.1.2-1 Small simple web browser i dlcompat 20021117-1 Dynamic loading compatibility library i dlcompat-dev 20021117-1 headers and static libraries for dlcompat i dlcompat-shlibs 20021117-1 shared libraries for dlcompat i dpkg 1.10.9-2 The Debian package manager i esound-common 0.2.28-1 Enlightened Sound Daemon i f2c 20020123-4 Convert Fortran 77 source to C source i fftw-shlibs 2.1.3-13 Library for computing the Discrete Fourier Transform i fileutils 4.1-3 Common shell commands like ls, touch, chmod i flex 2.5.4a-2 Fast lexical analyser generator i fort77 1.18-4 Perl script to invoke f2c Fortran translator i fortune-mod 9708-2 Database of witticisms i frontline 0.5.4-2 GUI frontend for autotrace i gal19 0.19.2-3 GNOME application library i gal19-shlibs 0.19.2-3 GNOME application library i gconf 1.0.9-1 Configuration database system i gconf-dev 1.0.9-1 Configuration database system i gconf-shlibs 1.0.9-1 Configuration database system i gdbm 1.8.0-6 GNU dbm library i gdbm-shlibs 1.8.0-6 GNU dbm library i geekcode 1.7-2 The Geek Code generator i gettext 0.10.40-3 Message localization support i giflib-bin 4.1.0-7 GIF image format handling library, LZW-enabled version i giflib-shlibs 4.1.0-7 GIF image format handling library, LZW-enabled version i glib 1.2.10-8 Common C routines used by Gtk+ and other libs i glib-shlibs 1.2.10-8 Common C routines used by Gtk+ and other libs i gmp 4.1.2-1 GNU multiple precision arithmetic library i gmp-shlibs 4.1.2-1 GNU multiple precision arithmetic library i gnome-mime-data 2.0.1-2 The GNOME MIME database i gnome-vfs 1.0.5-8 The GNOME virtual file-system libraries i gnome-vfs-dev 1.0.5-8 The GNOME virtual file-system libraries i gnome-vfs-shlibs 1.0.5-8 The GNOME virtual file-system libraries i gnuchess 5.04-2 GNU Chess i gtk-doc 0.9-5 GTK+ DocBook Documentation Generator i gv 3.5.8-5 X11 interface for ghostscript interpreter i gzip 1.2.4a-6 The gzip file compressor i imlib 1.9.14-2 Image handling library for X11 and Gtk i imlib-shlibs 1.9.14-2 Image handling library for X11 and Gtk i libart2 2.3.10-2 Library for high-performance 2D graphics i libart2-shlibs 2.3.10-2 Library for high-performance 2D graphics i libglade 0.17-3 Library to load .glade files at runtime i libglade-shlibs 0.17-3 Library to load .glade files at runtime i libiconv 1.7-5 Character set conversion library i libmpeg 1.3.1-6 Gimp MPEG library i libmpeg-shlibs 1.3.1-6 Gimp MPEG library i libogg 1.0.0-1 Ogg Bitstream Library i libogg-shlibs 1.0.0-1 Ogg Bitstream Library i libpcap-shlibs 0.6.2-6 Network packet capture library i libpng3 1.2.5-4 PNG image format handling library i libpng3-shlibs 1.2.5-4 PNG image format handling library i libpoll 1.4-1 SysV poll(2) Emulation Library i libpoll-shlibs 1.4-1 SysV poll(2) Emulation Library i libtiff 3.5.7-7 TIFF image format library and tools i libtiff-bin 3.5.7-7 TIFF image format library and tools i libtiff-shlibs 3.5.7-7 TIFF image format library and tools i libvorbis0 1.0-1 The Vorbis General Audio Compression Codec i libvorbis0-shlibs 1.0-1 The Vorbis General Audio Compression Codec i libwww-bin 5.3.2-4 General-purpose Web API written in C for Unix and Windows i libwww-shlibs 5.3.2-4 General-purpose Web API written in C for Unix and Windows i m4 1.4-6 Advanced macro processing language i macosx 10.2.5-1 [virtual package representing the system] i mad 0.14.2b-2 High-quality MPEG audio decoder i mad-bin 0.14.2b-2 High-quality MPEG audio decoder i mad-shlibs 0.14.2b-2 High-quality MPEG audio decoder i make 3.79.1-3 Software build tool i ming 0.2a-3 C library to make SWF ("Flash") format movies i ming-shlibs 0.2a-3 Shared Libraries for ming i ncurses 5.3-1 Full-screen ascii drawing library i netcdf-shlibs 3.5.1-1 Interface and library for array-oriented data access i netpbm 9.25-3 Graphics manipulation programs and libraries i netpbm-shlibs 9.25-3 Graphics manipulation programs and libraries i openslp-ssl-dev 1.0.9a-1 Development files for OpenSLP i openslp-ssl-shlibs 1.0.9a-1 Shared Libraries for OpenSLP + SSL Support i opensp3 1.5-3 SGML parser i opensp3-shlibs 1.5-3 Shared Libraries for opensp3 i openurl 20010728-1 Small app that launches URLs using InternetConfig, also hooks into Gnome... i orbit-bin 0.5.15-2 The CORBA ORB used in GNOME i orbit-dev 0.5.17-5 The CORBA ORB used in GNOME i orbit-shlibs 0.5.17-5 The CORBA ORB used in GNOME i pcre 3.9-2 Perl Compatible Regular Expressions Library i pcre-bin 3.9-2 Perl Compatible Regular Expressions Library i pcre-shlibs 3.9-2 Perl Compatible Regular Expressions Library i pstoedit 3.33-1 Converts postscript and pdf to other vector formats i pstoedit-shlibs 3.33-1 shared libraries for pstoedit i readline 4.3-5 Comfortable terminal input library i readline-shlibs 4.3-5 Comfortable terminal input library i sed 4.0.5-1 The stream editor, GNU version i sgml-entities-iso8879 1986-3 SGML standard (ISO 8879) entity sets for special characters i slrn 0.9.7.4-1 NNTP / spool based newsreader i sodipodi 0.28-4 Gnome vector graphics application i storable-pm 1.0.14-1 Perl module for persistent data structures i system-libgl 1.2-3 Placeholder package for manually installed OpenGL libraries i t1lib1 1.3.1-2 Generates bitmaps from Type 1 fonts i t1lib1-shlibs 1.3.1-2 Shared libs for generating Type 1 Font bitmaps i tar 1.13.25-1 GNU tar - tape archiver i tcltk 8.4.1-1 Tool Command Language and the Tk toolkit i tcltk-dev 8.4.1-1 Tool Command Language and the Tk toolkit i tcltk-shlibs 8.4.1-1 Tool Command Language and the Tk toolkit i tetex-base 2.0.2-2 Base programs for a teTeX installation i tetex-shlibs 2.0.2-2 Shared libraries for a teTeX installation i tetex-texmf 2.0.2-1 Main texmf tree for a teTeX installation i warp 2002.03.12-11 Classic space-war game i wrap 1-4 Fast text wrapping i xaw3d 1.5-5 Athena widget set with 3D look i xaw3d-shlibs 1.5-5 Athena widget set with 3D look i xboard 4.2.6-1 X11 based chess playing interface i xfree86-server 4.1.0-4 XFree86 display server (stable release) i xgalaga 2.0.34-1 Clone of the classic game of galaga i xmountains 2.6-1 Fractal landscape generator i xscorch 0.1.15-2 Scorched Earth - "the mother of all games" i xv 3.10a-2 Image viewer i yafc 0.7.10-1 Enhanced ftp client, supporting ssh2 (sftp) i zlib 1.1.4-1 Compression library (i) aalib-bin 1.4rc5-2 Ascii art library (i) amaya 7.2-1 W3C's Editor/Browser (i) ant 1.5.3-1 Java based build tool (i) apt 0.5.4-9 Advanced front-end for dpkg (i) apt-shlibs 0.5.4-9 Advanced front-end for dpkg (i) arts 1.1.1-3 KDE - analog realtime synthesizer (i) arts-dev 1.1.1-3 KDE - arts development headers and libraries (i) arts-shlibs 1.1.1-3 KDE - arts shared libraries (i) axel 1.0a-1 Light download accelerator for ftp and http (i) base-files 1.7.1-1 Directory infrastructure (i) curl-ssl 7.10.3-2 Tool for transferring files with URL syntax (i) db3 3.3.11-13 Berkeley DB embedded database (i) db3-shlibs 3.3.11-13 Shared Libraries for db3 (i) docbook-dsssl-nwalsh 1.77-1 Norman Walsh's DSSSL DocBook stylesheets (i) docbook-dtd 4.2.0-1 DocBook SGML/XML DTDs official releases (i) doxygen 1.3-7 Documentation system for C++, Java, IDL and C (i) egd 0.8-3 Entropy-gathering daemon (i) esound 0.2.29-1 Enlightened Sound Daemon (i) esound-shlibs 0.2.29-1 Enlightened Sound Daemon (i) ethereal 0.9.11-1 Powerful network protocol analyzer (i) expat 1.95.6-1 C library for parsing XML (i) expat-shlibs 1.95.6-1 C library for parsing XML (i) fftw 2.1.3-13 Library for computing the Discrete Fourier Transform (i) fink 0.12.1-1 The Fink package manager (i) freetype 1.3.1-6 TrueType font rendering library, version 1 (i) freetype2 2.1.3-1 TrueType font rendering library, version 2 (i) freetype2-shlibs 2.1.3-1 TrueType font rendering library, version 2, shared libs (i) g77 3.1-20020420-5 GNU FORTRAN77 compiler (i) gawk 3.1.2-1 The Awk processing language, GNU edition (i) gd 1.8.4-12 Graphics generation library (i) gd-bin 1.8.4-12 Graphics generation library (i) gd-shlibs 1.8.4-12 Graphics generation library (i) gdk-pixbuf 0.18.0-2 Image loading and manipulation library (i) gdk-pixbuf-shlibs 0.18.0-2 Image loading and manipulation library (i) ghostscript 8.00-3 Interpreter for PostScript and PDF (i) ghostscript-fonts 6.0-3 Standard fonts for Ghostscript (i) gimp 1.2.3-11 The GNU Image Manipulation Program (i) gimp-dev 1.2.3-11 The GNU Image Manipulation Program (i) gimp-shlibs 1.2.3-11 The GNU Image Manipulation Program (i) glib2 2.2.1-3 Handy library of utility functions (i) glib2-dev 2.2.1-3 Handy library of utility functions (i) glib2-shlibs 2.2.1-3 Handy library of utility functions (i) gnome-libs 1.4.2-5 Base libraries for GNOME (i) gnome-libs-dev 1.4.2-5 Base libraries for GNOME (i) gnome-libs-shlibs 1.4.2-5 Base libraries for GNOME (i) gnome-print 0.36-5 Gnome Print - Printing libraries for GNOME (i) gnome-print-dev 0.36-5 Gnome Print - Printing libraries for GNOME (i) gnome-print-shlibs 0.36-5 Gnome Print - Printing libraries for GNOME (i) gnupg 1.2.1-2 Gnu privacy guard - A Free PGP replacement (i) grace 5.1.10-4 Data processing and 2-D visualization tool (i) graphviz 1.9-1 Graph visualization software (i) gtk+ 1.2.10-14 The Gimp Toolkit (i) gtk+-data 1.2.10-14 The Gimp Toolkit (i) gtk+-shlibs 1.2.10-14 The Gimp Toolkit (i) guile 1.4-7 Embedable Scheme interpreter (i) guile-dev 1.4-7 Embedable Scheme interpreter (i) guile-shlibs 1.4-7 Embedable Scheme interpreter (i) icewm 1.2.2-1 X11 window manager - with GNOME support (i) imagemagick 5.5.6-1 Image manipulation tools (i) intltool 0.23-1 Internationalize various kinds of data files (i) ispell 3.2.06-3 Interactive spell-checker (i) karbon 1.2.1-7 KDE - vector-based drawing program (i) kchart 1.2.1-7 KDE - charting and diagram drawing (i) kdebase3 3.1.1-6 KDE - base system (i) kdebase3-dev 3.1.1-6 KDE - base development headers and libraries (i) kdebase3-shlibs 3.1.1-6 KDE - base shared libraries (i) kdelibs3 3.1.1-6 KDE - essential libraries (i) kdelibs3-dev 3.1.1-6 KDE - essential development libraries and headers (i) kdelibs3-shlibs 3.1.1-6 KDE - essential shared libraries (i) kformula 1.2.1-7 KDE - formula editor (i) kivio 1.2.1-7 KDE - flowchart program (i) koffice 1.2.1-7 KDE - office suite (i) koffice-base 1.2.1-7 KDE - koffice base package (i) koffice-common 1.2.1-7 KDE - files used by all of KOffice (i) kontour 1.2.1-7 KDE - vector drawing program (i) kpresenter 1.2.1-7 KDE - PowerPoint-like presentation app (i) kspread 1.2.1-7 KDE - spreadsheet (i) kugar 1.2.1-7 KDE - business report viewer and creator (i) kword 1.2.1-7 KDE - word processor (i) lcms 1.09-2 Free color management engine in 100K (i) lcms-shlibs 1.09-2 Free color management engine in 100K (i) lesstif 0.93.40-2 Free implementation of OSF/Motif (i) lesstif-shlibs 0.93.40-2 Free implementation of OSF/Motif (i) libjpeg 6b-6 JPEG image format handling library (i) libjpeg-bin 6b-6 JPEG image format handling library (i) libjpeg-shlibs 6b-6 JPEG image format handling library (i) libmikmod 3.1.10-1 Sound library for playing MOD modules (i) libpcap 0.6.2-6 Network packet capture library (i) libpng-shlibs 1.0.12-7 PNG image format handling library (old version) (i) libtool14 1.4.3-3 Shared library build helper, v1.4 (i) libtool14-shlibs 1.4.3-3 Shared library build helper, v1.4 (i) libungif 4.1.0final-2 GIF image format handling library, LZW-free version (i) libxml 1.8.17-3 XML parsing library (i) libxml2 2.5.6-2 XML parsing library, version 2 (i) libxml2-bin 2.5.6-2 XML parsing library, version 2 (i) libxml2-shlibs 2.5.6-2 XML parsing library, version 2 (i) libxslt 1.0.29-1 XML stylesheet transformation library (i) libxslt-shlibs 1.0.29-1 XML stylsheet transformation shared libraries (i) lynx-ssl 2.8.4-3 Console based web browser (SSL-enabled) (i) mime-base64-pm 2.18-1 Perl module that contains a base64 enc/dec (i) nano 1.2.0-1 Improved clone of the Pico text editor (i) netcdf 3.5.1-1 Interface and library for array-oriented data access (i) netpbm-bin 10.12-2 Graphics manipulation programs and libraries (i) oaf 0.6.10-4 Object Activation Framework (i) oaf-dev 0.6.10-4 Object Activation Framework (i) oaf-shlibs 0.6.10-4 Object Activation Framework (i) openjade 1.3.2-3 Implementation of DSSSL (i) openssl 0.9.6i-2 Secure Sockets Layer and general crypto library (i) openssl-dev 0.9.6i-2 Secure Sockets Layer and general crypto library (i) openssl-shlibs 0.9.6i-2 Secure Sockets Layer and general crypto library (i) orbit 0.5.17-5 The CORBA ORB used in GNOME (i) passwd 20030330-1 User and group entries for daemons (i) pdflib 4.0.3-7 Library for generating PDF (i) pdflib-shlibs 4.0.3-8 Shared libs for generating PDF (obsolete) (i) pine-ssl 4.53-1 Text based tool for managing emails (i) pkgconfig 0.15.0-2 System for managing library compile/link flags (i) plotutils-dev 2.4.1-6 C/C++ function library for exporting 2-D vector graphics (i) plotutils-shlibs 2.4.1-6 C/C++ function library for exporting 2-D vector graphics (i) popt 1.7-1 Library for parsing command line options (i) popt-shlibs 1.7-1 Library for parsing command line options (i) python 2.3a2-2 Interpreted, object-oriented language (i) python22 2.2.2-6 Interpreted, object-oriented language (i) python22-shlibs 2.2.2-6 Interpreted, object-oriented language (i) qt3 3.1.2-1 Cross-Platform GUI application framework (i) qt3-designer 3.1.2-1 Cross-Platform GUI application framework (i) qt3-doc 3.1.2-1 Cross-Platform GUI application framework (i) qt3-linguist 3.1.2-1 Cross-Platform GUI application framework (i) qt3-shlibs 3.1.2-1 Cross-Platform GUI application framework (i) scrollkeeper 0.3.12-2 Cataloging system for documentation (i) slang 1.4.9-1 Embedable extension language and console I/O lib (i) slang-shlibs 1.4.9-1 Embedable extension language and console I/O lib (i) texinfo 4.2-2 Texinfo documentation system (i) tgif 4.1.42-1 Xlib based interactive 2-D drawing tool (i) tidy 20021210-2 Utility to tidy up HTML code (i) tin 1.4.5-12 Simple Usenet reader (i) tmake 1.7-3 Tool for creating and maintaining makefiles (i) units 1.74-4 Units conversion and calculation (i) vnc 3.3.7-1 Remote display system for X11 (i) wget-ssl 1.8.2-2 Automatic web site retreiver, with SSL support (i) xemacs 21.5.9-4 Highly customizable text editor (i) xemacs-base-pkg 1.71-1 Basic files needed for xemacs package installation (i) xemacs-efs-pkg 1.29-1 Allows xemacs to fetch files from the FTP site or mirrors (i) xforms 1.0-4 GUI toolkit based on Xlib (i) xfree86 4.3.0-1 XFree86 distribution (i) xfree86-base 4.2.1.1-4 XFree86 libraries, utilities, clients and data (i) xmame 0.67.2-2 Multiple Arcade Machine Emulator
Before I throw away my /sw, I will count the things in it by doing find /sw | wc -l (prints everything's names in /sw, and counts the lines). There are 71,039 files and folders. I'll determine the space of everything by doing du -s. In KB, it is 2,165,972, so that is 2 GB, 165 MB, and 972 KB. It is not as much as could possibly be. I don't want it, however, because I do not think someone should need to download so much just to make their computer useful. I want to know how to make it purely useful with nothing else mixed in.
I'm going to--so I don't forget them--list the things I need to put back in. Some of them are needed, but fink will install them for itself.
base-64 dillo wrap libjpeg
You will eventually notice the hidden shortcoming of listing what you want like this. Some of the things need many, many others. libjpeg doesn't, and none of mine do (e.g., base-64 and wrap), but dillo needs gtk+, libjpeg-shlibs, libpng3-shlibs, just for running.
Now, do I dare throw all away? I am not too stupid. I have to save my own fink .info files, the ones for base-64 and wrap. I'll save them in ~/b. Then I will save the source files for gtk+, libjpeg, libpng, and dillo into the same place. I might as well not knowingly waste the internet, because I'll need to have them again.
Now I'll sudo and trash. In a way I am worried about the GIMP, because I occasionally like that, but I don't think it is something I can advise other people to take, so I will at least try life without it.
It takes one minute and eight seconds to delete everything at first--more, because I didn't check the time quickly. Now I am in your place. Everything is gone. How do I install fink?
I am already noticing problems. ls doesn't even work--the essential of using any computer. Why?
Most everything is the fault of the assumptions of the fink developers. They rely on fink being there. In this case, all that happened is that the ls was being used from the fink installation, instead of the correct version in /bin/ls. Now that I have removed /sw/bin/ls, I can't go anymore. I can do something to fix it, but that is the smallest of the issues. None of the other ones needs going into, because of course we are not discussing removing, but installing.
The interesting thing is that all this shows how useless most of the computer becomes without that little thing I mostly use. I haven't started to notice yet, but that's because I haven't shut my mouth.
I'm going crazy. I've even deleted the download files of the December 2002 Developer Tools. I am positive I don't need _them_, but well?
Ah, I know how to install them. They are these cool software things. I will compile them and then share the result. My version of pre-compiled software will be the Real Thing. Open up and "make install" is all. You do it, not me. Isn't that better?
It's called the comp format, and is stored in
a file like package-comp.tar.gz.md5, where md5
is the MD5 of the package. The contents are
analogous to running configure
and make
in a traditional
pack of Unix source code. The source code and
the compiled product is left, and the
installation, make install
,
is done with the very same process--as if
personally finished on each computer. Comp
compiled source is very friendly.
The suggested distribution mechanism is for users to send back the compiled package for their machine to the authors of the source code. The MD5 signature can be checked with the compiler people (who are free to carefully tune software for their computer!), and the authors can check the job of the compilers.
Other notes: the compiler people should remember that the tar.gz shouldn't leave their own file owners names set.
That's the way the packages will work. It's easy enough to install them by hand that way. The second part, however, is the software for software: installing them with a package management system. The way the package management system will work is other software contributors will form the distributed software into the package list, and the software-software will have instructions on the exact step to complete the installation from the compiled source packs created by software users.
Here comes the cool part. Dependencies are all linear, but the software-software installs them chain-like. A software called Tom can ask for the dependency Jane, and he'll get her. It's OK if Jane likes to have Sam and George as well, or if dillo needs libjpeg and gtk+, for a better example. Even though Tom really needs Sam and George since Jane needs them, Tom doesn't have to say so. The cool part is that the creators of the software list will it all sorted out. End users don't need to worry.
For example, I prepared a comp package for libjpeg.
Progress:
make install-lib
from
the libjpeg-6b distribution in order to install this part),
zlib--like gzip compression
for applications (but this is on Mac OS X by default),
and libpng--in
other words, tons of image software because the netpbm image
software does tons of image things. You can even get
ghostscript
from GNU if you like, just so you can pretend like PDF files
are images, too.
All right, so I downloaded tiff-v3.5.7.tar.gz (951139 bytes) to share with you. Then I would have downloaded libpng, but remember, I already had it saved from /sw/src. Then, for good measure, I got ghostscript-7.06.tar.bz2 (4138700 bytes, updated on April 1, 2003).
Compiling the software, I do ./configure
("Oh no, not another powerpc-apple-darwin6.6 system...") and
then I have these options
TIFF configuration parameters are: [ 1] Directory for tools: /usr/local/bin [ 2] Directory for libraries: /usr/local/lib [ 3] Directory for include files: /usr/local/include [ 4] Directory for manual pages: /usr/local/man [ 5] Directory for HTML documents: /usr/local/doc/libtiff [ 6] Manual page installation scheme: bsd-source-cat
which are OK with me. However, I am trying to remove the "-g" compilation option which produces way too much garbage for a network distribution. All right, the configure options are way too mean. I had to hack it by saying "false" instead of blindly using -g if -g is supported (ugh! why don't they ask what I want?), and by changing -O to -O3, both in the configure script. Then I do make, which works... very well. Yes! Now it is in libtiff.
libpng is really easy. I just added "-dynamiclib" to the
LDFLAGS and -O3 to the CFLAGS from the scripts/makefile.macosx.
Then I did make
and uploaded the result,
libpng. Of course, you just need
to type make install
to install it. Sometimes
all you need is to make the /usr/local, /usr/local/bin,
/usr/local/share/man, /usr/local/share/man/man1,
and /usr/local/share/man/man3 directories.
ghostscript just needs me to
CFLAGS=-O3 ./configure
, and by now the others
are eating dessert at supper. Then I must unpack my
other source code, jpeg-6b, into the resulting
ghostscript-7.06 directory, and try to do that step
again. OK--now make
. No, I am as mad as
a hornet. It does not start right. It still is using
-O2--crumble it to pieces. I'll open Makefile and
change CFLAGS_STANDARD to -O3, then make
.
(I am typing all this HTML source by hand, you know.
I almost wrote you cow.)
Oh, it's done now. I've just been thinking about
honoring girls a lot, and writing about that.
Now I shall remove the jpeg directory, which had
nothing compiled in it (but was used for the other
compilation) rm -r jpeg
. Then I'll
tar up the directory the way it is now, so it is
saved as ready for installation. Now it is
ghostscript-7.06
for Darwin PPC/Mac OS X (8021494 bytes).
I'll check by make install
. Nuts,
it needs to have jpeg back inside it now--but
you'll just have to download the jpeg-6b comp
package and that will work. Extract it and put
it (with the name changed to "jpeg") inside of the
extracted ghostscript folder, then install.
netpbm can now, at last, be made. I have to
do ./configure
(it doesn't accept
CFLAGS apparently) and then make
.
It's not so important about the optimizations
since really intensive work is done by
cjpeg and djpeg, for example, and the tiff and
png image compression parts previously
installed. A weird thing did happen, and I had
to do ranlib /usr/local/lib/libjpeg.a
(it was out of date: ld: table of contents for archive: /usr/local/lib/libjpeg.a is out of date; rerun ranlib(1) (can't load from it)).
Err, the same thing happend for /usr/local/lib/libpng.a,
and /usr/local/lib/libtiff.a. Well, after all that it
says it is done--sort of--and I need to do
make package pkgdir=DIR
. Then
installnetpbm
. It asks me to type /DIR,
and then I change the other prompts to be /usr/local
and /usr/local/bin. I have much to thank for the
heavy duty compiler now. This particular installation
has not worked nicely enough to be a comp file--yet--the
process would need to backtrack to the "make package"
step to be considered a valid comp-style package.
CFLAGS="-O3" ./configure --host=ppc
and
then I think just make
to complete the
process for the comp package. Then make install
installs all the software. I'm primarily wanting this for
dillo, the
fun, small web browser. I even think they are
updating it soon. The prerequisite package is in
(sorry--see later because I recompiled it).
Installing it on another computer, however, I noticed that ranlib must be run on the results, even though supposedly they are "pre-compiled." This is a simple bit of advice, which I should have said anyway (I was hoping to allow even bad advice to be followed with success, but it won't work): please install the tools/compilers, because they are good for you, anyway Most Macintosh computers have them in the Applications folder, so sometime you may put them in.
dillo now I want to install. Dillo 0.7.2 is 329,088 bytes to download, and I think I can compile it with what I've got.
I'll try to compile it, and if I have to do something
special I'll cheat and look at the fink
patchfile. So, CFLAGS=-O3 ./configure
. As near
as I can tell, it's requirements are libpng and jpeg,
plus gtk+ (1.2). I am really happy that gcc3 has a
heavy-duty -O3 flag. It used to be that trying to optimize
so much would usually break code, and a recompile
would be in order, or you would simply get tired of it and
stop using it at all. Now those errors are the odd things
out. Other errors do happen, like socklen_t being undefined
in http.c. (I love that they write in real C!) Thankfully
they have online CVS browsing at
Sourceforge, so I think I can
get it. Well, but I have to find where it is.
(It was in dists/10.2/unstable/main/finkinfo/web/.)
I think web writers are motivated people, linking, and
trying to make people hear the emphasis when they are
really just reading it. Now it works. Basically, I had
to change the socklen_t to sizeof(struct sockaddr)
and then get rid of the first one.
OK, now I'm changing to
CFLAGS="-O3" ./configure --enable-ipv6
then
MACOSX_DEPLOYMENT_TARGET=10.2 make
to see if it will be even better. Then it works nicely.
There is an error about -pthread (gcc: unrecognized option `-pthread'),
but by then it is done. You may now have
dillo-0.7.2
for Darwin PPC / Mac OS X (1128193 bytes). This browser
has copy and paste! (It requires
X11.)
./configure --help
.
I already know it needs gtk-1.2, which I have. I don't see
anything exactly interesting, and now ./configure
is auto-detecting my system properly, so cross your fingers.
I don't need sound, so of course I ignore the error
"libmikmod not found." I'm forgetting that this
game seriously _needs_ to be optimized, so I redo the last
step to be CFLAGS="-O3 -funroll-loops" ./configure
.
So now, make
.
I have verified that it is not an optimization problem,
which I am a little glad for, because I could not really
succeed with the game not optimized--such a performance
would be a play with forgotten words, or songs without
melody, or a harmony without parts or tune. Very well then,
or rather, very ill. I shall try--shall attempt--to
complete it now, since no optimizations are faster
(to compile, but not to run, just such a lesson in
life that easy work smooths a road more rough), anyway.
I'll do make -n
to print the commands
in the sutil directory without running them. Never
mind. It simply won't compile.
I think I shall compile with
CFLAGS="-O3 -funroll-loops" ./configure --with-ssl
--enable-ipv6 --enable-libjs --with-zlib
. Now then,
I am really happy about this, checking if we can link
to ssl library... yes. I was afraid that it would
be likely for the OpenSSL included with Mac OS X not to
work with the regular way of compiling its derivative
applications. There are tons of additional checks
and things, but everything else does work. I'll try
make
now. (Right while I am trying to
download the Safari Update 1.0 Beta 2 v74 2.9MB.)
It works, and says, "Welcome to Lynx!" by the time
I get back from devotions. For me it is very convenient
to use lynx on the files I work on with emacs.
Just to test, it takes lynx 0.100 s to launch and display this file. The fastest browser of all besides is dillo, and that takes 0.540 s (it was about 0.25 with older, less developed versions of dillo). Download lynx-2.8.5 current for Darwin PPC / Mac OS X (5785541 bytes).
./configure --help
.) Wget was also invented by
a very cool and charismatic German lad (5-20-03: Hrvoje Niksic). I'll try
to list my .wgetrc options and general habits of use.
Well, it took 8 minutes to download. I looked at the
options (you have to know what to ignore, really, more than
what to look at) and I suppose I'll try
CFLAGS="-O3 -funroll-loops" ./configure --with-socks
(supposedly SSL detection is automatic--we'll see in one moment).
Bother! I did command-S and forgot I was in Terminal (^X-s).
(I read somewhere that -finline-functions is presumed by -O3,
so that's how come I don't always specify it like I did last
year.) Yes, it all worked well, so now we (who we?) may
make
. It seems to weird to be optimizing something
so hard which is on a connection that could endure my playing
chess more easily than downloading anything. It only
took two minutes to compile. I don't know whether to say Nuts.
Actually, I think it would work to distribute the binary alone (src/wget now is 216688 bytes) as long as you had the same operating system with the default libraries. Regardless of that, here is wget-1.8.2 for Darwin PPC / Mac OS X (1518142 bytes). I don't think anyone is working on a newer version, even though so many love it--me for sure.
My .wgetrc file looks like this only:
robots = off
It's mostly because I mainly do wget -p
to
download a complete HTML page with its stylesheets, images,
etc, and it would be impossible if a robots.txt file said
Disallow. Even though I'm getting only one
page, and wget doesn't check robots.txt (because I'm not
using it as a massive download robot) for that, if I also
get the prerequisites, then wget does check robots.txt
by default, which I think is wrong behavior. The other
thing I do primarily is wget -c, which allows me to continue
the 8-minute bits of downloads I can run while no one is
on the phone. I know that doesn't sound very useful,
but it is useful, and it so much works.
I think now I'm going to add the sizes of the comp packages I have made beside the links to them, which only some of them now have, and which I think is desirable and convenient for files greater than 100 KB.
mkdir darwin-ppc
and cd darwin-ppc
.
Then I do CFLAGS=-O3 ../configure --host=ppc
. Now
it is time to go... rrr.
Well, of course I need to install
sed,
part of the
GNU
textutils. This version is sed-4.0.7 (693,903 bytes). I
need it because the configure process of Amaya uses a
feature of sed not available in the pre-installed version.
(Therefore all the Makefiles have 0 bytes.) I am rather
displeased. It was OK for the FSF to be a tax-exempt
charity, but now it is the GNU/UNESCO Free Software Directory,
thus improperly putting a stamp on a certain brand of
software in the free world. For sed I simply do
CFLAGS="-O3 -funroll-loops" ./configure
Humph! I am still angry. There is loads of
configure stuff that does not need to be known. What if
I wanted to reconfigure a C program without a C compiler,
with everything already compiled? No, the configure
script--believing it knew better than me--would not let
me. A program must not act that it knows
more than me! Moreover, a program must not
act that it knows what I want more than me: and essentially
that is what a program is saying anytime that it does
act that it knows more than me. I am the one using it for
something. The reason I am using the program is not
so much for what the program knows, but for what I know
I want. The program violates this, and thus its own
purpose, by any form of operating that it knows better
than I what I want.
I'm going to have to change my $PATH to a new
value. This should be permanent. $HOME/bin
/Users/Shared/bin /usr/local/bin /var/qmail/bin /usr/sbin
/usr/bin /sbin /bin .. I slightly
react to the position of the working directory (.)
as the lowest priority, but I suppose that most people
would not assume that typing ls
in the
directory should necessarily do whatever might happen
to be in a file named "ls" if there was one in that
directory. Still though, don't you think people
should look at street signs before going? There
isn't an excuse for saying "ls" when you didn't
really think. MACOSX_DEPLOYMENT_TARGET=10.2 make
Here it is in
sed-4.0.7
for Darwin PPC / Mac OS X (961346 bytes).
Now then, let's go ahead.
I'm not going to release this kind of software here
as a comp package. I simply can't afford to. Again
we will go to Amaya and do
CFLAGS=-O3 ../configure --host=ppc
.
Before this I have to force it to use the new sed
by removing the config.* files (which have
cached /usr/bin/sed). It is a joke and so stupid.
Think of it. All of these illegitimate checks
exist, and yet configure thought that it was happy
with a setup which would have resulted in nothing.
There are also errors in the ../configure script I
see now, so I have to do autoconf
in
Amaya. Actually there were problems with that
PATH I gave. I'll change it to
/usr/local/bin /bin /sbin /usr/bin /usr/sbin
/var/qmail/bin /usr/local/bin /Users/Shared/bin ~/bin
.
Now the configure works, and now I do make
.
Now I believe I'll have to get
imlib2
from enlightenment, and at least hope that it will work without
needing imlib. I should be able to start compiling imlib-1.0.6
(688,521 bytes) while downloading, instead of waiting five minutes.
With imlib2 I'll do CFLAGS="-O3 -funroll-loops" ./configure
.
But of course, imlib2 needs, " a system with libttf.so
(TrueType Font Library)." Let's just forget about it.
Imlib1 now *REQUIRES* libjpeg, libpng, libtiff, and libgif/libungif. If you do not have these libraries, Imlib1 will *NOT* compile.
Also note that gdk-imlib WILL NOT WORK with GTK2. It won't even compile. This is not a bug. This is a feature. If you need an image loader for GTK2, use gdk-pixbuf.
Weird logic, I admit, but only because it means something. Therefore I will add it to my table, which I would not have otherwise done. See how much it accomplishes when someone actually lists a program's prerequisites?
Looking for them (libgif/libungif) I found KuickShow, an image viewer for KDE. Well, I can't find it now (I found the home page, but not the download server), so I shall pause.
libungif may be the required solution. I found giflib, actually, giflib-4.1.0 (301883 bytes). It is possible that libungif is available at libungif-4.1.0, but it is blocked by my server.
Now in giflib I do ./configure
just for
checking (it probably will not recognize my system), then I
do CFLAGS="-O3 -funroll-loops" ./configure --host=ppc
and MACOSX_DEPLOYMENT_TARGET=10.2 make
(just
so I don't get a "weak library" warning).
But that's only half the work - every package using libtool comes with its own copies of ltconfig and ltmain.sh. So you must replace these in every package that you want to build as a shared library. Note that you must do this before running the configure script. For your convenience, you can get the two files right here: ltconfig (98K) and ltmain.sh (110K) [both updated 2002-06-09].
When I download those files into the giflib directory,
with wget, I have the files called ltconfig.1 and
ltmain.sh.1 (I cleared everything out and re-extracted the tar
file before doing this). I must then do
mv ltconfig.1 ltconfig; mv ltmain.sh.1 ltmain.sh
.
Then I do
CFLAGS="-O3 -funroll-loops" ./configure --host=ppc
.
At this point, the correct libtool utility is produced which
can be used on Mac OS X. After configuration, I do
MACOSX_DEPLOYMENT_TARGET=10.2 make
. I think it shall
work very well, and there are no patent problems any longer.
(Although I am not one for patent elimination. America would be
no America without patents, and that is saying that you would
be no person. Yet isn't it weird that Unisys acting as they did
only made useful GIF code be eliminated until after there was
no interest in re-establishing it?) Now it is all done. The
result is in giflib-4.1.0
for Darwin PPC / Mac OS X. There
are all sorts of cool tools in it:
gif2epsn gif2ps gif2rgb gif2x11 gifasm gifbg gifburst gifclip gifclrmp
gifcolor gifcomb gifcompose giffiltr giffix gifflip gifhisto gifinter
gifinto gifovly gifpos gifrotat gifrsize gifspnge giftext gifwedge
icon2gif raw2gif rgb2gif text2gif.
CFLAGS=-O3 ../configure --host=ppc
(after
making the darwin-ppc directory in Amaya, after doing
tar -xzf amaya-src-8.0.tgz
to make sure that I'm
fresh).
Actually, I've already gotten mixed up. I'm really starting on imlib, not Amaya. The only gain I got from this was that I verified that I do not need to remove everything in Amaya again, and I'll just delete the darwin-ppc subdirectory (actually, it would be easier to call it "darwin" only next time--the name is purely arbitrary; I used to call them "obj," until that felt too much like I was a libtool).
What I mean to do is open imlib again and do
CFLAGS="-O3 -funroll-loops" ./configure
. I always
want my libraries to be optimized as greatly as possible. I
can't simply decide later on to optimize another program,
because it will be using libraries. Now I do
MACOSX_DEPLOYMENT_TARGET=10.2 make
. (I do not
like those warnings about not making blah-blah be a weak
library, which are warnings associated with compiling for
10.1.) I think they ought to make a language which is always
optimized, so knowledge able and formulaetic.
I get some really weird warnings something like
Warning: linker path does not have real file for library -ljpeg. I have the capability to make that library automatically link in when you link to this library. But I can only do this if you have a shared version of the library, which you do not appear to have because I did check the linker path looking for a file starting with libjpeg and none of the candidates passed a file format test using a file magic. Last file checked: /usr/local/lib/libjpeg.a
Now it is in
imlib-1.9.14
for Darwin PPC / Mac OS X (2854273 bytes).
I myself do sudo make install
, and hopefully I am
ready to compile Amaya: gdk_imlib is also installed.
In Amaya: mkdir darwin; cd darwin;
CFLAGS=-O3 ../configure --host=ppc
. I happen to know
of a few changes that I must make. In config.h there is a
line #define HAVE_APPKIT_APPKIT_H 1
which must
be commented out, /* #define HAVE_APPKIT_APPKIT_H 1 */
.
Also, in the Makefile I need to find the lines
$$libwwwdir/configure \ $$raptordir/configure \ $$redlanddir/configure \
When I find each one I add CFLAGS="-O3 -funroll-loops" to the beginning and --host=ppc to the end. The first one, for example, would become
CFLAGS="-O3 -funroll-loops" $$libwwwdir/configure --host=ppc
Note that the three lines are not together in the Makefile.
Actually, I'm going to omit the CFLAGS part and see if it
works. Oh, bother, I remember that I must add
--without-i18n to the configure flags, so I
again do
CFLAGS=-O3 ../configure --host=ppc --without-i18n
,
and again I have to apply those two changes. (Thankfully all of
it is cached just about, so it is finished much more quickly.)
I'll see if I can follow my own instructions to make the same
changes now. I change config.h and Makefile. I make
.
It doesn't work with raptor (it sets its own flags and forgets to remember the CFLAGS), so I must do this to the Makefile
CFLAGS="-I$$raptordir/expat/lib" \ # change that to become CFLAGS="-I$$raptordir/expat/lib $(CFLAGS)" \
I think that what happened (since that wasn't working) was that the reconfiguration was truly not reconfiguring. I deleted the darwin directory and then followed this procedure
CFLAGS=-O3 ../configure --host=ppc --without-i18n # change config.h (comment out APPKIT) # change Makefile (libwww configure needs --host=ppc) # change Makefile (libraptor configure needs CFLAGS) # change Options (add -I/usr/include/sys to THOT_OPTIONS) # change batch/Makefile (find LIBS and remove the extra space # so that -L ../thotlib/ becomes -L../thotlib/) # change ../thotlib/dialogue/browser.c (add #include "/usr/include/dirent.h" # to the end of the list of #includes--not to the beginning) # fix AMAYA_LIBS in amaya/Makefile (comment out -lpng and -ljpeg) MACOSX_DEPLOYMENT_TARGET=10.2 make # at the point of libraptor compilation, the libraptor/libtool # (which is created during make-ing, and so can't be changed # at the beginning) must be changed so that the # line stating # allow_undefined_flag="-undefined suppress" # is changed to be # allow_undefined_flag="-flat_namespace -undefined suppress"
Most of those odd, odd steps are explained on Saturday, April 26, 2003. (It violates my inheritance rules to give a wrap-around link, i.e., from a subdirectory around the corner ../../foo to another subdirectory. The reason is so that I can instantly tell whether deleting a directory will spoil links in other files--I merely look up the directory tree, and I know that within the directory all links will stay relatively the same. If I allowed links to violate this rule, for example, from /bob/e.html to /sam/sam.html, then sam could never move his items in the entire world because he could never be certain that an infinite pool of unrelated directories might be linking to him. In other words, I consider /index.html to be related to /something/anything, but I do not consider /something/anything to be related to /foobar/nothing. I should be able to consider /foobar/nothing not to be a dependency of /something/anything. The only exception are libraries, which are really related to everything and dependencies of everything, so I may use /js_lib/validate.js in /everywhere/else. More about it is explained in my style rules.)
Yes, all the optimization went like it was supposed to (no, libraptor left itself at -O2), and with the libraries I have, I have a very fast release of Amaya--no, wishful thinking.
That isn't working for the strangest reason (no targets found for -lpng, which is a mistake, and the graphic libs are simply not loaded correctly; the browser works without them, but crashes wonderfully on images), so I'll turn back to xscorch.
I'll copy the ltconfig and ltmain.sh files patched
that I used in giflib into the xscorch source. Now I do
CFLAGS="-O3 -funroll-loops" ./configure
. Hopefully
the libtool being corrected will fix the problem. It works
(now--I used to think that configure's saying "OK" meant it
really would work, but I don't trust it anymore), and I type
make
. I think that the game also needed imlib
without saying so, and now I have that. It is close to the
failing point of last time (sutil), and it succeeded... no.
I'll show you in here what I did:
cd sutil rm libscorch_util.a ar cru libscorch_util.a getopt.o getopt1.o randserv.o reg.o \ regblock.o regio.o regvar.o sslink.o shash.o sfractal.o \ srand.o sstr.o ranlib libscorch_until.a cd .. make
I'm going to read the document Compiling Amaya on MacOSX.
In xscorch I go again, this time applying the fink patch
(which changes Makefile.in and xscorch.c), and I do
CFLAGS="-O3 -funroll-loops" ./configure --disable-network
.
CFLAGS="-O3 -funroll-loops" ./configure
.
Before, I'll copy the special ltconfig and ltmain.sh
into this directory. Then, MACOSX_DEPLOYMENT_TARGET=10.2 make
.
I am awfully worried, meaning I'll play this for 10 hours when
I'm done, then never again in my life. (I also noted Deimos Rising
on my sister's new eMac, which is the most irritating computer
in the world--it crashed.) It's stupid. I know libjpeg and libpng
are right, because they have worked perfectly and never failed
in dillo. In fact, dillo loaded the image killer test in two
seconds only, compared to four for Safari.
I'm going to apply the patch to xscorch from fink now. I'm desperate. Now I'll do the exact same steps again. It still is hating me with multiple definitions of things like _optopt.
From all of this it looks like I should be looking for glib from gtk. I found glib-1.2.10.tar.gz (421,480 bytes). In a few minutes it is 72% done, much better than what I have been used to downloading (or deciding that I can never download for its such large size).
It looks like glib needs nothing else, so I will
do as much as I can:
CFLAGS="-O3 -funroll-loops" ./configure
.
(I do not try to guess around and install patches if
they aren't needed--I always try the ignorant way first,
if it will work.) Therefore, I need to do
CFLAGS="-O3 -funroll-loops" ./configure --host=ppc
,
but tell you what, I am going to counter my rule and
install the new ltmain.sh and ltconfig that I mentioned
regarding giflib. Then I shall do the command I have given.
Then I do the command I am beginning to dislike
MACOSX_DEPLOYMENT_TARGET=10.2 make
(because it
never works and it should be the default, which are rather
contradictory reasons). I think that the press is here.
It worked. Now I'll do make install
to see
if it really worked. (First I'll create the comp release.)
It works, and the result is in
glib.
Now looking back at that list of things, I can cross out libjpeg and giflib and tiff. I will hope that DSO on tiff is working right. Then I conclude to recompile gtk+.
tar -xzf ~/b/gtk+-1.2.10.tar.gz cd gtk+-1.2.10 cp ../giflib-4.1.0/{ltconfig,ltmain.sh} . CFLAGS="-O3 -funroll-loops" ./configure --host=ppc MACOSX_DEPLOYMENT_TARGET=10.2 make cd .. tar -czf gtk+-1.2.10-darwin-ppc-comp.tar.gz gtk+-1.2.10
It's probably good I'm redoing, because last time I gave almost no details, didn't I? It would be so weird if I left unbuilt a prerequisite to a prerequisite, and nothing noticed it, but another application using the higher level prequisite noticed that nothing had noticed that the prerequisite's very own prerequisite was missing. Now you can download gtk+-1.2.10 for Darwin PPC / Mac OS X (8827200 bytes). (No, here.)
Now I am again going to try to compile xscorch. When I complete
the following I shall have also inserted the line
xscorch_LDADD = sgame/libscorch_game.a sgtk/libscorch_gtk.a sgtk/swidgets/libscorch_widget_gtk.a sai/libscorch_ai.a $(MIKMOD_LD_ADD) $(NETWORK_LD_ADD) sutil/libscorch_util.a sgame/libscorch_game.a $(GTK_LIBS) $(LIBMIKMOD_LIBS)
into Makefile.in and removed the line sa.sa_sigaction = NULL;
from xscorch.c, which are the two changes in the Fink patchfile.
tar -xzf ~/b/xscorch-latest.tar.gz # cd xscorch-0.1.15 # cp ../giflib-4.1.0/{ltconfig,ltmain.sh} . CFLAGS="-O3 -funroll-loops" ./configure --host=ppc --disable-network MACOSX_DEPLOYMENT_TARGET=10.2 make
(#if I ever leave out commands like these, you can assume I did them)
Let me go get a Butterfinger. I like them, too, Nichole, especially with milk. The game compiles. I can't believe it. I think I'm about done with all the compiles I can drink milk with. I said I wasn't going to distribute, but now you can download in xscorch 0.1.15 latest for Darwin PPC / Mac OS X (1347956 bytes).
My options are players 10, rounds 10, AI type human, moron, shooter, spreader, chooser, calculater, annihilater, insanity, unknown, unknown. OK. Scoring standard, initial Cash 1000000, interest rate 0.050, computers can buy, the lottery. OK. Gravity 0.5, Ground damping 0.8, Borders extned 2500, Walls are wraparound, max wind speed 0.05. OK. Landscape, Land generator traditional, bumpiness 50, Sky random. Weapons, Arms level 4, Bomb icon size 3, Scaling 1, tunneling, useless items. OK. Graphics, Screen width 640, screen height 480, Animation, Computers are fast. OK. Options, Mode synchronous, Order random, Talk mode everyone, Talk Probability 10, Extended status, Tooltips. OK. No AI controller setup. OK. Save options. Begin game. It is very fast.
I am going to go ahead and try Amaya again.
I'll open the tarball, and cd into Amaya and mkdir darwin.
Then I'll cd darwin and I'll do
CFLAGS=-O3 ../configure --host=ppc --without-i18n
.
(Even this would not have worked without updating sed.)
Now in config.h I'll comment out the line with
HAVE_APPKIT_APPKIT_H, and in Makefile I will add
--host=ppc and CFLAGS to $$libwwwdir/configure, and I will
add CFLAGS to the other C flags in the line preceding
$$raptordir/configure. In Options.orig I will add -I/usr/include/sys
to THOT_OPTIONS. In batch/Makefile I will remove the extra space
from -L../thotlib/ in the LIBS. I'll open ../thotlib/dialogue/browser.c
and add #include "/usr/include/dirent.h" to the last of
the list of includes. Then I'll try my hardest to do
MACOSX_DEPLOYMENT_TARGET=10.2 make
.
I did something wrong when I added CFLAGS to libwww, so in the Makefile I shall take them out. I'll have to remove libwww/Makefile in order for the configuration to be re-run. No, I will actually revert, and I shall instead simply comment out the definition of HAVE_APPKIT_APPKIT_H in the file libwww/wwwconf.h. It was stupid to be there. It's never happened before. This whole process flips each time, making the quote, "This procedure is fairly complicated and, due to the nonstanard nature of most UNIX systems, prone to error." be true, and making me sure that you can't do what I do following the instructions--frustration! So what happens is that after the error happens again (I was stupid enough to already have deleted the Makefile) I simply change the libwww/wwwconf.h file. The error is now happening, so I should be there quickly. (Floods of errors from /System/Library/Frameworks/AppKit.framework/ must first fill the screen--over 10,000 lines easily.)
Now I undefine the line (comment it out) that I have been talking about. Then I again do the make command (I won't type it all out again--and don't bother me and say to copy and paste.) It goes, at least. I do sort of wonder whether a secret secret was passed in the CFLAGS between Amaya and libwww that I destroyed by what I did.
In raptor I know I'll have to change something, and I did. I must add -flat_namespace to the allow_undefined_flag which is in libraptor/libtool. I wish there was a way to do this at the first. Now to make again.
Now again I get the idiot error "No rule to make target `-lpng', needed by `../bin/amaya'." I am going to try things for a while and tell you what works, or by then if it isn't broken. What I'll try to do is simply build those dependencies by myself, going into--never mind, I'll try again to just comment them out and see if the program will use the ones I already have made with so much effort. They are -lpng $(LIBZ) -ljpeg in AMAYA_LIBS in amaya/Makefile. Now let's hope.
Well, it does something, but now it claims that libjpeg.a and libpng.a in /usr/local/lib are out of date. I'll ranlib them both and hope it cures. Now again make. Amaya claims to be done.
My original hope for the comp format was for Makefiles to provide a reasonable "clean" function, which would remove .o files and other unprofessional items, and leave the finished work--with the source, which is the interesting thing about comp. It doesn't usually do anything like that, so I may have Amaya into two parts, my darwin build, and the source--which I'll just tell you to get yourself (since they have made it so unfriendly that that is the only possible thing I can tell you to do, since I would just have to give the source thing myself the same as they have--separated from my build). Except, my source is a little bit different by now.
Amaya launches, can't load images, and takes 1.08 seconds to do so.
What I can try now is simply to go into each
of the directories libpng and libjpeg and do
CFLAGS="-O3 -funroll-loops" MACOSX_DEPLOYMENT_TARGET=10.2 make
.
However, the error I got was about a gif image, so I haven't much
hope. I have a better sneaking suspicion that I must
recompile or reinstall imlib. I'll do this before
I try to redo Amaya. I think the missing glib was the whole
thing. When I installed imlib it made a bunch of weird
warnings about,
"Warning: linker path does not have real file for library -ljpeg"
and things like that.
Anyway, here goes about imlib again. I am hoping that if
I can properly install it that it will make Amaya work as-is
with no other work. (My server's been up 93 days.) I go into
imlib-1.9.14, and it already has updated libtool items, so
I'm ready just to do the max-speed (most of the way, that is)
configuration, CFLAGS="-O3 -funroll-loops" ./configure
,
the same command as before, except this time hopefully the
computer's environment has changed. Here's a funny one,
"checking whether to build gmodulized imlib... yes." Now
ugh! The tiff library is not found. I will also recompile that,
then, and do exactly the same as before. You can go read what
that was. Actually, I have to go read what that was
(somewhere up above).
In config.site (which is the way I have now found
tiff meanly expects us to change options), I find that one
must uncomment the desired parameter and set it. I'll
remove the -g option from GCOPTS (so stupid, they should
just have it in CFLAGS, together with the next itme),
and change -O to -O3 -funroll-loops in the OPTIMIZER
variable. Programmers who do things like this are so
stupid! They say "gcc $(OPTIMIZER)" and they say, "Well,
it's all your fault! You could have set it correctly,
and that command would have done anything!" No, the truth
is that command could have done nothing. It is someone
who is responsible for making the item work. Nothing,
it says, should be set here unless one wishes to
override the configuration process results. Well, that
shall be enough for now. Since it always ignores
CFLAGS, apparently, I'll just do this,
./configure
, which greets me
with, "YOW!! Did something bad happen or am I on a
powerpc-apple-darwin6.6 system?" (Those nerdy config
guesser guys.) Rather, I shall have to set JPEG=yes
and ZIP=yes as well. I hate config.
My desired elimination of -g is just ignored. I'll
trick it hopefully and do -Werror in the GCOPTS, which
is a semi-fake command, but at least good for getting rid
of -g, which is assumed if I said nothing--which is
a terrible assumption. Most of all I wanted it to have
DSOs, and have them right, but it did not return the hope.
Now the favorite horror,
MACOSX_DEPLOYMENT_TARGET=10.2 make
Nope, I've got to do tons of config, and I have to download the source for zlib-1.1.4. I have to set up both the library paths for DIRS_LIBINC="$DIRS_LIBINC ../jpeg-6b" and DIR_JPEGLIB=../jpeg-6b, as well as DIRS_LIBINC="$DIRS_LIBINC ../zlib-1.1.4" and DIR_GZLIB="../zlib-1.1.4". Make again, and it works.
Then I'll make my comp file, and I'll release it as tiff-v3.5.7 for Darwin PPC / Mac OS X (4424718 bytes).
Back in imlib, I again do
CFLAGS="-O3 -funroll-loops" ./configure
.
Basically, now I realize that I need to do ranlib
on /usr/local/lib/libtiff.a. (I finally looked at
config.log.) Then configure again, and it runs OK.
I do
MACOSX_DEPLOYMENT_TARGET=10.2 make
.
It goes, and I'll try to install. (The stupid
installation is still trying to compile things.)
It pretends to work. By now I don't believe it.
Nope, it doesn't. Amaya doesn't go, doesn't
load images.
I'm going to try the --without-graphic-libs option (uses installed libs) this time in Amaya configure, and hope.
I'll start with updating the ltconfig and ltmain.sh
files--I just barely remembered to do so. Then I'll do
[no, first I had to remove the line
"$(INSTALL) $(SOUNDSRV) $(prefix)/$(SOUNDSRV)" from
Makefile.in]
CFLAGS="-O3 -funroll-loops" ./configure --host=ppc
,
and MACOSX_DEPLOYMENT_TARGET=10.2 make
. The
source is just around 300 KB, so I hope this won't take too
long.
It just works--wow. Here it is in xgalaga 2.0.34 for Darwin PPC / Mac OS X. Why do I put so much in my notes? Mine are always warm.
If I have design a computer system (and others should likewise), I shall put cron into the kernel. I won't put cron in exactly--it is too buggy--but the scheduling is a key property I think.
Also I shall follow, I think, the entire recommendable advice of reading all the documentation before I shall attempt to install. You know why? At first I believed it was superior to do it the way it ought to be: ./configure would configure, and make would make. However, what if there are some offerings in there for me? What if it is a buffet? What if I want special treatment? Is it wrong or at all against good for a program to be versatile? I for one would want it to be so if it wasn't, so I suppose I shouldn't complain.
They recommend that objdir != srcdir, and best that I build in another directory (beside, for example) than the expansion from the tarball. I'll therefore make it in compile/gcc33, from the source which is in compile/gcc-3.3. Have you ever heard of the word "multilibed," by the way? By the way, du -s on srcdir reveals 299,752 KB blocks used.
I am reading and reading trying to see superior options without too much risk, and I started finding nothing, but I guess I'll use --with-included-gettext. The make command looks like make bootstrap to do everything. I'm reading ahead of time. A slow processor is really no slower. Give it more time. Good is infinite, and that really is faster. That is why I have said, "How fast does it go slow?" I know it does not not go slow.
I am not going to make bootstrap-lean, but I will eliminate debugging information (could I ever use it to debug? Could I even send it to someone else?--it's as much a crime for me to waste unused debugging as it is to kill an animal that is not a pest and that you will not eat). Something like CFLAGS=-O2, LIBCFLAGS=-O2, and LIBCXXFLAGS="-O2 -fno-implicit-templates" ought to work. (I am afraid to do -O3. I know from experience that -O2 is far better than nothing, and they say it is more well tested.)
I am reading the target-specific installation notes, and it says I must do limit stack 800 (the default is too small of 512K). Oh, I get a profit from it, reading the build status page for my release, I can enable threads after all (which I worried about--see how much I can never tell you? I wouldn't tell you what I couldn't help you with, maybe.) by doing --enable-threads=posix in configure.
Am I afraid? I don't know.
cd gcc33 CFLAGS=-O2 export CFLAGS LIBCFLAGS=-O2 export LIBCFLAGS LIBCXXFLAGS="-O2 -fno-implicit-templates" export LIBCXXFLAGS MACOSX_DEPLOYMENT_TARGET=10.2 export MACOSX_DEPLOYMENT_TARGET ../gcc-3.3/configure --with-included-gettext --enable-threads=posix make bootstrap
It works. The compiled work is 681,726 KB blocks. Fortunately it did not ruin my whole computer by seeing the symlink which exists as /usr/local and thinking, "Hey, I guess today it feels like I don't like a symlink--he probably wanted me to really make that directory," which is what the Apple Installer program does. I am mad about bad software for good reason. I have all my local stuff in another mount, and I want it there. When the installer program deletes the link (yes, I can work around by choosing a different disk) I have to relink it and I lose all that it installed--which do you think I care about more, years that is in the real disk, which all other programs have inserted through the symlink like they were supposed to, or the 5-cent software I good-heartedly meant to update?
It took five minutes just to install. I am hoping it makes me smaller binaries.
I am testing wrap, compiled with no optimization. One megabyte of randomness goes through in 0.08 seconds. Trying it with -O3, I have the same thing in 0.03 seconds. The compiled result is somewhat different than before. It seems to be fastest of all with this command,
% /usr/local/bin/gcc -funroll-loops -O3 wrap.c -o wrap % time ./wrap < ~/../Shared/etc/in10 > /dev/null real 0m0.644s user 0m0.300s sys 0m0.200s % time ./wrap.old.2 < ~/../Shared/etc/in10 > /dev/null real 0m0.670s user 0m0.310s sys 0m0.190s
Its improvement is chance or marginal.
This must be done on a Unix partition, because there are names with the same letters, differentiated by only case (INSTALL and ./install). I have the source already, and I have compiled it before and am using it and it is a server on this computer, so hopefully it won't turn out like Amaya 8.0 which I have also hand-compiled and could not do this time.
I'll start by removing -s from conf-ld. Maybe I should show you all, except the editing of files (which isn't exactly command-line-viewable).
tar -xzf qmail-1.03.tar.gz cd qmail-1.03 emacs conf-ld # cc -s -> /usr/local/bin/gcc emacs conf-cc # cc -O2 -> /usr/local/bin/gcc -O3
Bother. This is too hard to do. I don't want to
install over again. Maybe I'll just compile and release
it as comp source. MACOSX_DEPLOYMENT_TARGET=10.2 make
.
Once there was a really weird error (something left out of
a file that tried to be libbed together--obviously it broke). I'm
hoping something unknown has fixed.
OK, what happens is I have "undefined symbols: _strerr_sys."
I'll do grep _strerr_sys *
which tells me that
strerr_sys.o matches (and some others). I'll put that name
into socket.lib on one line, by itself, which is presently
an empty file: echo strerr_sys.o >> socket.lib
.
Then again I make. Bother, now I am twisted in a loop. Maybe
I should just use what I have already compiled (the first step)
for the var-qmail (not mquail) package.
Therefore the next step will be to strip the binaries in /var/qmail/bin. I don't know how to do this, so I'll practice first. I copy some program into /tmp and I do strip /tmp/it. Nothing changes, so I will avoid that step.
Next I've got to get dot-forward and fastforward.
The first is only
MACOSX_DEPLOYMENT_TARGET=10.2 make setup check
.
(Insert a sudo before 'make' and you'll be fine.) The
second is only the exact same thing.
They say the next step is make an empty directory for
the binary package and move there. I'll do
mkdir var-qmail; cd var-qmail
. Copy these files
(actually, I'll change the given command to what I think they mean):
cp /var/qmail/{boot,doc,doc/*,bin,man/*}/* . cp -R /var/qmail/{boot,doc,bin,man} .
Then I must create an add-group script, i.e., add-group $group creates the computer system group $group, and in addition I must create an add-account script, i.e., add-account $account $group $home will create the account of $account with group $group and home directory $home. I talked about the niutil system directory utility on May 17 in MyersDaily, so I should be able to find out how. To make a group you would do "niutil -create . /groups/group," so my add-group script will be exactly this:
#!/bin/sh niutil -create . /groups/$1
Similarly, my add-account script will be like this:
#!/bin/sh niutil -create . /users/$1 niutil -createprop . /users/$1 group $2 niutil -createprop . /users/$1 home $3
Then it says copy idedit, install-big, and config-fast from the qmail source directory, so I do that--oops, I must finish compiling, err.
What I did to actualy finish installing qmail was
when it got to the error about strerr_sys, strerr_die, and
strerr_warn, I did
./load qmail-local qmail.o quote.o now.o gfrom.o myctime.o slurpclose.o case.a getln.a getopt.a sig.a open.a seek.a lock.a fd.a wait.a env.a stralloc.a alloc.a substdio.a error.a str.a fs.a datetime.a auto_qmail.o auto_patrn.o strerr_sys.o strerr_die.o
and then
make again, but then I had the eror of an undefined
symbol error_string, so I did
./load qmail-remote control.o constmap.o timeoutread.o timeoutwrite.o timeoutconn.o tcpto.o now.o dns.o ip.o ipalloc.o ipme.o quote.o ndelay.a case.a sig.a open.a lock.a seek.a getln.a stralloc.a alloc.a substdio.a error.a str.a fs.a auto_qmail.o error_str.o
,
and make again, and another error, and
./load splogger substdio.a error.a str.a fs.a error_str.o
,
another one, and
./load qmail-pop3d commands.o case.a timeoutread.o timeoutwrite.o maildir.o prioq.o now.o env.a strerr.a sig.a open.a getln.a stralloc.a alloc.a substdio.a error.a str.a fs.a error_str.o strerr_sys.o
,
and another error, and
./load qmail-popup commands.o timeoutread.o timeoutwrite.o now.o case.a fd.a sig.a wait.a stralloc.a alloc.a substdio.a error.a str.a fs.a error_str.o
,
and another one, and this time I decide just to put
error_str.o into socket.lib,
echo error_str.o >> socket.lib
, and
make again, but that doesn't help at all because
strerr.a is a multiple definition of _strerr_sysinit,
so I take it out, and take out `cat socket.lib`, and by hand I do,
/load qmail-local qmail.o quote.o now.o gfrom.o myctime.o slurpclose.o case.a getln.a getopt.a sig.a open.a seek.a lock.a fd.a wait.a env.a stralloc.a alloc.a substdio.a error.a str.a fs.a datetime.a auto_qmail.o auto_patrn.o strerr_sys.o strerr_die.o
, then make,
and it goes for a smile (I mean for a while) and finishes. Obviously,
strerr.a should not be in the list (I had to remove
it more than once), and strerr_die.o and strerr_sys.o should
be.
Now I finally copy the three files qmail-1.03/{idedit,install-big,config-fast} into the var-qmail directory. I copy qmail-1.03/BIN.Makefile into var-qmail/Makefile. I am supposed to edit the last several lines of Makefile now to, "handle the system's grep, hostname, and binmail." I am just going to assume that the last several lines will work. I think they do.
Basically--to say a lot in a little--I must determine for myself the positions of the following in a number of different files: uida, uidd, uidl, uido, uidp, uidq, uidr, uids, gidq, gidn. Since the output of nm looks like this: hex I name\n..., I shall make a perl script to collect them from its stdin.
# x.pl # find 40 arguments for XXX, e.g., for ./idedit install-big XXX %h; while (<>) { my ($hex, undef, $name) = split; $h{$name} = $hex; } # sed 's|,||g' for (qw(uida uidd uidl uido uidp uidq uidr uids gidq gidn)) { # I think my system is little-endian. $n = hex($h{"_auto_$_"}); # print join(' ', $n, $n + 1, $n + 2, $n + 3), ' '; # no! it's big-endian! print join(' ', $n + 3, $n + 2, $n + 1, $n), ' '; } print "\n";
For example, I do this:
nm install-big | perl ./x.pl
, which gives
me
32820 32821 32822 32823 32824 32825 32826 32827 32828 32829 32830 32831 32832 32833 32834 32835 32836 32837 32838 32839 32840 32841 32842 32843 32844 32845 32846 32847 32848 32849 32850 32851 32852 32853 32854 32855 32856 32857 32858 32859.
The next ones are like
nm ../qmail-1.03/qmail-lspawn | perl ./x.pl
, etc.
These numbers come from the programs in the qmail source
directory.
Now, I have to say no to myself from earlier. The
command was correct to do
cp /var/qmail/{boot,doc,doc/*,bin,man/*}/* .
into the var-qmail directory. I'm going to begin again,
with the things I have done saved. I have installed the
things which I actually compiled. I'll do that
copy step. This is making me mad.
sudo -s rm -r /var/qmail make setup check # cd /var/qmail/bin # we actually had to skip this part # for a in *; do strip $a; done; # dot-forward make setup check # fastforward make setup check rm -fr var-qmail/ mkdir var-qmail cd var-qmail cp /var/qmail/{boot,doc,doc/*,bin,man/*}/* . # this command has an error! # was my first assumption right? # doc/fastforward/ exists, as well # as bin/fastforward--can't copy both of them. # I'll just omit that one (doc/fastforward/ALIASES), # the stupid thing. cp ../add-group . cp ../add-account . cp ../qmail-1.03/{idedit,install-big,config-fast} . cp ../qmail-1.03/BIN.Makefile Makefile for a in install-big \ ../qmail-1.03/\ {qmail-lspawn,qmail-queue,qmail-rspawn,qmail-showctl,qmail-start} do echo $a; nm $a | perl ../x.pl | wrap 40 | perl -pe 'chomp; $_ = "$_ \\\n"'; done # add these numbers to Makefile cp ../qmail-1.03/BIN.README README emacs README # show compilation environment chmod 644 * chmod 755 idedit install-big config-fast add-group add-account
There, huff, I finished it. It is <a href="var-qmail-1.03.tar.gz.83ba0db4aa74f3649bb49ff4ee667011">var-qmail 1.03 for Darwin PPC / Mac OS X</a> (438358 bytes).
Oops! This is a big mistake. PowerPC is big-endian, not little endian. The programs crash. I must go up and reverse the course of the past. I'll "#comment out" the wrong line (which is still right for little-endian systems) and put in the right one for big-endian sytems. I think it is finished now, so it is in <a href="var-qmail-1.03.tar.gz.2f9d2c4fb627fe82e81569c554ae31f3">var-qmail-1.03 for Darwin PPC / Mac OS X</a>, this time hopefully fixed (438338 bytes).
Supposedly ("it is supposed to be"--literally) that we will
just do (as root) /var/qmail/rc &
in order to have
qmail running (but not perfectly configured--you will have to
read your own documentation with the package, and that is not
a mistake because configuring it would be like selling a
computer--my ways would be your errors). It doesn't work (this
time the error is worse!) so I am not sure about anything.
I am going to try to do the job without the strip step. Same everything else. Here it is in <a href="var-qmail-1.03-darwin-ppc.tar.gz.94fb5383aa767bba82493e2f36d6e02d">var qmail 1.03</a>. I mean here again.
See how many times I tried? And it finally worked! You only need make--none of the other stupidly-named "Developer Tools." I think now it is one of the easiest installations I have seen. You only need run at startup or any other time /var/qmail/rc &. Then you can send any message (with headers like To:, From:, etc.) into the command /var/qmail/bin/qmail-inject, and it will be queued and sent with your internet connection. This one is 515084 bytes (since I didn't strip).
CFLAGS="-O3 -funroll-loops" ./configure --host=ppc
MACOSX_DEPLOYMENT_TARGET=10.2 export MACOSX_DEPLOYMENT_TARGET
make
sudo make install
browser performance (../reference/performance.html) test 1: 8 seconds. test 2: 71 seconds (30.233 script time).
However, the browser is extremely responsive, almost perfectly, in the middle of large, long document. I know that that is better than load tests. I feel proud to use the browser--naa, insane.
Oh, btw ("by the way" in net language), for the first time "code" I wrote (really just a spelling correction) was checked into Mozilla. I didn't know it was so easy!
00:54:03 (2.50 KB/s) - `Dec2002gccUpdater.dmg.bin' saved [13475584]
I wouldn't have, but was persuaded by the associated document begging us to run our heavy code through the compiler. Yes, that is the reason for a tester. It is kind of weird, however, and I wonder why, that it must be installed on the bootup volume.
It was very, very easy to install.
I am going to run code through. I'll recompile the jpeg-6b library.
cd /Volumes/Unix/compile rm -r jpeg-6b tar -xzf ~/b/jpegsrc.v6b.tar.gz cd jpeg-6b export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/var/qmail/bin:\ /usr/local/bin:/Users/Shared/bin:~/bin" CFLAGS="-O3 -funroll-loops" ./configure make sudo make install sudo make install-lib
It is very good that the C compiler guesses which loops are good to unroll, or loop unrolling would slow down small processes. There are no warnings, no errors. This compilation is one of the most beautiful in the world. It is so pure.
This isn't quite the latest gcc 3.3 (a rhyme, kind of like my sister said while I was washing the house, "might all night") but it has the Apple nature.
gcc -v Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs Thread model: posix gcc version 3.3 20030304 (Apple Computer, Inc. build 1435)
Next I'll try libpng.
tar -xzf ~/b/libpng-1.2.5.tar.gz tar -xzf ~/b/zlib-1.1.4.tar.gz mv zlib-1.1.4 zlib # required for making libpng cp scripts/makefile.darwin makefile # makefile.macosx is another option, # but this makefile.darwin is edited by # someone I have emailed, and is better optimized. make sudo make install
Also no errors: boy, these are clean programs! (I myself wouldn't have done -Wall, just bothersomeness, but this is for pride!) I think now with the new installation there is no fooling around with the weak/non-weak library issue, so I don't have to always do the hated step of MACOSX_DEPLOYMENT_TARGET.
I don't want to do it, because I know how unhappy I'll be, but finally I am getting the aches (--if my belly aches, am I a ballery acher, I mean bellyacher?). I'll try to do glib, and then wantonness.
tar -xzf ~/b/glib-1.2.10.tar.gz cd glib-1.2.10 CFLAGS="-O3 -funroll-loops" ./configure --host=ppc make sudo make install
It works, too, lots less cleanly. I am sickeningly glad I don't have to worry or shake my head about Mac OS X 10.1.
Then gtk itself.
tar -xzf ~/b/gtk+-1.2.10.tar.gz cd gtk+-1.2.10 CFLAGS="-O3 -funroll-loops" ./configure --host=ppc make sudo make install
It does work. (Oh, btw, I've realized I don't need to change ltconfig and ltmain.sh with these.)
libtiff.
tar -xzf ~/b/tiff-v3.5.7.tar.gz cd tiff-v3.5.7 ./configure make sudo ranlib /usr/local/lib/libjpeg.a make sudo make install
tiff is really mangled to work on, I can say. I applied a number of changes before I compiled.
Now I feel very tired. Dare I to go on to the obnoxious dragnonlike imlib?
bzip2 -d < ~/b/imlib-1.9.14.tar.bz2 | tar -xf - cd imlib-1.9.14
giflib first--I forgot.
tar -xzf ~/b/giflib-4.1.0.tar.gz cd giflib-4.1.0 cp ../{ltmain.sh,ltconfig} . CFLAGS="-O3 -funroll-loops" ./configure --host=ppc make sudo make install
I must use the replacement ltconfig and ltmain.sh files. (I'm kind of worried about them. I should inspect them myself. For some reason I never use the same changes whenver it gets too actually seeing them.)
back in imlib
CFLAGS="-O3 -funroll-loops" ./configure sudo ranlib /usr/local/lib/libtiff.a CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
I made this patch.
I don't know about this. Amaya.
tar -xzf /Volumes/Programs/Archives/amaya-src-8.0.tgz cd Amaya mkdir ppc cd ppc CFLAGS="-O3" ../configure --without-i18n --host=ppc /usr/local/bin/make
Amaya, even to configure it, needs a new installation of sed--someone needs their arms pinioned, not thinking about anything but their configuration, their computer system, their sed. I had a new sed in /usr/local/bin/sed, but I should not have wanted to alter the PATH. I temporarily re-linked it in /usr/bin/sed. This is also very bad. The code is written so poorly that at interludes I was made to use the gcc 3.1 compiler upon certain files (they were beginning with thotlib/presentation/presvariables.c).
Amaya, as I was almost going to say before, but did not, is written by loose heads without following coding guidelines--and to think they speak of accessibility guidelines! Ultimately what does it mean? That there is no effort to having it understand to you, instead of understanding it yourself? I wonder. A real document exists on its own. It has no accessibility, not to anyone.
To be safe, I also had to use a different make. Several of the patches were only applicable in the middle of the make process.
Is it going to link? No, no images.
I am mad about their instructions. I never want to compile something as root--never! They pretended like the first steps were installing the software, so I went to /usr/local, carefully, like a good boy; but finally, I know what they are doing, and it is stupid. They didn't need to give me any instructions like that! Skip it! I know how to unpack a tar.gz file--and if I didn't, I would never be able to compile the program.
Tell you what: since configure likes to install into that same directory (as it is in), I'll just chown -R everything to me in /usr/local/qt, and then compile.
Ugh! It took
time rm -r qt-mac-free-3.1.2 real 0m31.927s user 0m0.210s sys 0m3.490s
to delete everything and go back to the other.
I added this to my .bashrc (which is used by .profile).
QTDIR=/usr/local/qt PATH=$QTDIR/bin:$PATH MANPATH=$QTDIR/doc/man:$MANPATH DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH export QTDIR PATH MANPATH DYLD_LIBRARY_PATH
Now continue.
cd /usr/local/ sudo -s tar -xzf ~myerskid/QtMac-3.1.2/qt-mac-free-3.1.2.tar.gz chown -R jmyers qt-mac-free-3.1.2 ln -s qt-mac-free-3.1.2 qt exit # now I am jmyers cd qt
I linked it because that way /usr/local/qt is still good if I have to compile and "install" another release in /usr/local. I'll finish, and I'll link qt to the new one. In a way it is slightly nice that I leave everything in that directory. It is one way. I never want to use bundled image libs, etc.--remember when I got mad about all the libjpegs and zlibs and png.h's on my computer? (Well, that was in a MyersDaily once. But I was right: there shouldn't have been six png.h's on one computer.) Except, I do not have libmng. Other options are defaults (the good ones I did not have to specify--see how the good quality is never mentioned, and behind the scenes? It's only the mistakes you hear.).
I have to install libmng first, since I want to have system only libraries, if they belong there.
tar -xzf ~/b/libmng-1.0.5.tar.gz cd libmng-1.0.5 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
Back to qt.
CFLAGS="-O3 -funroll-loops" ./configure -system-libpng \ -system-libjpeg -system-libmng -stl -thread -system-zlib \ -qt-gif -largefile make # Fri Jun 27 10:33:22 CDT 2003
Stupid thing! It is generating make programs for win32. Also, it ignores my optimization directives.
Finally, it finishes at 6:54 PM, after supper. A lot of things weren't prebound, starting because the "system" libpng wasn't.
sudo -s ln -sf $QTDIR/lib/libqt-mt.3.dylib /usr/lib ln -sf $QTDIR/lib/libqui.1.dylib /usr/lib exit
The idiots who make the idiotic install do so because their install is idiotic. That is the wise saying. I disobeyed it without the information that their install was so stupid that it couldn't even link to my libpng--which has been linked!--in any way to use it, and so nothing works. To fix it, I shall do:
sudo -s mv qt-mac-free-3.1.2 qt-mac-free-3.1.2.old mkdir qt-mac-free-3.1.2 chown jmyers qt-mac-free-3.1.2 exit cp -R qt-mac-free-3.1.2.old qt-mac-free-3.1.2 cd qt-mac-free-3.1.2 mv qt-mac-free-3.1.2.old/* . mv qt-mac-free-3.1.2.old/.qmake.cache . rm -R qt-mac-free-3.1.2.old CFLAGS="-O3 -funroll-loops" ./configure -stl -thread -qt-gif -largefile
And hope that the remainder is not all idiotic in the head and the feet.
"What are you doing?"
"I'm trying to compile something"--without thinking answering.
And I am hoping it does not recompile.
I am going to be smart (try! this is the third time of being smart--if I would have obeyed the idiots... maybe... but imperfection is never an excuse for perfectness). I am going to do NO special options, and I will also obey the rule about doing
"To reconfigure, run /usr/bin/make confclean and configure.
like that. However, I shall only make in lib after I am done. That at the least should take much less. I think so--that it shall work--because the crash log is this:
Thread 0 Crashed: #0 0x8fe01280 in halt #1 0x8fe0329c in load_library_image #2 0x8fe06134 in load_images_libraries #3 0x8fe026e8 in load_executable_image #4 0x8fe01410 in _dyld_init
going
make confclean
Oh, no, the betrayers! It is removing every last element in the universe--not the configuration. I am going back to the old thing and trying to configure that one. I am hoping that all of the functionality is linked to the qt library, and so if I build that, all of the applications, which are linked just to it, will run. Is not that the point of the library? Well, we shall see if these people deserve to live. So far, I have used the options given in their own software, and none of them work. (Now then, I am using a newer, ostensibly better, compiler, but I am not superstitious, am I? That would be their fault if it was that.)
./configure # since it's going to ignore cflags, anyway make # not yet sudo -s rm -r qt-mac-free-3.1.2 mv qt-mac-free-3.1.2.old qt-mac-free-3.1.2 exit
It was supposed to have been very revolutionary--this.
You know what is so stupid?--is the false value of the components of these packages. I would have been "fine with" finding something on the internet to try it out myself, but this company generously donates me useless lists of programs, but useless as they are, do you think I shall ordinarily have the nerve and the wits just to delete them? I didn't want them, yet I supposedly want them without thinking--even though I should delete them.
c++ must simply be the slowest thing on one globe.
I simply bet that I need to use the old compiler. But now is the edge off my daring, and will I again take out with all the options, hoping? Well, hoping for what?
Ok, by now I know they are stupid, and therefore I am stupid because I can do nothing--stupidity is shared in stupid products to any uesrs.
sudo -s rm -r qt* tar -xzf ~myerskid/QtMac-3.1.2/qt-mac-free-3.1.2.tar.gz mv qt-mac-free-3.1.2 qt gcc_select 3 cd qt ./configure -qt-gif make
This will be on into the night.
# finish at Sun Jun 29 02:47:54 CDT 2003 ln -sf $QTDIR/lib/libqt.3.dylib /usr/lib ln -sf $QTDIR/lib/libqui.1.dylib /usr/lib gcc_select 3.3 exit
I even changed
#define QT_BUILTIN_GIF_READER 1
in the
file src/kernel/qgif.h. None of it works. Now I
know it is not my fault. I am exceptionally displeased.
I have compiled the entire thing four times, tolerating
all of its unnaturally slow, and un-Unix-like behavior
(most programs are far more reasonable when
reconfiguring--one never does need to rebuild such an
enormous amount, hours and hours, just to twiddle and
fiddle with a small option to fix something). And now
it proves that it will not work. What did they expect?
For me to use the July 2002 C compiler? I will not do
it.
I will feed the faithful animals. (Actually, they are not faithful, and never saved my life. All of them have scratched and bit me, except the poor innocent kittens, who are waiting to do so.)
I am going to try to make the libjpeg with shared libraries and -prebind.
cp ../{ltmain.sh,ltconfig} . cp ../make-3.80/config/config.guess . CFLAGS="-O3 -funroll-loops" ./configure --enable-shared --host=ppc
cd /Volumes/Unix sudo mkdir fink sudo chown jmyers fink cd fink cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/fink login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/fink co \ dists/10.2/stable/main/finkinfo/graphics
cd jpeg-6b #1 patch < ../../fink/dists/10.2/stable/main/finkinfo/graphics/libjpeg-6b-6.patch cp /usr/share/libtool/config.guess . cp /usr/share/libtool/config.sub . cp /usr/share/libtool/ltmain.sh . cp ../ltconfig . CFLAGS="-O3 -funroll-loops" ./configure --enable-shared --enable-static export linkopts=-prebind #2 make sudo make install sudo make install-lib
1. This is the fink patch I was using, something about C++ extension. 2. Before I do make, I add -prebind to LDFLAGS within the Makefile, and I comment out the allow_undefined_flag in libtool. Many warnings like this occurred:
./libtool --mode=compile gcc -O3 -funroll-loops -I. -c ./jcmainct.c ./libtool: test: =: unary operator expected
Obviously, an undefined argument is being 'missed' instead of blanked.
I had a neat idea for making a binary "installer," which I might release for this silly shared thing, instead of a comp file. You "sudo chroot ." (to the current folder, which you have 'made' in). Never mind. It doesn't work. I was going to say that then you run "make install" or whatever. Then the dirs /usr/local/, etc. would be created, and you would just package them up (.tgz) and the other user would just cp -R them into /. The one single problem is that chroot leaves all the commands (of course) unavailable.
The other alternative, less smart, is a possibility (how weird! "a possibility" hasn't the connotation of being possible; I was careful not to say "is possible," to avoid saying that it was possible when I did not know (my sister is kicking me!), but doesn't "a possibility," because of the very word "possiblity" have to imply that it is not just a chance, but possible, from the word possibility?). What I shall try to do (that puts the computer out of commission) is rename the target folder, like /usr/local, to /usr/local.1. I then create /usr/local and install, then tar it up, and remove it, and restore the original /usr/local.
There is a squirrel in my pudding, however!
no way: invalid operation mode `no way' Try `no way --help' for more information.
There must be some time that I typed 'no way' into a configuration file somewhere, and it arises to smirk. (I mentioned before on the day Thursday, May 22, 2003.)
tar -xzf ~/b/giflib-4.1.0.tar.gz cd giflib-4.1.0
The fink info file says "UpdateConfigGuess," so I do
cp /usr/share/libtool/config.guess .
It says "UpdateLibtool," so I do
cp /usr/share/libtool/config.guess . cp /usr/share/libtool/config.sub . cp /usr/share/libtool/ltmain.sh . cp ../ltconfig .
Then I configure, etc.
LDFLAGS=-prebind CFLAGS="-O3 -funroll-loops" \ ./configure --enable-shared --enable-static #1 make sudo make install
1. I must comment out the allow_undefined_flag in libtool.
Back to imlib.
LDFLAGS=-prebind CFLAGS="-O3 -funroll-loops" \ ./configure --enable-shared --enable-static #1 make sudo make install
1. Do the same thing as before; then at one point it cannot be done this way, so revert to using the allow_undefined_flag. The remarkable thing is that pretty much all of the installation went without warnings.
I am going to try to build glib as a shared library.
tar -xzf ~/b/glib-1.2.10.tar.gz cd glib-1.2.10 cp /usr/share/libtool/config.guess . cp /usr/share/libtool/config.sub . cp /usr/share/libtool/ltmain.sh . cp ../ltconfig . #1 patch < ../../fink/dists/10.2/stable/main/finkinfo/gnome/glib-1.2.10-8.patch # CFLAGS="-O3 -funroll-loops" ./configure --enable-shared --enable-static LDFLAGS=-prebind CFLAGS="-O3 -funroll-loops" \ ./configure --enable-shared --enable-static #2 make sudo make install
1. Something about __va_copy. 2. Undo allow_undefined_flag, then restore it when necessary.
tar -xzf /Volumes/Programs/Archives/amaya-src-8.0.tgz cp -i /usr/share/libtool/{ltmain.sh,config.sub,config.guess} libwww/config cp -i /usr/share/libtool/{config.sub,config.guess} Amaya cd Amaya mkdir ppc cd ppc CFLAGS=-O3 ../configure --without-i18n /usr/local/bin/make #1 /usr/local/bin/make #2 /usr/local/bin/make #3 /usr/local/bin/make #4 /usr/local/bin/make #5 /usr/local/bin/make #6 /usr/local/bin/make #7 /usr/local/bin/make
A new version of sed has to be installed in /usr/bin/sed. (I had to change the order of the $PATH, otherwise it could be /usr/local/bin/sed. I had to change the order of the $PATH in order to use the right gcc.)
1. comment out /* #define HAVE_APPKIT_APPKIT_H 1 */ in the config.h file. 2. add -I/usr/include/sys to THOT_OPTIONS in Options file. 3. I had to use -no-cpp-precomp manually on a few files, like
cd thotlib gcc -no-cpp-precomp -O3 -W -D_GTK -D_SVGANIM -D_SVGLIB \ -I/usr/include/sys -DHAVE_CONFIG_H -I.. -I../../amaya/xpm \ -I../../tablelib/f -I../../thotlib/include -I../../thotlib/internals/var \ -I../../thotlib/internals/h -I../../thotlib/internals/f \ -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 \ -I/usr/local/lib/glib/include -I/usr/X11R6/include \ -I/usr/X11R6/include -c ../../thotlib/presentation/presvariables.c -o \ presentation/presvariables.o cd ..
Excuse me, I actually had to use gcc3 (3.1, previous compiler); the other statement is incorrect. I do hope it is binary compatible. 4. I have to add #include "/usr/include/dirent.h" to the file ../thotlib/dialogue/browser.c. 5. I guess I didn't forget what I was going to say--I have to find "-L ../thotlib" in batch/Makefile and remove the extra space. 6. I had to comment out /* #define HAVE_APPKIT_APPKIT_H 1 */ in the libwww/wwwconf.h file. 7. I have to set libraptor/libtool so that it is allow_undefined_flag="-flat_namespace -undefined suppress".
CFLAGS=-O3 ./configure --enable-ipv6 make
It's OK. Old launch time is 0.39 s. New is 0.46 s. Which is better? I'm not going to fret with it. There is, anyway, the patch.
tar -xzf ~/b/amaya-src-8.1a.tgz cp /usr/share/libtool/config.{guess,sub} Amaya cp /usr/share/libtool/ltmain.sh libwww/config cd Amaya mkdir ppc cd ppc CFLAGS=-O3 ../configure --without-i18n #1 make
1. comment out /* #define HAVE_APPKIT_APPKIT_H 1 */ in config.h. Sorry, --without-i18n does not work.
CFLAGS=-O3 ../configure --without-i18n /usr/local/bin/make #1, etc.
Assume that I made the same changes, like the commenting out of HAVE_APPKIT_APPKIT_H in config.h. 1. comment out the previous mentioned thing. 2. add -I/usr/include/sys to THOT_OPTIONS in Options. 3. this patch. 4. this patch. 5. LIBS = -L../thotlib/ -lThotKernel -ldl (in batch/Makefile). 6. comment out /* #define HAVE_APPKIT_APPKIT_H 1 */ (in libwww/wwwconf.h). 7. allow_undefined_flag="-flat_namespace -undefined suppress" (in libraptor/libtool). Amaya is done. Images don't load.
I'm going to install cdb-0.75 for testing and comparing to my own thing.
tar -xf /Volumes/Programs/Archives/cdb-0.75.tar cd cdb-0.75 make sudo make setup check
cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od login cvs -z3 -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od co -P darwinports cd darwinports make sudo make install
Use an empty password. I have a hunch I can get more things to work if I use properly done graphics libraries. It helps if you are someone who knows how something is supposed to work already, before you try to port it. I am not. I try software that I don't even know what its job is--beyond a good guess.
Since I am going to be using this Apple-related tool, I might consider going to the X11 Beta 3 and the new SDK, although I have been waiting months for an update (since March).
Now I think I will try to redo glib and imlib, using the checked-out patches and options from Darwinports. I think I like their system much better, but we shall see how it is and whether it stays well when it grows beyond the first level of fink. (For example, fink was fine when it had 100 ports; the indexing mechanism was also fine, and everything was done carefully--and no important packages were left wanting and unmaintained lost in the middle of others. But now, with some 3,000 ports, fink is unstable, and takes most of a minute to run--just compiling the list of its own information. It knows too much, and doesn't have extensibility to deal with it.)
tar -xzf ~/b/glib-1.2.10.tar.gz cd glib-1.2.10 patch < ../../darwinports/darwinports/dports/devel/glib/files/patch-config.guess patch < ../../darwinports/darwinports/dports/devel/glib/files/patch-config.sub patch < ../../darwinports/darwinports/dports/devel/glib/files/patch-configure CFLAGS="-O3 -funroll-loops" ./configure sudo make install
I'm afraid that I might need dlcompat, but I hate that. That is the whole point of porting, not to make a link on top of a dependency like that. It was very short. I seed to disagreed.
bzip2 -d < ~/b/imlib-1.9.14.tar.bz2 | tar -xf - cd imlib-1.9.14 patch < ../../darwinports/darwinports/dports/graphics/imlib/files/patch-config.sub cd gdk_imlib patch < ../../../darwinports/darwinports/dports/graphics/imlib/files/patch-gdk_imlib-Makefile.am patch < ../../../darwinports/darwinports/dports/graphics/imlib/files/patch-gdk_imlib-Makefile.in cd .. CFLAGS="-O3 -funroll-loops" ./configure --disable-shm make CFLAGS="-O3 -funroll-loops" ./configure --disable-shm --disable-modules make sudo make install
Patching config.guess failed, presumably because the patches are for version 1.9.10. It doesn't work so well (so well as the previous). I get gcc: -install_name only allowed with -dynamiclib. I'm trying to add -dynamiclib to archive_cmds in configure, then redoing. However it works when I use configure in the second way, with --disable-modules. I don't know if it is good.
It isn't good. Now amaya dies with a lot of undefined symbols (undefied?).
I think I might try the GIMP again, since I might need it for a job.
cd dports/devel/glib ln -s ~/b/glib-1.2.10.tar.gz /opt/local/var/db/dports/distfiles/ /opt/local/bin/port
However, glib is bad in some way: Unable to execute port: Directory not found.
time bzip2 -vd < ~/b/gimp-1.2.5.tar.bz2 | tar -xf - (stdin): done real 1m2.530s user 0m29.760s sys 0m13.580s cd gimp-1.2.5 CFLAGS=-O3 ./configure --disable-print make sudo make install
Comments: GTK version 1.2.8 or better (not unstable 1.3) is required. I'm not very knowledgeable about MPEG, and I can't connect to the Internet now, anyway. freefont is some fonts I don't know about, either. I suppose the configure defaults are OK (I looked at them). Perl stuff isn't in my system, at least not the gimp part. Done.
ln -s /usr/local/qt/lib/libqt.3.1.2.dylib /usr/lib/
I looked at the error report in a different context: Jul 20 15:24:32 localhost crashdump: Crash report written to: /Users/myerskid/Library/Logs/CrashReporter/application.crash.log Of course, I realized what had to be done, and it was a lucky guess.
I've also just downloaded a version of QCad 1.5.4 from Ribbon Soft for the Mac OS X computer (http://www.qcad.org/). It doesn't need any extra libraries. It takes three seconds to reach a prompt, and following that... 24 seconds to show a document. I didn't know if it was working.
It doesn't work very well (an idiomatic statement would be that "it doesn't work too well"). The Preferences option brings up the dialog box--unlucky, since that was the first thing I tried. One has to go to Options / General Preferences to reach them.
It is strange.
-r-xr-xr-x 1 root wheel 135136 Jul 21 18:43 /usr/bin/sed -r-xr-xr-x 1 root wheel 31744 Apr 12 14:22 /usr/bin/sed.old
time bzip2 -d < ~/b/koffice-1.2.91.tar.bz2 | tar -xf - real 1m35.335s user 0m24.400s sys 0m15.970s cd koffice-1.2.91 CFLAGS=-O3 ./configure make
The bzip2 tarball is 10370719 bytes. I am mad because stupid sh is actually bash, not zsh. I should have not been so dumb. I meant to time the bzip2 run time as well as the tar run time, individually. It looks like it might need multi-threading, so this time I might try to re-do the Qt/Mac installation with the options that I wanted to, simply remembering that their instructions were wrong--insufficient. (How stupid that they were overly particular in other areas!)
However, first I suppose I shall try to create a shared version of libmng; however, I think it actually was successful last time. So...
sudo -s cd /usr/local time tar -xzf ~myerskid/QtMac-3.1.2/qt-mac-free-3.1.2.tar.gz real 0m17.415s user 0m0.650s sys 0m8.630s cd qt-mac-free-3.1.2
Actually, maybe I should try to make the libmng and others be prebound. I have already the others.
tar -xzf ~/b/libmng-1.0.5.tar.gz cd libmng-1.0.5
(Actually, I still could compile the thing koffice without all this simply by using the deprecated --without-mt option. I don't want.)
These instructions still are not explicit. You have to make reasonable assumptions.
Tell you what, I'll skip it. I'll use the included graphics libraries--all of them. I don't want to run through another 12-hour cycle of four madnesses.
I did this to fix optimization the way I want for Qt/Mac. I did this for the GIF support.
./configure -thread -qt-gif make
How in the world can the source files be owned by edmyers? Options I want (that are not the default) are -thread -cups -nis -qt-gif However, -nis can't be used. Nor can -cups.
I get at least this error:
/usr/bin/libtool: internal link edit command failed ld: Undefined symbols: non-virtual thunk [nv:-40] to QWidget::metric(int) const # I think this might fix. rm /usr/lib/libqt.3.* rm /usr/lib/libqui.1.dylib mv qt qt.old ln -s qt-mac-free-3.1.2 qt
I infuriatingly realized that I need to move qt out of the way and make the link point to my new directory.
I am going to try to compile XBoard.
tar -xzf ~/b/xboard-4.2.6.tar.gz cd xboard-4.2.6 chmod 744 config.guess cp /usr/share/libtool/config.guess . chmod 744 config.sub cp /usr/share/libtool/config.sub . CFLAGS=-O3 ./configure make sudo make install tar -xzf ~/b/gnuchess-4.0.pl80.tar.gz cd gnuchess-4.0.pl80/src CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
Perhaps I should make a list of things that I will
always want to update when they are decently
updated. I also am deciding that i
means
em, and should mean that for aural media.
time bzip2 -vd < ~/b/gcc-3.3.1.tar.bz2 | tar -xf - (stdin): done real 3m17.488s user 1m8.970s sys 0m37.350s ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) 6144 file size (blocks, -f) 800 max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 256 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 512 cpu time (seconds, -t) unlimited max user processes (-u) 100 virtual memory (kbytes, -v) 6656 ulimit -s 800 mkdir gcc331 cd gcc331 CFLAGS=-O2 ../gcc-3.3.1/configure --enable-threads=posix BOOT_CFLAGS=-O2 make bootstrap sudo make install
It takes about 9:00 until Sun Aug 10 12:01:44 CDT 2003 to compile.
Now I'll try dillo 0.7.3.
CFLAGS=-O3 ./configure --enable-ipv6 make
They have taken care of the trouble, I think, with crossed fingers, that is always mentioned previously in patches. Actually, no. Here it is, the patch. (8-27-03. Forget about the patch. Read on, and you don't need it.)
Command: dillo PID: 25454 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x000000fd Thread 0 Crashed: #0 0x0002d610 in Html_link_clicked (crt.c:300) #1 0x0045a2c8 in gtk_handlers_run #2 0x00458c38 in gtk_signal_real_emit #3 0x004559dc in gtk_signal_emit_by_name #4 0x0001c7f0 in a_Selection_button_release (crt.c:300) #5 0x00013084 in Dw_page_send_selection_event (crt.c:300) #6 0x00019524 in Dw_widget_mouse_event (crt.c:300) #7 0x0000d030 in Dw_gtk_viewport_button_release (crt.c:300) #8 0x00400338 in gtk_marshal_BOOL__POINTER #9 0x00458cb0 in gtk_signal_real_emit #10 0x00455378 in gtk_signal_emit #11 0x004bb610 in gtk_widget_event #12 0x004001f0 in gtk_propagate_event #13 0x003fe67c in gtk_main_do_event #14 0x001a2ac0 in gdk_event_dispatch #15 0x001e813c in g_main_dispatch #16 0x001e7fc4 in g_main_iterate #17 0x001e6940 in g_main_run #18 0x003fd988 in gtk_main #19 0x0001d9a4 in main (crt.c:300) #20 0x00001edc in _start (crt.c:267) #21 0x00001d5c in start
Actually, it isn't a dillo problem. If I use the Apple compiler (3.3-pre), the same as the one which the gtk+ is compiled with, then dillo has no errors.
CFLAGS="-O3 -funroll-loops" ./configure --enable-ipv6 make sudo make install
Oh, die, brother! I timed it and got 0.39 s. But no, old dillo went down to 0.330. New down to 0.37, a chick. In my opinion dillo keeps getting slower and worse, and I'm worried.
Something happened to QT again.
# from /usr/lib for a in ../local/qt/lib/libqt-mt.*; do ln -s $a .; done for a in ../local/qt/lib/libqui.*; do ln -s $a .; done
bzip2 -d < ~/b/xmame-0.71.1.tar.bz2 | tar -xf - cd xmame-0.71.1 rm Makefile cp makefile.unix Makefile emacs Makefile
mkdir amaya-8.1b cd amaya-8.1b ls tar -xzf ~/b/amaya-src-8.1b.tgz cp /usr/share/libtool/config.{guess,sub} Amaya cp /usr/share/libtool/ltmain.sh libwww/config cd Amaya mkdir darwin cd darwin CFLAGS=-O3 ../configure --without-i18n #1, 2, etc. make # ../../thotlib/view/tesse.c:14:20: malloc.h: No such file or directory # make[1]: *** [view/tesse.o] Error 1 #3 #4 make #5 make #6 #7 sudo /usr/local/bin/make install
1. Comment out "#define HAVE_APPKIT_APPKIT_H 1" within config.h. 2. Take out the space in batch/Makefile (not bath!) that had been in this text "-L../thotlib/." 3. Add -I/usr/include/sys to THOT_OPTIONS in Options. 4. add #include "/usr/include/dirent.h" to ../thotlib/dialogue/browser.c. 5. Comment out "#define HAVE_APPKIT_APPKIT_H 1" within libwww/wwwconf.h. 6. As the final bad, I have to use /usr/local/bin/make 7. and also I have to do /usr/local/lib/libgif.dylib /usr/local/lib/libtiff.3.dylib inside of IMGLIBS in Options.
I've got to CLAP MY HANDS AND JUMP FOR JOY! I know how "it" got into my system. Well, guess what it was?
cat ~/bin/sed #!/bin/sh echo no way
And, MAN! this one works! screenshot of Amaya 8.1b on Mac OS X / X11.
CFLAGS=-O3 ./configure
ftp://ftp.trolltech.com/qt/source/qt-mac-free-3.2.1.sit http://ftp.rutgers.edu/pub/kde/stable/3.1.3/src/kdelibs-3.1.3a.tar.bz2 http://ftp.rutgers.edu/pub/kde/stable/3.1.3/src/kdebase-3.1.3.tar.bz2 http://ftp.rutgers.edu/pub/kde/unstable/koffice-1.2.92/src/koffice-1.2.92.tar.bz2
cp ~jmyers/b/qt-mac-free-3.2.1.sit . open qt-mac-free-3.2.1.sit
Unstuffing takes one or two minutes (est.
12:50:30 until 12:52:43). Now I'm in the usual dir
(/usr/local
).
sudo -s time tar -xzf ~myerskid/QtMac-3.2.1/qt-mac-free-3.2.1.tar.gz real 0m42.835s user 0m0.630s sys 0m12.190s rm qt # which was a symlink ln -s qt-mac-free-3.2.1 qt cd qt-mac-free-3.2.1
Edit ~/.bashrc and put in the following lines
QTDIR=/usr/local/qt PATH=$QTDIR/bin:$PATH MANPATH=$QTDIR/doc/man:/usr/local/man:/usr/share/man DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH export QTDIR PATH MANPATH DYLD_LIBRARY_PATH
Then continue
source ~/.bashrc #1 ./configure -qt-gif -thread -v make
1. src/kernel/qgif.h must be defined to "QT_BUILTIN_GIF_READER 1." This config step takes till 1:59:37! (That was after starting at about 1:20.)
What is life right now? I don't have an answer. Good God, ask me what I want to be.
Let's set it up.
cd lib for a in `ls *.*`; do ln -s /usr/local/qt/lib/$a /usr/lib; done
kdelibs and kdebase
bzip2 -d < ~/b/kdebase-3.1.3.tar.bz2 | tar -xf - bzip2 -d < ~/b/kdelibs-3.1.3a.tar.bz2 | tar -xf - cd kdelibs-3.1.3a CFLAGS="-O3 -funroll-loops" ./configure
Bother, I got the wrong version of kdelibs. It wants >= Qt 3.1.0 and < Qt 3.2.0.
It'll have to wait until they even have this version of KDE to match.
And find me not my own, not my enemy's.
I'm getting the August 2003 gcc Updater. I downloaded it last night.
hdiutil mount August2003gccUpdater.dmg.bin
Then I open August2003gccUpdater.pkg. The -fast switch is available, which heavily optimizes for PPC-970/G5 chips.
Here's a comment: i = em,
b = strong
. That's also the
way aural browsers should behave, therefore i and b should
be used instead of em and strong. When there is no meaning,
let the practical benefit become superior.
I'm going to try to statically compile libjpeg so that I can distribute cjpeg and djpeg individually, and run them to compare -fast with -O2.
CFLAGS=-O2 ./configure make
Now there exist statically-linked cjpeg and djpeg for all Mac OS X.
Then I delete all that past to make the next.
CFLAGS=-fast ./configure make
Now exist the same cjpeg and djpeg for G5.
"It's called C ch big and D ch big?"
tar -xzf ~/b/mathopd-1.4p1.tar.gz cd mathopd-1.4p1 cd src #1 #2 make
1. I change CFLAGS = -O2 in Makefile, as well as -lc instead of -lcrypt, in this. 2. I apply this patch for core.c. 3.
First I've got to get
As you have known, I won't use Fink to install them.
bzip2 -d < ~/b/ORBit-0.5.17.tar.bz2 | tar -xf -
I really want to get updated to Mac OS X 10.2.8.
pwd /Users/myerskid/compile bzip2 -d < ~jmyers/b/mozilla-source.tar.bz2 | tar -xf - # 2:12 until 2:15:37.
I hate tar, because it says @LongLink. This is the ribald, lewd 100-character limit of archive entry names. It rears its own ugly head--just kill it, please. This reminds me. I noticed that my own XAR has been robbed by none other than OpenDarwin for the name of a thousands of times more brain-dead archive scheme. Anything, anything! which uses libxml* as a prerequisite cannot be an archive format. Oh! Smash it all! Don't they learn a lesson from life?
XML is thoughtless junk--in this sense of THOUGHTLESSLY using it.
cd ORBit-0.5.17 cp /usr/share/libtool/{config.{guess,sub},ltmain.sh} . cp /usr/share/libtool/libltdl/aclocal.m4 . #1 make
Did you know if you type more in the wrong place it is ,pre? (on a Qwerty keyboard) Do I or do I not put periods after un-sentenced parentheticals? I did not as a child. I do not think it is symbolic.
1. In config.h I had to uncomment-out #undef ORBIT_HAVE_ALLOCA_H.
cd /Users/myerskid/compile CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot export CVSROOT cvs login cvs co mozilla/camino.mk #1 make -w -f camino.mk
1. Since my point in doing this is to compile a fast build for G5 computers, I will not use default Camino .mozconfig options.
So
make -w -f camino.mk build
A lot of stuff comes up like this, sooner or later:
non-virtual thunk [nv:-4] to nsPrintOptions::AddRef() non-virtual thunk [nv:-4] to nsPrintOptions::Release()
The optimizations are too heavy for this,
so I change away to -O2, and make clean
in gfx, then make
that section (it is
necessary to run configure before this step), then
revert to my same preferences, and repeat the build
from camino.mk (and run configure again before
this step).
I think I did this incorrectly. I should have read his Makefile instead of making my own changes. Rrr!
tar -xzf ~/b/mathopd-1.4p1.tar.gz
Just apply this patch for mathopd-1.4p1 for Mac OS X, which hopefully gets it correct. (Forget the other "patches"; I'll delete them.)
(Comment: I hate/xxx/don't-like this guy for making a compilation be done as root as the only possible convenient way. I should never do this, but it will set up my compilation directory as my "install" directory, also, so I can't chown -R it into root after I compile it as jmyers.)
pwd /Volumes/Programs/package cd package sudo tar -xzf ../Archives/daemontools-0.76.tar.gz cd admin/daemontools-0.76 sudo package/install svscanboot &
sudo
I'm using the add-account and add-group commands from my work on qmail.
patch < ../../fink/dists/10.2/stable/main/finkinfo/gnome/orbit-0.5.17-5.patch # just ignore all the mis-matches #1 make sudo make install
1. In config.h, uncomment the line saying #undef ORBIT_HAVE_ALLOCA_H.
Now in mozilla.
tar -xzf ~/b/bash-2.05b.tar.gz cd bash-2.05b CFLAGS=-O3 ./configure make sudo make install
I'm going to get dlcompat. http://www.opendarwin.org/projects/dlcompat/
tar -xzf ~/b/dlcompat-20030629.tar.gz cd dlcompat-20030629 ./configure make sudo make install
It has -O2 to start with, so I'll let it be.
Now I'm returning to Mozilla.
echo starting to build Mozilla CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot export CVSROOT cvs login cvs co mozilla/client.mk cd mozilla cat >> .mozconfig ac_add_options --disable-tests ac_add_options --disable-debug ac_add_options --enable-optimize ^D make -w -f client.mk
make[4]: Leaving directory `/Volumes/Home/Users/myerskid/compile/mozilla/xpfe/bootstrap' make[3]: Leaving directory `/Volumes/Home/Users/myerskid/compile/mozilla' make[2]: Leaving directory `/Users/myerskid/compile/mozilla' make[1]: Leaving directory `/Users/myerskid/compile/mozilla' make: Leaving directory `/Users/myerskid/compile/mozilla'
tar -xzf ~/b/apache_1.3.28.tar.gz cd apache_1.3.28 CFLAGS="-O3 -funroll-loops" ./configure \ --enable-module={log_agent,vhost_alias,headers,log_referer} \ --with-layout=Apache --with-perl=/usr/bin/perl sudo make install
I'm not using the suEXEC feature, because I believe the server should run as nobody-nobody. Not even its own files should be opened by itself, unless anyone else could. That's the meaning of the permissions, to not treat the server as an owner, but the foreign user as the one who has the right to do ANYTHING according to his own identification. That sounds LESS secure, but it is more secure, because it means things are secure unless permissions are set to allow things. An action cannot happen on an item unless it is regarded as a request by an unknown user, and treated as such. If the foreign user is the CAUSE of an action, then it should not be permitted if a foreign user would not be permitted to do the action in another way. How stupid for people to make servers that really allow visitors full use of their computer--by letting the server own anything.
I cannot believe that vhost_alias is not an enabled default module, or even built into Apache itself.
Maybe I can patch and compile to gcc-3.3.2. I was also thinking about xscorch; it was a webpage update on 2003.10.16 (Thursday).
cd gcc-3.3.1 bzip2 -d < ~/b/gcc-3.3.1-3.3.2.diff.bz2 | patch -p1 cd ../gcc331 ulimit -s 800 CFLAGS=-O2 ../gcc-3.3.1/configure --enable-threads=posix BOOT_CFLAGS=-O2 make bootstrap
I realized I had to do -p1 to strip only the first directory component. Otherwise it would strip all of them. You have to do this, I think, in order to patch files in a directory. -p0 would have stripped no directories, and would have been suitable if I had been above gcc-3.3.1's directory, but I did it this way to be more explanatory in order that you would know where I was.
I'm working as two users.
# as myerskid cp ~jmyers/b/qt-mac-free-3.2.2.sit . open qt-mac-free-3.2.2.sit # which unstuffs it
Then I go in as jmyers/root.
cd /usr/local sudo -s time tar -xzf ~myerskid/QtMac-3.2.2/qt-mac-free-3.2.2.tar.gz real 0m24.946s user 0m0.740s sys 0m9.930s rm qt ln -s qt-mac-free-3.2.2 qt cd qt-mac-free-3.2.2 #1 #2 ./configure -qt-gif -thread -v # open 9:52 pm, close
1. src/kernel/qgif.h must be defined to "QT_BUILTIN_GIF_READER 1." 2. In mkspecs/macx-g++/qmake.conf: QMAKE_CFLAGS_RELEASE = -funroll-loops -O3.
(date > config.start; echo yes | \ ./configure -qt-gif -thread -v; \ date > config.end; make; date > make.end) \ 1>out.1 2>out.2 &
I hate this process, because it is insecure. Suppose that "rm -Rf /home/*" is inside of Makefile, at the end?
Thu Oct 30 12:14:54 CST 2003 -> Thu Oct 30 22:35:13 CST 2003
The links are already set up in /usr/lib. However, since I have no need to leave the version-specific links I inadvertently made from the last time, I will do this.
sudo rm /usr/lib/libqt-mt.3.*.dylib
This leaves the following:
/usr/lib/libqassistantclient.a /usr/lib/libqui.1.0.0.dylib /usr/lib/libqassistantclient.prl /usr/lib/libqui.1.0.dylib /usr/lib/libqnp.prl /usr/lib/libqui.1.dylib /usr/lib/libqt-mt.3.dylib /usr/lib/libqui.dylib /usr/lib/libqt-mt.dylib /usr/lib/libqui.prl /usr/lib/libqt-mt.prl
At the end, out.1 is 836 KB, and out.2 is 44.
time bzip2 -d < ~/b/koffice-1.2.94.tar.bz2 | tar -xf - real 1m44.544s user 0m24.870s sys 0m17.450s
I can see that now I need to try to install kdebase/libs, and I hope koffice supports 3.2.2. 3.2.* is supposed to be backwards-compatible, but last time, the dumb-nut source code of koffice (cough-uss) didn't know it.
However, kdelibs didn't finish downloading last night. I'm mad, because I was just at my college where I could download some extra files, but I didn't know I would need to, so I didn't download it. By the way, from experience there, http://ftp.gtlib.cc.gatech.edu/ seems to be a very fast host, 455 KB/s, compared to my own sad 130 KB/s, or less.
Going on cheerfully to gimp.
imac2% time bzip2 -d < ~/b/gimp-1.3.22.tar.bz2| tar -xf - bzip2 -d < ~/b/gimp-1.3.22.tar.bz2 32.60s user 2.90s system 43% cpu 1:20.93 total tar -xf - 0.83s user 12.53s system 16% cpu 1:21.67 total
If it is copied to two places, isn't it a different byte?
cd gimp-1.3.22
Die, brother! Or live. It needs http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.9.0.tar.gz ftp://ftp.gtk.org/pub/gtk/v2.2/gtk+-2.2.4.tar.bz2 ftp://ftp.gtk.org/pub/gtk/v2.2/pango-1.2.5.tar.bz2 ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.3.tar.bz2 ftp://ftp.gtk.org/pub/gtk/v2.2/atk-1.2.4.tar.bz2 ftp://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3/libart_lgpl-2.3.16.tar.bz2
That's oppressive, something to think about for a year.
kdebase.
time bzip2 -d < ~/b/kdebase-3.1.93.tar.bz2 | tar -xf - bzip2 -d < ~/b/kdebase-3.1.93.tar.bz2 30.63s user 2.05s system 23% cpu 2:17.60 total tar -xf - 1.14s user 19.39s system 13% cpu 2:37.07 total
Amaya 8.2-pre. (test to be ready for comments before 8.2)
mkdir amaya-8.2-pre cd amaya-8.2-pre tar -xzf ~/b/amaya-src-8.2-pre.tgz cp /usr/share/libtool/config.{guess,sub} Amaya cd Amaya mkdir d cd d CFLAGS=-O3 ../configure --without-i18n #1, 2 make #3, 4 make #5 make #6 /usr/local/bin/make
1. config.h: /* #define HAVE_APPKIT_APPKIT_H 1 */. 2. batch/Makefile: -L../thotlib/ (take out the extra space that had been there between -L and ../thotlib/). 3. Options: THOT_OPTIONS=-D_GTK -I/usr/include/sys. 4. ../thotlib/dialogue/browser.c: add #include "/usr/include/dirent.h". 5. libwww/wwwconf.h: Comment this out: /* #define HAVE_APPKIT_APPKIT_H 1 */. 6. Options: Add /usr/local/lib/libgif.dylib /usr/local/lib/libtiff.3.dylib to IMGLIBS.
tar -xzf ~/b/pkgconfig-0.9.0.tar.gz cd pkgconfig-0.9.0 cp /usr/share/libtool/config.guess . cp /usr/share/libtool/config.guess glib-1.2.8 cp /usr/share/libtool/ltmain.sh . cp /usr/share/libtool/ltmain.sh glib-1.2.8
Never mind.
bzip2 -d < ~/b/kdelibs-3.1.93.tar.bz2 | tar -xf -
time bzip2 -d < ~/b/arts-1.1.93.tar.bz2 | tar -xf - cd arts-1.1.93
But pkg-config comes first.
zcat ~/www/joseph/notes/software/ltconfig.gz > glib-1.2.8/ltconfig
tar -xzf ~/b/wget-1.9.1.tar.gz ./configure --with-socks make sudo make install
Thankfully, SSL support is still auto-configured,
and optimization is automatically picked up to -O2.
Cool, too, the new version is backed up smaller:
/usr/local/bin/wget
211960, compared to
gzcat ~/www/joseph/notes/software/wget.tar.gz
225280.
I have no high hopes it can download faster, though. Networks have to catch up.
Also, Amaya 8.2 is released. Now perhaps I should make an effort to contribute automatic Darwin support on the next release, but I do not have 10.3, and I know it is bad to develop backwards on old stuff.
I'm going to join CVS so I don't have to check it out so much (like downloading 9 MB just to get the final release, which might be the same, except for the bittiest bit).
cvs -d :pserver:anonymous@dev.w3.org:/sources/public login cvs -d :pserver:anonymous@dev.w3.org:/sources/public -z3 checkout Amaya cvs -d :pserver:anonymous@dev.w3.org:/sources/public -z3 checkout -rAmaya libwww
In any directory, you can thereafter use update.
cvs -z3 update -d
Then you'll have to do
cd libwww perl config/winConfigure.pl # I think windows only? cd libwww libtoolize -c -f perl config/winConfigure.pl # on Unix, this is the same step? aclocal; autoheader; automake; autoconf
gzip -d < vnc-3.3.7-unixsrc.tar.gz | tar -xf - cd vnc-3.3.7-unixsrc ./configure make
It works just fine, relative to the meaning of fine, anyway.
CVS. I don't like. I have my own version control system. However, I suppose I would offer this on my server and at least try to make it the best.
I'm sure they have a later version now, but this is an exercise, to be used for the server later, assuming.
bzcat ~/b/cvs-1.11.9.tar.bz2 | tar -xf - cd cvs-1.11.9 CFLAGS="-O3 -funroll-loops" ./configure CFLAGS="-O3 -funroll-loops" ./configure --prefix=/usr/local make sudo make install
"Mac OS X: Builds fine, just like UNIX." That's what it says. Wow, that is a statement. I wonder if wow used to be a lion roar, or something different than it now is. The stupid thing decides that wherever I had cvs is where I want to install it.
cd mathopd-1.5b11
What are substitute goods? I don't think I have to say "tar -xzf" all the time anymore. cd to show where I am is good enough to show what I am doing. Also, it saves me from a long extra line when bzip2 is used.
I made a little make script that lets me start over again as I change options in src/Makefile, to make sure that when you start from the beginning it will work. Sometimes if I don't do that, my final set of options are not really the right ones for compiling, but it just happens that they work because I had already half stumbled through.
./make
cp -R src $$.d cd $$.d make
So
sh make
cd gd-2.0.15 CFLAGS="-O3 -funroll-loops" ./configure
Actually, sorry. I'm wondering about freetype. That would be an oasis in my pudding, wouldn't it be? Sorry, not talking about that anymore.
I think compile scripts could use make, etc., and they ought to allow the user to play, rather than all be preset. Why not have binaries, otherwise? (I.e., if the source is regarded for no other value, why have it?)
How about allowable hosts? "Unknown" I saw a license plate at school.
bzcat ~/b/freetype-2.1.5.tar.bz2 | tar -xf - # that's one way # of extracting. I don't want maybe to repeat very much more. cd freetype-2.1.5 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
I only like the added / on directories when I'm on the web and when I'm copying to one. It looks very integrated with the system. It picks options very well, like static and shared libraries.
gd again
CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
I wish a typing error could be left alone, because sometimes they are interesting.
cd webalizer-2.01-10 CFLAGS="-O3 -funroll-loops" ./configure make #1 ld: Undefined symbols: _libiconv _libiconv_close _libiconv_open
1. Didn't find something, so I did
gcc -L/usr/local/lib -o webalizer webalizer.o hashtab.o \ linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o \ -lgd -lpng -lz -lm /usr/local/lib/libiconv.dylib
then
sudo make install
tar -xzf ~/b/mathopd-1.5b11.tar.gz cd mathopd-1.5b11 cd src patch < ~/www/joseph/notes/software/mathopd-3.patch make
wfm. Works for me. white-female-male.
But I am so horrible practical (that it irritates me to be so practical) that I am upset if they don't accept all my changes. They didn't. I should have pointed them out.
cd mathopd-1.5b12
cd netpbm-10.19 ./configure #1 #2 make mkdir ../netpbm-10.19.pkg make package pkgdir=../netpbm-10.19.pkg #3 sudo -s # mv /usr/local/netpb{m,m.old} # exit sudo ./installnetpbm
I noticed this basic lie within the README file.
Netpbm is basic graphics software that ought to be supplied by any web hosting service.
No, no software should be.
I'm kind of wondering about MPEG, and MPEG star. I think this netpbm layout looks more organized.
1. I configured. 2. I added CFLAGS = -O3 -funroll-loops to Makefile.config. 3. The package was really installed in /netpbm-10.19.pkg (the noxious installer--I hold Bryan Henderson personally responsible for this), so note that when you do ./installnetpbm.
I have so many disagreements with the comments of the maintainer of netpbm. He considers man pages obsolete, for instance. Rip-off. People like him are what make the internet useless. Usefulness is supposed to increase. People who continuously think that old things go out of date--ugh--they should just apply that logic to their own lives.
Grow up. The internet is just a utility. The W3C is just advice, with many grains of salt. Anything else you believe in, don't worship it if it is so temporary.
I'm not going to go insane about it, but good things are supposed to honor the ultimate truth, not be a circle of relativity. I can imagine the internet being out of date.
Furthermore, there are bugs. I understand that arguing against someone merely because they have bugs is not credible. However, the make process requires the install package to be absolute; i.e., it doesn't just use the name I give it. This is the cardinal sin of programming: fixing someone's input by assuming it is created without knowledge.
I am not going to say that I had more knowledge. The reason I argue about this is because it is so critically important that people know the difference between right and wrong. If you entire life was wasted for that purpose, it would not be a waste. Truth is beauty. You cannot love it without wanting to be right.
And does anyone understand what a lie is? Like for example, here is a lie: all of the graphics on the computer are due to program X. The truth: program X can open all of the graphics on the computer, or at least copy them. But people say, "Well, why should we buy program X? It will do everything." And that is the same kind of blatant lie.
Last time it was so bad, in fact, that I didn't make a distribution for it. It was too hard to make a comp file. The self-satisfied man thought that make install wasn't good enough for him. But here is a package for netpbm on Mac OS X / Darwin PPC this time.
cd /Volumes/Unix/cvsbasket cvs -z3 -d:pserver:anonymous@auriga.wearlab.de:/sfhome/cvs/dillo login cvs -z3 -d:pserver:anonymous@auriga.wearlab.de:/sfhome/cvs/dillo co dillo cd dillo autoconf
Bother. out of date.
pwd > mathopd-1.5b14/src make
ls -l ~/b/kdebase-3.1.94.tar.bz2 16640932 Dec 10 19:18 /Users/jmyers/b/kdebase-3.1.94.tar.bz2 time bzcat ~/b/kdebase-3.1.94.tar.bz2 | tar -xf - real 2m52.480s user 0m31.650s sys 0m23.070s ls -l ~/b/kdelibs-3.1.94.tar.bz2 12251697 Dec 10 19:13 /Users/jmyers/b/kdelibs-3.1.94.tar.bz2 time bzcat ~/b/kdelibs-3.1.94.tar.bz2 | tar -xf - real 1m59.557s user 0m28.310s sys 0m19.760s
Oh, how dumb I was. I thought pkg-config 0.9 was the latest version--no, it's 0.15. (To my decimal-comparison mind.)
pwd pkgconfig-0.15.0 CFLAGS=-O2 ./configure make sudo make install
Mainly I didn't want to have -g. Debug off.
I suggest that you do this. Read README. If INSTALL is not 'generic', then read it. Read the output of ./configure --help.
You'll also have to work up the tree for compiling something big (with a lot of dependencies; dependent is the opposite; huh, that's funny). This can be hard, for something like KDE.
Right now, for instance, I've trailed my way to glib-2.* after tracking things to Pango and ATK.
pwd glib-2.2.3 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install pwd pango-1.2.5 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install pwd atk-1.2.4 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install pwd gtk+-2.2.4 CFLAGS="-O3 -funroll-loops" ./configure
BTW, here's something that makes me kinda mad:
checking the maximum length of command line arguments... 16384
This makes me mad because--how much work does it have to do to discover this value? Why does it have to do the work over on the same machine? A compile 'architecture' should have a make-cache-dir in /usr somewhere, that should know the tests, so at least it doesn't have to do this.
It is acceptable in the sense that compiling (er, in the sense of the English, I think I mean compilation) is always a constant step, that depreciates away to nothing as time goes on past. However, in a compile business, where compiling (now continuing the action, the sense of the English renders the other word; I love to find disctintions in synonyms) is the day-to-day activity, it would make sense.
On the extreme side, no one would say that any inordinate amount of time may be acceptably used for compilation, just because compilation only happens once--we wouldn't accept that because it is just nonsense. So, yes, even though compilation happens once and then is over, it helps to make it as fast as possible.
pwd cvsbasket/dillo ./autogen.sh aclocal found autoheader found autoconf found automake found
I need to update autoconf/automake.
bzcat ~/b/autoconf-2.58.tar.bz2 | tar -xf - cd autoconf-2.58 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
"I wish I could talk to somebody on the telephone." 288-7368. The menus don't get out of the way quick enough--I click on something. I hate that!
bzcat ~/b/automake-1.8.tar.bz2 | tar -xf - cd automake-1.8 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
"What's gawk and mawk and nawk?" Huh-huh!
"Chick us out!"
pwd dillo ./autogen.sh CFLAGS="-O3 -funroll-loops" ./configure --enable-ipv6
I just realized something really awesome. You do Command-{1,2,3} to switch between icon, list, and column view on Mac OS X.
mv mysql-4.1.1-alpha.tar.gz mysql-4.1.1-alpha.tar.gz.1 rd 15000000 < mysql-4.1.1-alpha.tar.gz.1 > mysql-4.1.1-alpha.tar.gz wget -c ftp://.../mysql-4.1.1-alpha.tar.gz rm mysql-4.1.1-alpha.tar.gz.1
Now I'm trying
CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
Would you like to force quit "(null)?" My brother actually just saw that, and I discovered about it reading today--coincidentally.
OK--works.
In gtk-2.2.4, I get an erroneous error (huh? I think that means an error caused by an error).
checking for TIFFReadScanline in -ltiff... no checking for TIFFWriteScanline in -ltiff... no checking for TIFFFlushData in -ltiff34... no configure: WARNING: *** TIFF plug-in will not be built (TIFF library not found) *** configure: error: *** Checks for TIFF loader failed. You can build without it by passing *** --without-libtiff to configure but some programs using GTK+ may *** not work properly
I've got to find some other package which uses the tiff library and see whether it will also not work now. By the way, I noticed that %llu is the format for a 64-bit, unsigned integer.
Of all things I love, this thing best-- (not to say).
I'm going to recompile tiff before I try this again. I've already patched it as per previous comments.
CFLAGS="-O3 -funroll-loops" ./configure #1 make sudo make install
1. Say OK to default parameters in configure. (configuration, rather--funny how good programmer makes you stop short of saying good English words when you start thinking of ./configure instead of the word)
Let's say, "Haa-tu-tu-pooh."
Terminalizing around!
Recompiling TIFF has nothing to do with it.
I think I might have found the error in config.log: the table of contents for /usr/local/lib/libtiff.a is out of date. I thought I'd already done ranlib on it, though.
ranlib /usr/local/lib/libtiff.a
I thought maybe that wouldn't be all, with the built-up suspicion of failures, but hmm, now it works. TIFFReadScanline does not work, and I know it should. It dies with a lot of jpeg undefined things like
ld: Undefined symbols: _jpeg_CreateCompress _jpeg_CreateDecompress _jpeg_abort _jpeg_destroy _jpeg_finish_compress
However, configure skips of that error for some reason.
make
I just found another reason not to use Fink. It makes idiots out of us, and no one helps, except to say 'use fink.' It's a great loss of information, because Fink doesn't cover everything on their pages, it's an arbitrary club, and only the only usable info (which is in the .info and .patch files) has been confusedly intertwined with the options of other fink packages, just to lock you into it, like drugs.
Like the guy on that page, thinking he's smart, doing 'selfupdate cvs' daily--not a blink you should donate to his account--for me, selfupdate cvs had to be hacked, because the true cvs update command wouldn't even work.
There was an error with ld: Undefined symbols: _getc_unlocked, in gtk_demo of all things--well, which I didn't want.
Personally, experience would make me think it was missing libiconv.
pwd libiconv-1.9.1 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
I think I had an idea for possibly a better version of installer/compiler for 'packages' (I hate that word as much as s---ware). You would actually get the source, like a newbie usually does anyway (without knowing what to do to go on), and then use commands from this program to do things--like get prequisites, patch, compile. The program would know what package was what from the value of pwd.
Well, now I've got to go fix my tire at Wal-Mart. It's a good store.
(Well, I mean the mechanic actually fixed it.)
With aRts it says, "You're missing libaudiofile," so I know I don't need it, but now I'm thinking, "Do what can." I'm remembering that the whole world ought to know i = em and b = strong. That is sensible, and perfectly fine for aural browsers to use. I wish the W3C would see.
pwd audiofile-0.2.4 CFLAGS="-O3 -funroll-loops" ./configure make
I can't wait till I'm finished with these to make my own system.
I actually feel good to do my homework.
It doesn't work, so I'm supposing that the audio things might be omitted, sadly.
gcc -dynamiclib -o .libs/libaudiofile.0.0.2.dylib openclose.lo \ setup.lo format.lo data.lo pcm.lo error.lo byteorder.lo af_vfs.lo \ util.lo aupv.lo units.lo compression.lo aes.lo instrument.lo loop.lo \ marker.lo misc.lo track.lo query.lo raw.lo aiff.lo aiffwrite.lo \ extended.lo next.lo nextwrite.lo wave.lo wavewrite.lo ircam.lo \ ircamwrite.lo g711.lo modules.lo -all_load modules/.libs/libmodules.al \ modules/.libs/libmodules.al -lm -lc -install_name \ /usr/local/lib/libaudiofile.0.dylib -compatibility_version 1 \ -current_version 1.2 ld: multiple definitions of symbol __AFg711initcompress ... (etc.)
Just a sec--just a sick--just a Mary Magdelene.
pwd kdelibs-3.1.94
Oh, flat, I'll have to do arts first--forgetting.
The Fink patch for libaudiofile on Mac OS X / Darwin works, seemingly.
patch [pasted the patch here, but you can simply do patch < file] make sudo make install pwd arts-1.1.94 CFLAGS="-O3 -funroll-loops" ./configure --enable-mac 2>2.out >1.out &
Then I walk upstairs and see if the other computer is available so I'm not on the network. I actually forgot the --enable-mac flag by mistake, and remembered it when I saw "x11 should be compiled... yes."
But of course, it still did it this time, too. It'll probably work on both Mac and X11. I should hope.
make
I think I'm just going to compile it without arts. I don't really want MCOP, I don't think, or I don't think I want to know.
bzcat ~/b/pcre-4.5.tar.bz2 | tar -xf - CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
"If you want to do unusual things." Yes, I want to do unusual things.
bzcat ~/b/gimp-1.3.23.tar.bz2 | tar -xf - cd gimp-1.3.23 cd .. cd libart_lgpl-2.3.16 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install
Ah, sweet, librsvg is not that large.
pwd /Volumes/Unix/compile/kdelibs-3.1.94 CFLAGS="-O3 -funroll-loops" ./configure --enable-mac --without-arts
I'm just going to get around it.
It gives me these messages.
I've got to adjust my path to use the new autoconf/automake before I make.
source ~/.bashrc.local #1 make
I am dragging for Panther, although I know it is not worthy to update.
1. I had to change a mistaken "-no-cpp-precomp" to
"--no-cpp-precomp" within the Makefile:
perl -i -pe 's| -no-cpp-precomp| --no-cpp-precomp|' \
`find . -name Makefile`
pwd gimp-1.3.23
They ought to call fink "Fink Patchworks." As a substitute for knowledge, it is bad for its users. As a supply of knowledge, it is good for its users.
I deleted "demos" from the SRC_SUBDIRS inside of
the main Makefile. This enabled me to finish compiling,
without the _getc_unlocked
error.
This one item was an interest:
sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&,"
Then I believe I may be able to finish the GIMP. Hopefully, not having demos will be no major problem.
pwd pango-1.2.5 sudo cp *.pc /usr/local/lib/pkgconfig/ cd .. tar -xzf ~/b/expat-1.95.7.tar.gz cd expat-1.95.7 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install cd ../fontconfig-2.2.90 CFLAGS="-O3 -funroll-loops" ./configure make sudo make install cd ../gimp-1.3.23 CFLAGS=-O3 ./configure
It needs pangoft2.pc. That's the motivation for the curious start. Oh, die, and I needed expat.
Reconsider that age. It's yours on one page, to be perfected, Ps. 138:8.
(P.S. When I said, "I'm not stupid," it was a gaffe.)
Configure didn't work. It needed a better dress, hat, scarf, sweater, or something. It was the include files from GTK's not being found.
I feel like needing to say some bad things, like, "Sure, puppy poopy."
Maybe it's just that I constantly forget glib. But I did install it. Oh, well.
time bzcat ~/b/glib-2.2.3.tar.bz2 | tar -xf - real 0m20.004s user 0m5.470s sys 0m3.230s CFLAGS="-O3 -funroll-loops" ./configure; time make real 10m10.391s user 4m19.660s sys 2m50.900s
A puppy in the pudding.
cd ../gimp-1.3.23 N=`ls -d /usr/local/include/* | perl -pe '$_ = "-I$_"' | grep -v .h | line` CPPFLAGS="$N -I/usr/local/lib/glib-2.0/include" CFLAGS=-O3 ./configure
P- this -g off thing.
It's not a bad word.
It's like `lspwd`; it looks like 'l.s. spit weed.'
What's worse is loading this puppy again just to see another letter I typed. I don't do that. That would be compulsion. I'm not falling into that.
Like, lick, can you really by a specialist to invent your idea? Yours?
Minibright
Stea, whatever. I have many voices, many writings. With a missing "unneeded one," the others could not be as the same.
Carving thing.
Now I've been saying this--these some-things--because I've been making so all the hmms now I can say yes to. I don't tell you what to do. All my stuff is not on this page. It can't be. It wouldn't be explained in an explanation.
I say fine. What is it to you?
Disconnect, I say, brother, before you icicle from having that much web space!
I've been waking.K I'm afraid of K.K
POSIX time may be kicked.
I did guess that I made this thing called cl.
Let me try it out.
tar -xzf ~/b/jpegsrc.v6b.tar.gz cd jpeg-6b cl add cl add patch1 < \ ../../fink/dists/10.2/unstable/main/finkinfo/graphics/libjpeg-6b-6.patch diff -u config.guess /usr/share/libtool/config.guess | cl add patch2 diff -u ltmain.sh /usr/share/libtool/ltmain.sh | cl add patch4 diff -u config.sub /usr/share/libtool/config.sub | cl add patch3 zcat ~/www/joseph/notes/software/ltconfig.gz | diff -u ltconfig - \ | cl add patch5 cl add patch patch.sh cl add configure configure.sh cl add make make.sh cl add install install.sh
The contents of configure.sh are:
#!/bin/sh CFLAGS="-O3 -funroll-loops" ./configure --enable-shared --enable-static
The contents of make.sh:
#!/bin/sh make
install.sh:
#!/bin/sh sudo make install sudo make install-lib
And patch.sh:
#!/bin/sh cl patch1 | patch cl patch2 | patch cl patch3 | patch cl patch4 | patch cl patch5 | patch
This marriage!
Now cl has them all. Anyone who has the cl may compile the software like this:
# download the source first, of course tar -xzf ~/b/jpegsrc.v6b.tar.gz cd jpeg-6b cl patch cl configure cl make cl install
In reality, it would be far more efficient to have patch.sh actually obtain patches from the local machine where possible, instead of redundantly cluttering lovely cl with them for hundreds of packages.
For example, a new patch.sh
#!/bin/sh cl patch1 | patch cp /usr/share/libtool/config.guess . cp /usr/share/libtool/config.sub . cp /usr/share/libtool/ltmain.sh . cl patch5 | patch
And then, of course, if you had unneeded patches for patch2, patch3, and patch4, you can remove them. You need to be in the jpeg-6b directory, since that is how cl beautifully judges what you do.
cl del patch2 cl del patch3 cl del patch4
It's good to keep everything clean, like for a girl. Have you never been inspired to be better than an ass--- man? You better not mess her up.
So cl.
Save her for better things. She's a kissing girl, not for sweeping.
This is good advice I got from install.doc in jpeb-6b:
(better do "make -n install" first to see if the makefile will put the files where you want them)
That's the trouble with all of these auto systems, including mine. They are a substitute for knowledge, and so they also infringe upon knowledgeable techniques. As things for people who don't know, they are never good for people who know--and therefore they are never good at all--good is defined by people who know.
Defined for the people who don't know? Well, just let them not know. You're trying to compensate to make them know, aren't you? If you are successful, then they can know. No need to teach nothing merely to people who know nothing, just so that therefore it is true (but meaningless) to say they learned everything.
At least the positive thing is that cl is better, a script, because a thing like this should not be a whole program, like Open Darwin and their darwinports system (and they the guys who stole my name xar--but lost love, I already decided there were too many Xs in the world. Only Xs and Os are in the proper place in terms of that particular letter.)
Truly successful.
Happy child.
See ya', magenta.
And so, of course, you should be able to get the cl pretty stuff from here.
Standard itself. Later I might generalize typical
commands, like most packages should have a
cl prequisites
capability, etc.
But at any rate, you simply read. You can be a human compiler if you read. You don't know enough, no matter who you are, so you have to read. That is the main process of compiling software.
That is the same thing that a machine compiler does, although a machine compiler is dumber. It doesn't benefit from experience, so it actually has to read the entire information for an item to compile it. A compiler is simply a reader that puts the application onto disk, interpeted. In short, you should never consider the application as the thing on the computer--rather, you should consider it as something that specifies the application.
A programmer is the only person who deals with the real application. He actually is the one who writes the buttons and this and that--the real buttons and clicks are the imaginary ones that are in his mind. The fake buttons and clicks are the ones that look real, but are just pretend figures on screen for the true information that is simply the programming language.
The way to read is to have experience, so that you read better. You read README. You read INSTALL. Most of the time they have nothing useful. You read ./configure --help, if it is there. You read Makefile, if it is there. Read everything.
The reason for this all is that a lot of sloppy programming is from trying to think about the result on screen, which isn't your real application. If the result on screen isn't good, that's it's own fault. Write an interface to it to fix its deficiencies, but do not change the logic of your program.
The same holds for so-called porting.
Note that we do not refer here to use or service of an item. In that case, the software is that which is usable--and it is completely meaningless what kind of operating system, what kind of this-or-that, etc. In this sense, a user of application XXX may sue the application-maker for claiming to provide service, which turns out faulty, even if the fault on the programming level is the fault of the operating system. The result is that a customer deserves a higher stake, that allows the customer to hold business responsible for making false claims or representing software beyond its real function. The customer has the right to prevent an application from being sold that tries to make claims that can't be fulfilled, whether caused by the operating system or by any other thing in the experience of the user (except hardware, perhaps).
In legal terms, there are numerous things to consider. For example, consider an implication. If no explicit statement of warranties is made, there is a fallback. If no other explicit warranty could be made by an implicit statement, except for one, then the presence of the implicit statement means that the statement is made.
Law always must define things as reasonable assertions. This is just as a jury, which must decide--not whether a person has committed--but whether a person is guilty before the law, which is whether the law has a right to judge him. The reasoning is manifest: if this were not the case, then the judge himself would decide everything. As far as the law is concerned, the judge can judge everything under the provisions of the law. The jury is to see whether the person may be brought before the judgment of the law, or whether the law cannot judge the person.
This is the very same reason why statistics cannot ever invent, or consider a conclusion, or evaluate what is good enough. Law and statistics can never use themselves. They are for use by people. Therefore, it is for people to decide to what they are applicable.
The fact of guilt or innocence absolutely is not the same as guilt or innocence to the law.
It seems impossible to provide any absolute software services, and it is impossible. However, that is not a matter to the law. It is not hard, on the other hand, to provide a reasonable service.
No one is responsible even for providing service with perfect function in presence of acts of God, or even within unreasonable use.
Statistics are for the law department. Truth is for the people department.
About cl again. Since, of course, other packages should not rely on specific versions of packages, but generic names (which might happen to be the same physical word as a specific version of a package), then the generic name should be a pointer package that lists as a dependency the actual package for the latest version.
I guess that zlib wants to be put in /usr. I'll let it be free to do so.
tar -xzf ~/b/zlib-1.2.1.tar.gz cd zlib-1.2.1/ cl add more README more configure more Makefile ./configure --help ls -l Makefile configure cat > configure.sh cat > make.sh cat > install.sh chmod 755 *.sh cl add configure configure.sh cl add install install.sh cl add make make.sh cl configure cl make cl install cl add urls mv `cl tar.gz` ~/www/joseph/notes/software/
So, here it is for now, cl-zlib-1.2.1.tar.gz.
mkdir zlib cd zlib cl add cl add prerequisites mv `cl tar.gz` ~/www/joseph/notes/software/
Here is the pointer package, cl-zlib.tar.gz.
The quick steps to cl-ing a piece of code.
cl add
cl add configure configure.sh
cl add make make.sh
.cl add install install.sh
cl add
cl add prerequisites
. Enter the versioned
name of the package you compiled, and other generic prerequisite
package name(s).Read the examples.
All of the cl commands must be run within the directory of the package on which they operate.
mkdir amaya cp -R Amaya libwww amaya/ mv amaya amaya.1-13-04 cd amaya.1-13-04 cp /usr/share/libtool/config.{guess,sub} Amaya cp /usr/share/libtool/ltmain.sh libwww/config/ cd libwww source ~/.bashrc.local aclocal-1.8 autoheader autoconf automake -a cd ../Amaya mkdir d cd d source ~/.bashrc CFLAGS=-O3 ../configure --without-i18n new config.h < config.h new batch/Makefile < batch/Makefile
From my own server I've realized optimization doesn't make much difference. That's bad; it shows how poor systems are that the largesse of efficiency has to exist.
(2-7-04. In other words, that it is possible for being efficient to be less efficient.)
tar -xzf ~/b/mathopd-1.5.tar.gz cd mathopd-1.5 cd src # edit Makefile make sudo make install cd .. cl add diff -u src/Makefile{~,} | cl add patch1 cat > patch.sh #!/bin/sh cl patch1 | patch -p0 ^D chmod 755 patch.sh cl add patch patch.sh cl add configure < /dev/null cat > make.sh #!/bin/sh cd src make ^D chmod 755 make.sh cl add make make.sh cat > install.sh #!/bin/sh cd src sudo make install ^D chmod 755 install.sh cl add install install.sh
Now someone who finds the mathopd-1.5 source may run commands to use it.
cl patch cl make cl install
Here's the cl file for mathopd-1.5 on Mac OS X.
pwd /Volumes/Unix/cvsbasket/amaya.1-13-04/Amaya/d CFLAGS=-O3 ../configure --without-i18n cd ../.. cl add #1 diff -u Amaya/d/{versions/config.h.1,config.h} | cl add patch1 #2 diff -u Amaya/d/batch/{versions/Makefile.1,Makefile} | cl add patch2 cp Amaya/d/Options{.orig,} new Amaya/d/Options < Amaya/d/Options #3 diff -u Amaya/d/versions/Options.{1,2} | cl add patch3 new Amaya/thotlib/dialogue/browser.c < Amaya/thotlib/dialogue/browser.c #4 diff -u Amaya/thotlib/dialogue/versions/browser.c.{1,2} | cl add patch4 #5 diff -u Amaya/thotlib/include/versions/fileaccess.h.{1,2} | cl add patch5 cd Amaya/d make
1.
Mathopd has this strange aura about its name, as if it were mathematically inspired and guided. How unfair.
The same judge of a person.
I am thinking now that I am against Amaya. They've switched to more of C++, which I think is unendurable.
ls 0123 0125 0202 0204 0123: ghostscript-8.13.tar.bz2 ghostscript-fonts-std-8.11.tar.gz 0125: gimp-2.0pre2.tar.bz2 gtk+-2.3.2.tar.bz2 glib-2.3.2.tar.bz2 pango-1.3.2.tar.bz2 0202: koffice-1.3.tar.bz2 0204: arts-1.2.0.tar.bz2 kdelibs-3.2.0.tar.bz2 kdebase-3.2.0.tar.bz2 libxml2-2.6.5.tar.bz2 kdegraphics-3.2.0.tar.bz2 libxslt-1.1.2.tar.bz2
I also changed my archive location to /Volumes/Programs/Archives/b. This way I can back up my home folder, etc., in a better fashion. ~/b was getting to be a trashy place. (But I'll just relink ~/b; it's so convenient!)
And on the subject of Ethernet, I am so glad that they used retarded lines to establish the 10 GB Ethernet system. In the same sense, I don't want to brag that my server can serve 480,000 connections per second on this computer, even if it can.
Yeah, the cardinal rule of sins.
I actually like the word cracking, better; language crackers, and stuff. It's too bad that good operating system improvements (kqueues and other (tm) kinds of things) are good for hackers. I don't think my server owner would know how to see if I did some things, simply cause they are too hot.
I might as well link /Volumes/Unix/compile to ~ as well.
You'll need to get these two files from ftp://ftp.trolltech.com/qt/source/
It's the very well-known "cannot map display interlocks" kind of error.
This kind of shenanigan is a result-by-consequence, i.e., circular programming logic. No compilation should have have anything to do with logging into the Mac OS X Finder/Window server/etc.
Why is it a big deal? Is it that wrong to ask me to do X, Y, and Z to compile something? Yes, it is wrong, if they are not necessary to compile something. Programs cannot be allowed to have little tyrannies.
I'm not sure whether I will compile it; I was not sure, but I have. It's not my tyranny--and if I was into wonderful programming to get porn, I would have no scruples, and so when I'm doing right (I have to have scruples), I might as well be at least as effective.
cd /Developer bzcat ~/b/0206/qt-mac-free-3.3.0.tar.bz2 | tar -xf - ln -s qt-mac-free-3.3.0 qt cd qt-mac-free-3.3.0 #1 emacs src/kernel/qgif.h #2 ./configure -qt-gif -system-zlib -thread #3 make #4 sudo -s for a in *.dylib; do ln -s /Developer/qt/lib/$a /usr/lib/$a; done
That is strange. I did tail -500 ~/.bash_history,
and the very top line was the line
cd /Developer
. My, my.
1. Set up ~/.bashrc.qt and include it into
~/.bashrc and ~/.bashrc.local with source
.
2. Only from experience, I changed this file for GIF support.
I don't know if I had to, or what I need it for, or whether
it could have been later done.
3. At this point I have to be logged into my "mode."
Ordinarily, I never use an admin-privileged windowing interface.
4. make
took a very long time, as it likes to.
Late at night, before bed, one thing I am hating is the real ignorance way of s---ware propogation. E.g., the libxml configure help says, "--with-http" means "add the HTTP support," and without knowledge, that might mean the propogation of what some sort of thing? Has HTTP now been taken to a knee-jerk?
But anyway, I've got to get rid of -g, so I have to use CFLAGS before bed. I wish I didn't have to use CFLAGS.
cd libxml2-2.6.5 CFLAGS=-O3 ./configure sudo make install
etc.
cd libxslt-1.1.2 " "
In arts-1.2.0, I have a problem.
make make all-recursive Making all in libltdl make[2]: Nothing to be done for `all'. Making all in mcop /bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -O2 -fno-exceptions -fno-check-new -fno-common -DQT_MAC -no-cpp-precomp -ftemplate-depth-99 -o libmcop.la -rpath /usr/local/kde/lib -no-undefined -version-info 1:0 -L/usr/local/lib -L/Developer/qt/lib -L/usr/local/kde/lib buffer.lo connection.lo core.lo debug.lo dispatcher.lo iomanager.lo object.lo socketconnection.lo tcpconnection.lo unixconnection.lo tcpserver.lo unixserver.lo objectmanager.lo factory.lo idlfilereg.lo ifacerepo_impl.lo mcoputils.lo startupmanager.lo md5.lo md5auth.lo referenceclean.lo datapacket.lo asyncstream.lo notification.lo flowsystem.lo extensionloader.lo tmpglobalcomm.lo mcopconfig.lo connect.lo reference.lo type.lo trader_impl.lo dynamicrequest.lo anyref.lo loopback.lo delayedreturn.lo thread.lo dynamicskeleton.lo -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv -lm ../libltdl/libltdlc.la ld: warning -L: directory name (/usr/local/kde/lib) does not exist [Logging for Build & Integration] Used static archive: ../libltdl/.libs/libltdlc.a [Logging for Build & Integration] Used static archive: /usr/local/lib/libstdc++.a [Logging for Build & Integration] Used static archive: /usr/lib/gcc/darwin/3.3/libgcc.a ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_divdi3.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_moddi3.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_udivdi3.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_umoddi3.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_udiv_w_sdiv.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_udivmoddi4.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR ld: /usr/lib/gcc/darwin/3.3/libgcc.a(unwind-dw2-fde-darwin.o) section's (__TEXT,__eh_frame) type S_COALESCED does not match previous objects type S_REGULAR [Logging for Build & Integration] Used dynamic library: /Volumes/Programs/usr/local/lib/libgmodule-2.0.0.200.3.dylib [Logging for Build & Integration] Used dynamic library: /Volumes/Programs/usr/local/lib/libgthread-2.0.0.200.3.dylib [Logging for Build & Integration] Used dynamic library: /Volumes/Programs/usr/local/lib/libglib-2.0.0.200.3.dylib [Logging for Build & Integration] Used dynamic library: /Volumes/Programs/usr/local/lib/libintl.1.0.1.dylib [Logging for Build & Integration] Used dynamic library: /Volumes/Programs/usr/local/lib/libiconv.2.2.0.dylib [Logging for Build & Integration] Used dynamic library: /Volumes/Programs/usr/local/lib/libdl.1.dylib [Logging for Build & Integration] Used dynamic library: /usr/lib/libSystem.B.dylib /usr/bin/libtool: internal link edit command failed make[2]: *** [libmcop.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
(By the way, I set the environment variables RC_TRACE_ARCHIVES and RC_TRACE_DYLIBS to 1 in order to record what things were used.)
It's obvious what is happening. /usr/local/lib/libstdc++.a is still around from my stupid installation of gcc 3.3.1 last August, and that is clashing with /usr/lib/gcc/darwin/3.3/libgcc.a
There are a number of strategies I could incorporate. I could link out the /usr/local library, or move the entire /usr/local installation. I'm pretty sure that someplace in the . directory a petty programming action is responsible for the fact that two components of two systems are trying to be used together, so I could try to grep files (some source archives have some of this information in subdirectories, but most don't, and it's probably a good idea that they don't).
I'm just trying this at first:
sudo mv /usr/local/lib/libstdc++.a{,.1}
I noticed that August 10th was the date on the file.
This is a weird thing, also.
/usr/include/gcc/darwin/3.3/c++/ppc-darwin/bits/atomicity.h: In member function `void Arts::TraderCheck::run()': /usr/include/gcc/darwin/3.3/c++/ppc-darwin/bits/atomicity.h:65: error: `asm' operand requires impossible reload
The some contents of said file are apropos:
60 static inline void 61 __attribute__ ((__unused__)) 62 __atomic_add (volatile _Atomic_word *__mem, int __val) 63 { 64 _Atomic_word __tmp; 65 __asm__ __volatile__ ( 66 "/* Inline atomic add */\n" 67 "0:\t" 68 "lwarx %0,0,%1 \n\t" 69 "add%I2 %0,%0,%2 \n\t" 70 _STWCX " %0,0,%1 \n\t" 71 "bne- 0b \n\t" 72 "/* End atomic add */" 73 : "=&b"(__tmp) 74 : "r" (__mem), "Ir"(__val) 75 : "cr0", "memory"); 76 } 77 78 #endif /* atomicity.h */
This is an actual error header of the header file. I only went and got the newer file (which luckily they have found and fixed within the last two months) from config/cpu/powerpc/atomicity.h at GCC at GNU.
Another weird thing happened. Qt was causing trouble every time anything would compile, because of two zlibs, I suppose. I moved off the file /usr/lib/libz.1.1.3.dylib, and then I immediately realized that practically everything was linked to that. Not even sudo would work to let me correct it.
I had to start up with Command-S pressed, and I did
fsck -y
then mount -uw /
,
and put the file back into place. That way I can dive
back into the "ordinary" Mac OS X, even though I loved the
efficiency of my computer in that state.
I'm waiting for next operating systems and computers. I don't think I can get 10.3, and I really think that 11 and big changes that aren't fumbles need to be made.
You can see in some sense how I work:
8465 cd compile 8466 ls 8467 cd arts-1.2.0/ 8468 ls 8469 make 8470 source ~/.bashrc.local 8471 make 8472 source ~/.bashrc 8473 make 8474 fg 8475 make 8476 cd qtmcop/ 8477 make 8478 emacs Makefile 8479 make 8480 fg 8481 make 8482 fg 8483 emacs ../libtool 8484 make 8485 ps 8486 ps -ax | grep ps 8487 ps -ax | grep http 8488 fg 8489 ps 8490 ps 8491 fg 8492 fg 1 8493 fg 8494 fg 2 8495 make 8496 fg 8497 cd .. 8498 make 8499 find /usr/X11R6 -name "Xlib.h" 8500 find /usr/X11R6/ -name "Xlib.h" 8501 fg 8502 pwd 8503 pwd 8504 echo CFLAGS 8505 echo $CFLAGS 8506 pwd 8507 ls 8508 emacs Makefile 8509 ls 8510 pwd 8511 LDFLAGS=-I/usr/X11R6/include/ make 8512 ls 8513 cd x11 8514 ls 8515 emacs Makefile 8516 make 8517 fg 8518 emacs Makefile 8519 make 8520 fg 8521 make 8522 fg 8523 make 8524 "No, I'm first! No, I!" screamed the children, who had 8525 finished 8526 fg 8527 make 8528 ls -l /usr/X11R6/lib/ 8529 qfg 8530 fg 8531 make 8532 fg 8533 cd .. 8534 pwd 8535 make 8536 sudo make install
(And you see also how sometimes I make misspellings, and how I accidentally put something into the shell from a completely different item.)
You might not realize some things, such as
switching C compilers was when I did
source ~/.bashrc.local
. It's nice, or
interesting at least, to see how efficient people
are usually in the shell. They don't really type
that much.
cd kdelibs-3.2.0
Well, anyway, important because it is new is that I did things like
cd dcop for a in dcopref.o dcopobject.o dcopstub.o do make $a mv $a .libs done
There had been a bunch of errors like this:
/usr/bin/libtool: internal link edit command failed ld: for architecture ppc ld: multiple definitions of symbol typeinfo for QGList .libs/dcopstub.o definition of typeinfo for QGList in section (__DATA,__const) .libs/dcopref.o definition of typeinfo for QGList in section (__DATA,__const) ld: multiple definitions of symbol vtable for QGList .libs/dcopstub.o definition of vtable for QGList in section (__DATA,__const) .libs/dcopref.o definition of vtable for QGList in section (__DATA,__const) .libs/dcopobject.o definition of typeinfo for QGList in section (__DATA,__const) .libs/dcopobject.o definition of vtable for QGList in section (__DATA,__const)
Also, it still wants to compile some X11 stuff. However, the needed includes are conditionally not included. This is an incomplete job of incorporationg --enable-mac. I have to do -DQ_WS_X11 in some of the files.
In kdecore/Makefile, just add -DQ_WS_X11 to CPPFLAGS.
Put the stoplight out.
Proficient in stuff. Grapes and strawberries and very chocolate candy bars.
Anyway.
Again the enable-mac/x11 stuff shows up, and I must add -lX11 and -L/usr/X11R6/lib to the same Makefile.
It will be a law, if that bad thing could happen. Unless it were a law, it couldn't be so bad.
It isn't yet set up well enough for Qt/Mac.
Experience is awful. I'm usually right.
Good, I suppose that's good enough.
ld: warning multiple definitions of symbol _mkstemp .libs/fakes.o definition of _mkstemp in section (__TEXT,__text) /usr/lib/libpthread.dylib(mktemp.So) definition of _mkstemp ld: Undefined symbols: _IceFlush _IceSetIOErrorHandler _SmcCloseConnection _SmcGetIceConnection _SmcOpenConnection _SmcRequestSaveYourself qt_xdisplay() qt_xrootwin() QApplication::x11ClientMessage(QWidget*, _XEvent*, bool) QApplication::QApplication[not-in-charge](_XDisplay*, unsigned long, unsigned long) QPaintDevice::x_appdisplay QPaintDevice::setX11Data(QPaintDeviceX11Data const*) QWidget::create(unsigned long, bool, bool) QPaintDevice::x11RenderHandle() const _qt_has_xft _qt_use_xrender qt_xscreen() qt_xget_temp_gc(int, bool) _qt_wm_protocols _qt_x_time QWidget::find(unsigned long) QWidget::x11Event(_XEvent*) qt_xrootwin(int) /usr/bin/libtool: internal link edit command failed make[1]: *** [libkdecore.la] Error 1
My technique is going to be to grep for those symbols in the files, and delete them (after I remove the -DQ_WS_X11, because I don't have to do it in all of the files, and in the ones I do not, it will actually result in linking against Qt/X11 symbols instead of Qt/Mac symbols). After I delete such object files, one at a time, I'll remake them with the new environment, and try to see if one missing symbol at a time can be bypassed.
The ones I need are kwin kstartupinfo kwinmodule kxmessages kstartupinfo kglobalaccel_x11; oh, never mind. I just realize something. Some of the things need X11, anyway, despite Qt/Mac. So if I undefine that, it won't work at all. There shouldn't be anything that is used for linking to Qt items that checks the value of Q_WS_X11. Only X11 items shold use this, and Qt items should check the value of QT_MAC.
So basically, that looks like this:
#if defined Q_WS_X11 && ! defined K_WS_QTONLY && ! defined QT_MAC
It's the law. Experience. Good.
I forgot something. glib-2.3.2. I forgot to tell how.
I installed libwcs.a from Amaya. I do think I mentioned that. Then, to get rid of debug symbols, I configured with CFLAGS=-O3 and to use wcs I also specified LDFLAGS="/usr/local/lib/libwcs.a".
Actually, that doesn't work, and you have to manually put it into the link command when it runs, as needed. I don't know why it won't work. (The reason I didn't just say -lwcs was because I already saw that didn't work.) Adding -lwcs to LIBS in the Makefile will work.
By the way, I think this wcs stuff is there already in newer versions of the system.
Of course, I really know that linking against it like this is not portable. But then, neither is it portable what I am doing--my work really isn't in a communicable state. I'm not an entire photosynthesis bum, keeping bright crawler concepts--when I really know that the idea of what I am doing is the stronger current.
The idea of compiling that I am doing is going to be worth something, and rather not what I compile. The idea presented in the source code is already universal for good programs. Porting compared to that is really nothing. The same thing means that that what I do is a high-rising spire, and it is not the substance of what I do that is that spire; it is the grace and good that I serve. That wholly is the essence of working well.
I've performed the necessary things now for pango and glib. However, I have only 4.2.1 of X11, and the libraries must be upgraded to 4.3.0 or later to use Xft, which GIMP 2 needs.
I'm not likely to be presented with something for this, even on Valentine's Day. I love someone you.
High-rising spirits; I love someone like you.
Even though I hope for many things.
Grace is working well.
FTP hand bag.
There are things like
tiff$(EXEEXT)
being written wrong
as tiff(EXEEXT)
(plug-ins/common/Makefile),
of which make complains "No target found."
There are a number of errors in other simple specifications, for which I did things like this:
perl -i.orig -pe 's|/usr/local/lib/pkgconfig/pango/libpangoxft.la| -lpangoxft|g' `find . -name Makefile` perl -i.orig -pe 's|/usr/local/lib/pkgconfig/pango/libpangox.la| -lpangox|g' `find . -name Makefile` perl -i.orig -pe 's|/usr/local/lib/pkgconfig/pango/libpango.la| -lpango|g' `find . -name Makefile` perl -i.orig -pe 's|/usr/local/lib/pkgconfig/pango/libpangoft2.la| -lpangoft2|g' `find . -name Makefile` perl -i.orig -pe 's|\$\(top_builddir\)/ -l| -l|g' `find . -name Makefile`
To make -lpango, etc. useful, I had to
ln -s
the files in /usr/local/lib.
(Stupid ld
couldn't find the
file that was named /usr/local/lib/libpango-1.0.la,
for example, and so it had to be linked to
ln -s libpango-1.0.la libpango.la
.
On valentines.
I've got to have a different, better reason for my love. I'm even ashamed to bring compiling into it, but I cannot compile and be a hypocrite at the same time. I think in good conscience I can compile gcc 3.4, but in good conscience I do not think I can write about it. I've got to have a different, fairer reason.
5030 SOURCEDIR=gcc/doc 5031 export SOURCEDIR 5032 DESTDIR=INSTALL 5033 export DESTDIR 5034 time gcc/doc/install.texi2html 5037 cd INSTALL/ 5039 lynx index.html 5042 exit 5043 pwd 5044 pwd 5045 cd www/joseph/ 5046 ls 5047 pub world resume.html 5048 exit 5049 crontab /dev/null 5050 exit 5051 sudo -s 5052 exit 5053 cd compile/gcc-3.4-20040218/ 5054 cd INSTALL/ 5055 lynx index.html 5056 find /usr/include/ -name "gthr-mach.h" 5057 fg 5058 pwd 5059 ls 5060 cd ../.. 5061 mkdir gcc-3.4-build 5062 cd gcc-3.4-build/ 5063 CFLAGS=-O3 ../gcc-3.4-20040218/configure --enable-threads=posix 5064 source ~/.bashrc.local 5065 CFLAGS=-O3 ../gcc-3.4-20040218/configure --enable-threads=posix 2>2.out 1>1.out & 5068 ps 5069 lynx ../gcc-3.4-20040218/INSTALL/build.html 5070 fg 5075 ls 5076 ls -l 5077 kill 6941 5078 ps 5079 make CFLAGS=-O3 bootstrap 2>2.out.1 1>1.out.1 & 5080 ps 5081 ps 5082 kill 6942 5083 ps 5084 ps 5085 exit 5086 fg 5087 exit 5088 pwd 5089 ps 5091 cd compile 5092 ls 5093 cd gcc-3.4-build/ 5094 ls -l 5095 ls -l 2.out.1 5096 cat 2.out.1 5097 pwd 5098 ls 5099 pwd 5100 ls 5101 ls -l 5102 pwd 5103 ls 5104 lynx ../gcc-3.4-20040218/INSTALL/index.html 5105 wd 5106 ls 5107 pwd 5108 ls 5109 make 5110 lilly 5111 lilly 5112 pwd 5113 ls 5114 fg 5115 pwd 5116 sudo make install
To evaluate performance, I'll try my favorite, jpegs.
real 3m24.511s user 1m19.730s sys 0m17.230s
That was the time to statically build the jpeg6b library with this.
CFLAGS=-O4 ./configure make clean time make
With gcc 3.3 from Apple (last August), it was
real 1m42.716s user 1m21.900s sys 0m14.510s
(I was doing a lot of other things the first time, hence, the 3m24s real time that is a great difference, but it doesn't mean a lot.)
In include/qgif.h, the qgif patch. #define QT_BUILTIN_GIF_READER 1
../configure -qt-gif -thread
But it says, "src/tools/qglobal.cpp:166:20: qt_mac.h: No such file or directory," and I am wondering if now Qt/X11 doesn't work any more on Mac.
I'm sad now about other things, so I don't even notice.
However, I'll try to be an expert on KDE 3.2.2, and Trolltech Qt/4 when it comes out. I'll want or need a newer version of the operating system, to adhere to my rules of being pertinent to the systems that ought to be on-topic for study and accomplishment.
I suppose at school tomorrow I will try to download it, but I may not have decent conditions to work with until December, possibly.
Here I am, between an organic chemistry class that is so hard (sure, at the end I will forget the pain...), and 16 windows open in a browser using about 17 minutes to look at all the stuff on the internet (thanks, Amanda) that I would normally be so demure and knowledgeable about.
I think if I had a girlfriend, I would be ashamed of spending my time this way. Even leaving school for a short period of time, and reading such worthless writeups is so much against what I really believe in and what I tell to people whom I tutor.
Correcting the lack of poll() on Mac OS X involves possibilities. For instance, you see this:
gslcommon.c:25:22: sys/poll.h: No such file or directory
You don't need to install sys/poll.h really; you need only use something such as Michiel Boland's poll-emul.h (I really don't know whether there are additional acknowledgements to be made) inside of a directory somewhere--which you add to the include flag of the make process. This may be inefficient to process for every file that is compiled, when only one or a few needs it.
Secondly, you need to have a way of adding the
library so it is linked. Traditionally, there are
implicit links for everything, so when you are
compiling any file, you may really be doing
gcc -lm -lSystem -l... a.c
. You can
install a file in /usr/local/lib/libpoll-emul.a,
compiled from poll-emul.c, but then you explicitly
have to specify that file to every stage in the
make process, the same as if it were an object
file to be used in each target. (Once again,
this is only a discussion of a general solution;
the true right way to do it is have it in the Makefile
in the right place, or to hand compile
where it is needed, but accomplishing things by
hand is also a wrong way to do it.)
So to do this, you put poll-emul.h into someplace like
mkdir sys cp poll-emul.h sys/poll.h
and add -I. to CFLAGS.
Secondly, you can have the libpoll-emul.a file in /usr/local/lib, presumably which is in your -L library include path. Therefore, you can add -lpoll-emul to LDFLAGS.
I have a philosophy that pure progress advances together. Your newer program really should not have its general development out of line with a new version of an operating system, for example. Otherwise all of the interleaves get fumbled. If one does not admit it and let the status of time be frozen for onward in time, then the future of time will be frozen in lieu.
gnuplot.
cd gnuplot-4.0.0 CFLAGS=-O3 ./configure --with-gd=/usr/local/lib --with-png=/usr/local/lib sudo make install
One of the funniest things, I want to say, is "configure with socks." The bird is giggling on my head.
I hope.
I open two windows in terminal, and I actually log in to my mode, because I know silly making of qt/mac requires it.
cd /Developer bzcat ~/b/0517/qt-mac-free-3.3.2.tar.bz2 | tar -xf - diff -u src/kernel/qgif.h{~,} | cl add qgif.patch cl qgif.patch > ~/www/joseph/notes/software/qgif.patch ./configure -thread -qt-gif make
Oh, understand love, why am I?
I'm actually making love, am I? Oh, why don't we understand the simple meaning of what we say? For I am making love here, and people there, together, are not making love.
Honey love
Oh, Worth Love, I want you.
Now the links are already there in /usr/lib/libq* to the libraries, but I think I shall delete the links which are version-specific, because 3.3.0 isn't there any more, for example.
rm libqt-mt.3.*.dylib
Hopefully no program is so irrational as to make that not work by "needing" the library with at least one minor version number. Of course, since I linked to /Developer/qt last time, and since I made that pointer repoint to 3.3.2 yesterday, I have no need to change the links which I left there for the libraries in /usr/lib.
dillo 0.8.1.
CFLAGS=-O3 ./configure make
Dillo first launch is 0.51. 2nd is .450. (real 3.404, 1.556).
How about xscorch 0.2.0?
Well, of course it worked, after getting the getopt situation out of the way once more.
What is the making of a hero?
Program | Comments | Prerequisites |
---|---|---|
dillo | A very fast, pleasant browser. | libjpeg, libpng, gtk+-1.2 |
imlib | an image-handling/graphics library for X11 and gtk | libjpeg, libpng, libtiff, libgif/libungif |
gtk | library for applications, the gimp toolkit | might need glib, I think; yes. |
libjpeg, jpeg-6b | libjpeg jpeg-6b for Apple ppc | bzip2, 839390 bytes |
---|---|---|
libpng-1.2.5 on zlib-1.1.4 | libpng-1.2.5 for Apple ppc | 696747 bytes |
glib-1.2.10 | glib-1.2.10 for Apple ppc | 972219 bytes |
gtk+-1.2.10 | gtk+-1.2.10 for Apple ppc | 7695801 bytes |
tiff-v3.5.7 | tiff-v3.5.7 for Apple ppc | 1296540 bytes |
giflib-4.1.0 | giflib-4.1.0 for Apple ppc | 600972 bytes |
imlib-1.9.14 | imlib-1.9.14 for Apple ppc | 2377108 bytes |
libmng-1.0.5 | libmng-1.0.5 for Apple ppc | 1034329 bytes |
You may need to control-click the links and choose "save as" to prevent the file from displaying as text in your browser (horrors).
You need an editor for text, and I've found that metapad is nice and costless. For Unix access with all or some of the capabilities of ssh, a telnet/ssh client like putty is needed. Go to the putty download page and get the ".ZIP file containing all the binaries." (To the point: Do I really need to tell you to "expand this file where you desire to use the software?") Mac OS X has ssh, but if you really want a graphical application, you may use Fugu, which I haven't tried.
You will like to have the MindTerm Java SSH client (at Duke University) or Download MindTerm to facilitate access from Unix-non-friendly Web terminals.
1-28-04. Having a linked list of prerequisites (where a prequisite of a prerequisite is not listed in both places) helps me to check for the right times to compile things (such as when the next non-beta version of Qt comes out).
Unfortunately, I don't put in links until I know where they are, which often happens only when I actually compile things. Before that, I merely read the web pages--skimpy things as they are.
Always, the meaning of a program name is the latest smart release to get. If there is a need not to get the latest for something, only then a particular version is mentioned.
See, if the important application is released, then it is the time to get the lesser applications. Some latency is there, of course, in getting them. A few days or weeks might pass until smaller things pick up to the bigger things, even though the jerks and changes of smaller things are quicker than larger.