From f4740ad774eb166db34dcc0edf9c79cb7006c7ca Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 27 Apr 2015 18:01:36 +0000 Subject: README.solaris: move to doc/ subdir, public domain, a couple words about configure git-svn-id: svn://tug.org/texlive/trunk@37077 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/README | 4 +- Build/source/README.solaris | 97 ------------------------------------- Build/source/doc/README.solaris | 103 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 105 insertions(+), 99 deletions(-) delete mode 100644 Build/source/README.solaris create mode 100644 Build/source/doc/README.solaris (limited to 'Build') diff --git a/Build/source/README b/Build/source/README index decdd1f9eb3..eae79101e0b 100644 --- a/Build/source/README +++ b/Build/source/README @@ -20,7 +20,7 @@ README* files here (which are generated from that document). Build information for some of the platforms. -i386-linux: gcc 4.8.2, Linux 2.6.18-* (CentOS 5.10, tug.org:~karl/bin/mybuild) +i386-linux: gcc 4.9.2, Linux 2.6.18-* (CentOS 5.10, tug.org:~karl/bin/mybuild) Except for dvisvgm, where we must use the system compiler (gcc 4.1.2, Red Hat 4.1.2-54) or libgs.so crashes trying to use gcc 4.8.2's libstdc++. On the other hand, the system compiler has an optimization @@ -61,7 +61,7 @@ powerpc-linux (Debian Squeeze) ppc64 Debian GNU/Linux 6.0 (only the kernel is 64bit, the entire userland is 32bit) -sparc-solaris: gcc-4.5.0, Solaris 5.10 (Utah). +sparc-solaris: Solaris 10, gcc. Detailed wget/xz info in doc/README.solaris. universal-darwin, x86_64-darwin: a menagerie of versions. See Master/source/mactexdoc.tar.xz. diff --git a/Build/source/README.solaris b/Build/source/README.solaris deleted file mode 100644 index 238aa3e287c..00000000000 --- a/Build/source/README.solaris +++ /dev/null @@ -1,97 +0,0 @@ -Compiling TeX binaries on Solaris - -(The document describes the procedures used on Sparc Solaris binaries, but the same -rules should apply to i386 and x86_64 as well.) - -Solaris 9 has been out of official support for a while and making software compile -on that platform is challenging, so it hardly make any sense to try to support it. - -Solaris 10 reaches end of support in January 2021. - http://en.wikipedia.org/wiki/Solaris_(operating_system)#Version_history -an TeX Live binaries try to stay compatible with that OS version. - -Every once in a while a new Update is shipped: - U1 2006-01 - U2 2006-06 - U3 2006-11 - U4 2007-08 - U5 2008-05 - U6 2008-10 - U7 2009-05 - U8 2009-10 - U9 2010-09 - U10 2011-08 - U11 2013-01 -and the problem is that binaries compiled on an updated system might not run on an older one. - -You can check the libc version with -> pvs -no /usr/lib/libc.so - -> pvs -d /lib/libc.so.1 | grep SUNW - SUNW_1.23; - SUNW_1.22.7; - SUNW_1.22.6; - /.../ - SUNW_1.1; - SUNW_0.9; - SUNW_0.8; - SUNW_0.7; - -Building wget -============= - -Building wget on the latest version of Solaris 10 will make the binary -useless on older Updates of Solaris 10 as it would depend on SUNW_1.22.7. - -One option to build wget in a "compatible way" would be to build it on -Solaris 9 with "cc". The other hack is the usage of map files. - -To make it work on older systems the following hack was used (thanks to the OpenCSW community): - https://buildfarm.opencsw.org/source/xref/opencsw/csw/mgar/pkg/wget/trunk/files/map.wget - -> cat mapfile -libc.so - SUNW_1.22.5 SUNWprivate_1.1 $ADDVERS=SUNW_1.22.5; - -export LD_OPTIONS="-M $PWD/mapfile" - -And the following configuration was used to get rid of dependencies (which -are not installed on Solaris by default): - -> ./configure --enable-ipv6 --disable-iri --disable-nls \ - --disable-ntlm --disable-pcre --without-libiconv-prefix \ - --without-libintl-prefix --without-libuuid --without-libpsl \ - --without-ssl --without-zlib - -The binary was built with gcc 4.9.2. - -> pvs Master/tlpkg/installer/wget/wget.sparc-solaris - libsocket.so.1 (SUNW_1.4); - libnsl.so.1 (SUNW_1.7); - librt.so.1 (SUNW_1.2); - libc.so.1 (SUNW_1.22.5, SUNWprivate_1.1); - -> ./Master/tlpkg/installer/wget/wget.sparc-solaris --version - GNU Wget 1.16.3 built on solaris2.10. - +digest -https +ipv6 -iri +large-file -nls -ntlm +opie -psl -ssl - -Building xz -=========== - -The version 5.2.1 of xz would likewise depend on SUNW_1.22.6 by default, so -we used the same hack with a map file to make it work on slightly older -systems. - -> export LD_OPTIONS="-M $PWD/mapfile" -> ./configure --disable-nls --disable-shared - -> pvs Master/tlpkg/installer/xz/xz.sparc-solaris - librt.so.1 (SUNW_1.2); - libpthread.so.1 (SUNW_1.2); - libc.so.1 (SUNW_1.22); -> pvs Master/tlpkg/installer/xz/xzdec.sparc-solaris - libc.so.1 (SUNW_1.22); - - -In case that binaries should run on even older systems, users should report -problems and we can target even older systems by patching the mapfile. - diff --git a/Build/source/doc/README.solaris b/Build/source/doc/README.solaris new file mode 100644 index 00000000000..7aa91d76f96 --- /dev/null +++ b/Build/source/doc/README.solaris @@ -0,0 +1,103 @@ +(This file public domain. Originally written by Mojca Miklavec, 2015.) + +Compiling TeX binaries on Solaris + +(The document describes the procedures used on Sparc Solaris binaries, +but the same rules should apply to i386 and x86_64 as well.) + +Solaris 9 has been out of official support for a while and making +software compile on that platform is challenging, so it hardly make any +sense to try to support it. + +Solaris 10 reaches end of support in January 2021: + http://en.wikipedia.org/wiki/Solaris_(operating_system)#Version_history +and TeX Live binaries try to stay compatible with that OS version. + +Every once in a while a new Update is shipped: + U1 2006-01 + U2 2006-06 + U3 2006-11 + U4 2007-08 + U5 2008-05 + U6 2008-10 + U7 2009-05 + U8 2009-10 + U9 2010-09 + U10 2011-08 + U11 2013-01 +and the problem is that binaries compiled on an updated system might not +run on an older one. + +You can check the libc version with +> pvs -no /usr/lib/libc.so + +> pvs -d /lib/libc.so.1 | grep SUNW + SUNW_1.23; + SUNW_1.22.7; + SUNW_1.22.6; + /.../ + SUNW_1.1; + SUNW_0.9; + SUNW_0.8; + SUNW_0.7; + +Building wget +============= + +Building wget on the latest version of Solaris 10 will make the binary +useless on older Updates of Solaris 10 as it would depend on SUNW_1.22.7. + +One option to build wget in a "compatible way" would be to build it on +Solaris 9 with "cc". The other hack is the usage of map files. + +To make it work on older systems the following hack was used (thanks to +the OpenCSW community): + https://buildfarm.opencsw.org/source/xref/opencsw/csw/mgar/pkg/wget/trunk/files/map.wget + +> cat mapfile +libc.so - SUNW_1.22.5 SUNWprivate_1.1 $ADDVERS=SUNW_1.22.5; + +export LD_OPTIONS="-M $PWD/mapfile" + +And the following configuration was used to get rid of dependencies (which +are not installed on Solaris by default): + +> ./configure --enable-ipv6 --disable-iri --disable-nls \ + --disable-ntlm --disable-pcre --without-libiconv-prefix \ + --without-libintl-prefix --without-libuuid --without-libpsl \ + --without-ssl --without-zlib + +The binary was built with gcc 4.9.2. + +> pvs Master/tlpkg/installer/wget/wget.sparc-solaris + libsocket.so.1 (SUNW_1.4); + libnsl.so.1 (SUNW_1.7); + librt.so.1 (SUNW_1.2); + libc.so.1 (SUNW_1.22.5, SUNWprivate_1.1); + +> ./Master/tlpkg/installer/wget/wget.sparc-solaris --version + GNU Wget 1.16.3 built on solaris2.10. + +digest -https +ipv6 -iri +large-file -nls -ntlm +opie -psl -ssl + +(That list of configure options is current as of the above version of +wget; not all those dependencies are present in earlier versions.) + +Building xz +=========== + +The xz binaries would likewise depend on SUNW_1.22.6 by default, so we +used the same hack with a map file to make it work on slightly older +systems. + +> export LD_OPTIONS="-M $PWD/mapfile" +> ./configure --disable-nls --disable-shared + +> pvs Master/tlpkg/installer/xz/xz.sparc-solaris + librt.so.1 (SUNW_1.2); + libpthread.so.1 (SUNW_1.2); + libc.so.1 (SUNW_1.22); +> pvs Master/tlpkg/installer/xz/xzdec.sparc-solaris + libc.so.1 (SUNW_1.22); + +If users need binaries to run on even older systems, we can target what +is desired by changing the map file. -- cgit v1.2.3