compile-3.3.5.uci
Forum: The Testing Area
Topic: compile-3.3.5.uci
started by: roberts
Posted by roberts on May 11 2008,23:02
Thanks to Juanito for an update to:Code Sample | Title: compile-3.3.5.uci Description: compile environment for dsl Version: 3.3.5 Author: see list of sites below Original-site: see list of sites below Copying-policy: GPL/GPLv2/GPLv3 -----==[ Color = green Filesize: 13.7MB ]==----- Extension by: juanito Comments: Compile environment for dsl based on gcc-3.3.5 The compile environment was itself compiled on dsl for i486 and the applications used (as far as was possible) are those used for the base version of dsl. ---------- Since dsl has three versions of libpng a choice needs to be made as to which versions of headers/pkgconfig to use. Links have been placed in /tmp that point to the most recent version of libpng - modify these links if you wish to compile based on an older version of png. ---------- To use this compile environment, do something like this: $ export CPPFLAGS=-I/opt/compile-3.3.5/include $ ./configure --prefix=... $ make # make install (you will need to do this from a separate aterm opened as root) Note that the above approach will not work when compiling the full kernel sources. You will have to manually link /usr/include -> /opt/compile-3.3.5/include and also add #include <sys/param.h> at the beginning of ../scripts/mkdep.c to be able to make dep ---------- Note also that the recommended version of gcc to use when compiling the kernel and/or modules for 2.4.26 or 2.4.31 is gcc-2.95.3 This being said, I have not seen any problems compiling modules with gcc-3.3.5 ---------- If you see strange errors when compiling things like glib2, try this: $ cp -a /opt/compile-3.3.5/optional /opt $ export CPPFLAGS=-I/opt/include [thanks to ^thehatsrule^] ---------- This extension contains (headers, some libs and some executables from): autoconf-2.62 - http://ftp.gnu.org/gnu/autoconf/ automake-1.7 - http://ftp.gnu.org/gnu/automake/ automake-1.85 - http://ftp.gnu.org/gnu/automake/ automake-1.9 - http://ftp.gnu.org/gnu/automake/ automake-1.10.1 - http://ftp.gnu.org/gnu/automake/ binutils-2.15 - http://ftp.gnu.org/gnu/binutils/ bison-2.3 (1.875d required to compile xfree86-4.2.1) - http://ftp.gnu.org/gnu/bison/ bzip2-1.0.2 - http://sources.redhat.com/bzip2 curl-7.9.5 - http://curl.haxx.se expat-2.0.1 - http://expat.sourceforge.net/ flex-2.5.35 (2.5.4 required to compile xfree86-4.2.1) - http://flex.sourceforge.net fontconfig-2.2.1 - http://www.fontconfig.org/ freetype-2.1.5 - http://www.freetype.org/ gcc-core-3.3.5 - http://ftp.gnu.org/gnu/gcc/ gcc-g3.3.5 - http://ftp.gnu.org/gnu/gcc/ gettext-0.14.4 - http://ftp.gnu.org/gnu/gettext/ glib-1.2.10 - http://www.gtk.org/ glibc-2.3.2-sscanf-1.patch - http://ftp.gnu.org/gnu/gettext/ glibc-2.3.2 - http://ftp.gnu.org/gnu/gettext/ glibc-linuxthreads-2.3.2 - http://ftp.gnu.org/gnu/gettext/ gtk+-1.2.10 - http://www.gtk.org/ linux-2.4.26 sources - http://kernel.org libpng-1.0.12 - http://www.libpng.org/ libpng-1.0.15 - http://www.libpng.org/ libpng-1.2.5 - http://www.libpng.org/ libtool-1.5.6 - http://ftp.gnu.org/gnu/libtool/ m4-1.4.11 - http://ftp.gnu.org/gnu/m4/ make-3.81 - http://ftp.gnu.org/gnu/make/ ncurses-5.4 - http://ftp.gnu.org/gnu/ncurses/ openssl-0.9.7a - http://www.openssl.org/ patch-2.5.9 - http://ftp.gnu.org/gnu/patch/ pkg-config-0.23 - http://pkgconfig.freedesktop.org/ popt-1.7-5 - ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/ readline-4.3 (+patches 0-5) - http://ftp.gnu.org/gnu/readline/ texinfo-4.9 - http://ftp.gnu.org/gnu/texinfo/ tiff-v3.3.7 - ftp://ftp.sgi.com/graphics/tiff/ xfree86-4.2.1 - http://www.xfree86.org zlib-1.1.4 - http://www.zlib.net/ Change-log: first version 2007/10/31 Added headers/libs for openssl & readline Removed executables in sbin Added symlinks in /opt/bin 2007/11/22 Added automake-1.9 Removed /ramdisk from symlinks 2007/12/02 Added headers/libs for fontconfig Added symlink ../lib/libpng.so & libpng.so.2 2007/12/15 Moved ../X11R6/lib/libGL to ../lib Replaced Xlibs with symlink to base dsl libs Added headers/libs for popt-1.7 patched to popt-1.7-5 2008/01/26 Added back missing openssl headers & lib symlinks 2008/02/10 Removed /KNOPPIX from symlinks Added automake-1.7 & automake-1.10.1 Updated autoconf, bison, expat, flex, m4, make, pkg-config & texinfo Added flex wrapper for lex 2008/04/14 Fixed libpopt symlink Added headers/libs for bzip2 & curl Current: 2008/05/10
|
Posted by Juanito on June 29 2008,17:22
Still on the trail of tracking down the reason for some persistant erors when using compile-3.3.5, I've been trying to figure out exactly what's needed from glibc (apart from the headers) other than the files in the base dsl in order to be able to compile properly. Using a test from lfs on the compile-3.3.5 extension, I get this:Code Sample | $ echo 'main(){}' > dummy.c $ gcc dummy.c -Wl,--verbose 2>&1 | grep succeeded attempt to open /usr/lib/crt1.o succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/../../../crti.o succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/crtbegin.o succeeded attempt to open /tmp/cc1zWsiJ.o succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/libgcc.a succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/../../../libgcc_s.so succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/../../../libc.so succeeded [link to /usr/lib] attempt to open /lib/libc.so.6 succeeded attempt to open /usr/lib/libc_nonshared.a succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/libgcc.a succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/../../../libgcc_s.so succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/crtend.o succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/../../../crtn.o succeeded |
Now if I remove the following files:
/opt/compile-3.3.5/lib/crti.o /opt/compile-3.3.5/lib/crtn.o /opt/compile-3.3.5/lib/libc.so [symlink to /usr/lib]
I get this:Code Sample | $ gcc dummy.c -Wl,--verbose 2>&1 | grep succeeded attempt to open /usr/lib/crt1.o succeeded attempt to open /usr/lib/crti.o succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/crtbegin.o succeeded attempt to open /tmp/ccE4Buk4.o succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/libgcc.a succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/../../../libgcc_s.so succeeded attempt to open /usr/lib/libc.so succeeded attempt to open /lib/libc.so.6 succeeded attempt to open /usr/lib/libc_nonshared.a succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/libgcc.a succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/../../../libgcc_s.so succeeded attempt to open /ramdisk/opt/compile-3.3.5/bin/../lib/gcc-lib/i486-pc-linux-gnu/3.3.5/crtend.o succeeded attempt to open /usr/lib/crtn.o succeeded |
...which would tend to suggest that nothing from glibc (apart from the headers) other than what is already in the base dsl is required to compile. I'd appreciate it if anyone could comment on the correctness or otherwise of this statement
Posted by roberts on July 19 2008,22:56
Thanks to Juanito an update:Code Sample | Title: compile-3.3.5.uci Description: compile environment for dsl Version: 3.3.5 Author: see list of sites below Original-site: see list of sites below Copying-policy: GPL/GPLv2/GPLv3 -----==[ Color = green Filesize: 13.7MB ]==----- Extension by: juanito Comments: Compile environment for dsl based on gcc-3.3.5 The compile environment was itself compiled on dsl for i486 and the applications used (as far as was possible) are those used for the base version of dsl. ---------- Since dsl has three versions of libpng a choice needs to be made as to which versions of headers/pkgconfig to use. Links have been placed in /tmp that point to the most recent version of libpng - modify these links if you wish to compile based on an older version of png. ---------- To use this compile environment, do something like this: $ export CPPFLAGS=-I/opt/compile-3.3.5/include $ ./configure --prefix=... $ make # make install (you will need to do this from a separate aterm opened as root) Note that the above approach will not work when compiling the full kernel sources. You will have to manually link /usr/include -> /opt/compile-3.3.5/include and also add #include <sys/param.h> at the beginning of ../scripts/mkdep.c to be able to "make dep" ---------- Note also that the recommended version of gcc to use when compiling the kernel and/or modules for 2.4.26 or 2.4.31 is gcc-2.95.3 This being said, I have not seen any problems compiling modules with gcc-3.3.5 ---------- If you see strange errors when compiling things like glib2, try this: $ cp -a /opt/compile-3.3.5/include /opt $ export CPPFLAGS=-I/opt/include [thanks to ^thehatsrule^] ---------- This extension contains (headers, some libs and some executables from): autoconf-2.62 - http://ftp.gnu.org/gnu/autoconf/ automake-1.7 - http://ftp.gnu.org/gnu/automake/ automake-1.85 - http://ftp.gnu.org/gnu/automake/ automake-1.9 - http://ftp.gnu.org/gnu/automake/ automake-1.10.1 - http://ftp.gnu.org/gnu/automake/ binutils-2.15 - http://ftp.gnu.org/gnu/binutils/ bison-2.3 (1.875d required to compile xfree86-4.2.1) - http://ftp.gnu.org/gnu/bison/ bzip2-1.0.2 - http://sources.redhat.com/bzip2 curl-7.9.5 - http://curl.haxx.se expat-2.0.1 - http://expat.sourceforge.net/ flex-2.5.35 (2.5.4 required to compile xfree86-4.2.1) - http://flex.sourceforge.net fontconfig-2.2.1 - http://www.fontconfig.org/ freetype-2.1.5 - http://www.freetype.org/ gcc-core-3.3.5 - http://ftp.gnu.org/gnu/gcc/ gcc-g3.3.5 - http://ftp.gnu.org/gnu/gcc/ gettext-0.14.4 - http://ftp.gnu.org/gnu/gettext/ glib-1.2.10 - http://www.gtk.org/ glibc-2.3.2-sscanf-1.patch - http://ftp.gnu.org/gnu/gettext/ glibc-2.3.2 - http://ftp.gnu.org/gnu/gettext/ glibc-linuxthreads-2.3.2 - http://ftp.gnu.org/gnu/gettext/ gtk+-1.2.10 - http://www.gtk.org/ linux-2.4.26 sources - http://kernel.org libpng-1.0.12 - http://www.libpng.org/ libpng-1.0.15 - http://www.libpng.org/ libpng-1.2.5 - http://www.libpng.org/ libtool-1.5.6 - http://ftp.gnu.org/gnu/libtool/ m4-1.4.11 - http://ftp.gnu.org/gnu/m4/ make-3.81 - http://ftp.gnu.org/gnu/make/ ncurses-5.4 - http://ftp.gnu.org/gnu/ncurses/ openssl-0.9.7a - http://www.openssl.org/ patch-2.5.9 - http://ftp.gnu.org/gnu/patch/ pkg-config-0.23 - http://pkgconfig.freedesktop.org/ popt-1.7-5 - ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/ readline-4.3 (+patches 0-5) - http://ftp.gnu.org/gnu/readline/ texinfo-4.9 - http://ftp.gnu.org/gnu/texinfo/ tiff-v3.3.7 - ftp://ftp.sgi.com/graphics/tiff/ xfree86-4.2.1 - http://www.xfree86.org zlib-1.1.4 - http://www.zlib.net/ Change-log: first version 2007/10/31 Added headers/libs for openssl & readline Removed executables in sbin Added symlinks in /opt/bin 2007/11/22 Added automake-1.9 Removed /ramdisk from symlinks 2007/12/02 Added headers/libs for fontconfig Added symlink ../lib/libpng.so & libpng.so.2 2007/12/15 Moved ../X11R6/lib/libGL to ../lib Replaced Xlibs with symlink to base dsl libs Added headers/libs for popt-1.7 patched to popt-1.7-5 2008/01/26 Added back missing openssl headers & lib symlinks 2008/02/10 Removed /KNOPPIX from symlinks Added automake-1.7 & automake-1.10.1 Updated autoconf, bison, expat, flex, m4, make, pkg-config & texinfo Added flex wrapper for lex 2008/04/14 Fixed libpopt symlink Added headers/libs for bzip2 & curl 2008/05/10 Correct ^hats^ suggestion above and adjusted gcc specs file Current: 2008/07/19
|
Posted by Juanito on July 20 2008,03:47
After adjusting the gcc specs file, I no longer get "PATH_MAX" or similar errors when compiling things like glib2 so hopefully this particular error has gone away...
Posted by WDef on July 25 2008,23:21
Great!
Posted by Juanito on Nov. 01 2008,13:28
Ref ^thehatsrule^ : Quote | Side note (Juanito): compile-3.3.5 has /tmp/{png,pngconf}.h points to libpng2's and not libpng12's; In .../include libpng points to libpng2 whereas in .../lib/pkgconfig libpng.pc points to libpng12.pc. I'm wondering if there's some sort of disrepancy here. |
The original idea was to enable the user the choice of selecting which libpng to compile against using /tmp to switch. Perhaps now, several years on, everybody would want to compile against the most recent libpng.
Any comments, should I only include devs for the most recent libpng?
Posted by mikshaw on Nov. 02 2008,00:24
Quote | Perhaps now, several years on, everybody would want to compile against the most recent libpng. | If that were the case, consider using libpng3 instead of libpng2.
Personally I haven't seen any problems with using libpng12 with the applications I've built for DSL. My guess is that newer libs fix problems, but they appear to not be show stoppers. If you were to include only the newer png in compile-3.3.5, would that mean packages would need to include a png library either dynamic or built-in?
Posted by Juanito on Nov. 02 2008,07:21
Quote | If that were the case, consider using libpng3 instead of libpng2 |
Well OK, but the idea behind compile-3.3.5 was only to provide devs for items in the base dsl...
Looking at the various files in the base: Code Sample | $ ls -l /usr/lib/libpng* lrwxrwxrwx 1 root root 18 Feb 19 2008 /usr/lib/libpng.so.2 -> libpng.so.2.1.0.12 -rw-r--r-- 1 root root 175132 Jun 25 2005 /usr/lib/libpng.so.2.1.0.12 lrwxrwxrwx 1 root root 20 Feb 19 2008 /usr/lib/libpng10.so.0 -> libpng10.so.0.1.0.15 -rw-r--r-- 1 root root 130244 Jun 25 2005 /usr/lib/libpng10.so.0.1.0.15 lrwxrwxrwx 1 root root 19 Feb 19 2008 /usr/lib/libpng12.so.0 -> libpng12.so.0.1.2.5 -rw-r--r-- 1 root root 134384 Jun 25 2005 /usr/lib/libpng12.so.0.1.2.5 |
In terms of age from oldest to most recent, I have a feeling it goes libpng10.so.0.1.0.15 -> libpng.so.2.1.0.12 -> libpng12.so.0.1.2.5 based on the dates of the source tarballs in various archives, but I could easily be wrong.
Looking at the files in compile-3.3.5.uci: Code Sample | $ ls -l /opt/compile-3.3.5/include/libpng* /opt/compile-3.3.5/include/libpng [-> /opt/compile-3.3.5/include/libpng2]
/opt/compile-3.3.5/include/libpng10: png.h pngconf.h
/opt/compile-3.3.5/include/libpng12: png.h pngconf.h
/opt/compile-3.3.5/include/libpng2: png.h pngconf.h
$ ls -l /opt/compile-3.3.5/include/png* lrwxrwxrwx 1 root staff 10 May 10 17:59 /opt/compile-3.3.5/include/png.h -> /tmp/png.h lrwxrwxrwx 1 root staff 14 May 10 17:59 /opt/compile-3.3.5/include/pngconf.h -> /tmp/pngconf.h
$ ls -l /tmp/png* lrwxrwxrwx 1 root root 40 Nov 2 10:29 /tmp/png.h -> /opt/compile-3.3.5/include/libpng2/png.h lrwxrwxrwx 1 root root 44 Nov 2 10:29 /tmp/pngconf.h -> /opt/compile-3.3.5/include/libpng2/pngconf.h
$ ls -l /opt/compile-3.3.5/lib/pkgconfig/libpng* lrwxrwxrwx 1 root staff 11 Jul 19 16:06 /opt/compile-3.3.5/lib/pkgconfig/libpng.pc -> libpng12.pc -rw-r--r-- 1 root staff 247 Jul 19 16:06 /opt/compile-3.3.5/lib/pkgconfig/libpng10.pc -rw-r--r-- 1 root staff 246 Jul 19 16:06 /opt/compile-3.3.5/lib/pkgconfig/libpng12.pc |
To summarise, I see two options:
1. Eliminate the devs for all but one libpng - libpng12/libpng2? 2. Keep the devs for all three libpng, but tidy things up so everything points to the same version of libpng - libpng12/libpng2? Note that I should probably create a libpng2.pc, compiling libpng2 did not produce a pc file...
Suggestions?
Posted by mikshaw on Nov. 02 2008,14:15
Quote | Quote | If that were the case, consider using libpng3 instead of libpng2 |
Well OK, but the idea behind compile-3.3.5 was only to provide devs for items in the base dsl... |
Oh, that's sensible...I didn't notice that libpng2 was in DSL base....maybe that's why I hadn't had any issues =o)
Posted by ^thehatsrule^ on Nov. 06 2008,03:11
Originally I pointed this out because there were different libpng related symlinks in /tmp pointing to 2 different versions by default... but I'm guessing that's because libpng2 was made to the default but did not have the newer config tools, etc. that libpng12 has. I would vote for libpng12 being the default, but I have no idea if that would cause more problems or not. I've just had a couple libpng related problems in the past...
|