Build notes for unimatrix
These are my notes while I was building/configuring the new
unimatrix
system. Ongoing...
- July 16, 2011
- Kernel panic during boot (network configuring) was caused by
ewa?_mode
variable in SRM. The variable was set toTwisted-pair
, but when set toAuto-negotiate
the kernel no longer panics.
Using thetulip
driver with a DE500-BA (21143-PC with PHY chip ML6694).
- August 22, 2012
- The above kernel panic still occurs, but passing the kernel option
"
ether
" may provide a solution. This option allows you to force a certain media type the ethernet driver uses. Matching the media type of the driver with the media type set in the SRM may prevent the problem (seen once so far).
If the the media type in the SRM is set toFast-FD
, then lookup the corresponding media type "number" in the driver source code and pass it to the "ether
" option. For example, thetulip
driver defines the media types in the array "medianame
" intulip_core.c
. Element "100baseFx-FDX
" is the 8th element of the array, so the "ether
" option would become:
ether=8
This sets the media type foreth0
to100baseFx-FDX
. Othereth
devices can be added to the "ether
" option, separate them by a comma.
- September 1, 2012
- Setting the debug level of the
tulip
driver (tulip_debug
intulip.h
) to something else than 4 or 6 causes the system to emit the following error message whenever the interface is fired up withifconfig
:
net eth<N>: (<I>) System Error occurred (2)
net eth<N>: (<I+1>) System Error occurred (2)
net eth<N>: (<I+2>) System Error occurred (2)
...
N
: interface number;I
: error message number
This error message originates from the fileinterrupt.c
of thetulip
driver. According to the source code this is a PCI error, specifically error code 2 means "target error."
In case the "ether
" option mentioned previously is not used, the error seems to occur in debug level 4 and 6 as well.
Seems like a timing issue.
- October 8-10, 2012
- Disks in bay 4 suffer from what appears to be bus time-outs. In case of
a RAID set this renders the LUN degraded. Problem seen during compilation
and during a
find
operation. Cause unknown. No longer using bay 4.
- October 17, 2012
- System no longer panics when configuring
eth0
device withifconfig
. This may be due to recent removal of the (unused) second DE500 and thetulip
driver does not handle multiple DE500s very well. The second DE500 was not connected (i.e. no link beat), so another possibility for the problem could be that such a condition is not handled correctly by the driver.
Needs further investigation. - syslog-ng
- Not installing because it requires
glib
which, in turn, requires thegettext
library.
- October 20, 2012
- tcl (8.5.12)
./configure --enable-man-suffix --enable-threads
- When running the test suite (
make test
), and the/tmp
directory is a separate filesystem, it should not have thenoexec
mount option set, otherwise the testload.test
will fail.
Also, a minimum/etc/hosts
file must be present else thei HTTP test will fail. A definition for the localhost and the host itself is sufficient. - berkeley db (4.2.52)
../dist/configure --prefix=/usr --sysconfdir=/etc --infodir=\${prefix}/share/info --mandir=\${prefix}/share/man --enable-cxx --enable-tcl --with-tcl=../../../local/src/tcl8.5.12/unix --enable-test
- The "
doc
" directory defaults to "${prefix}/docs
" and cannot be set, so modified the mainMakefile
.
- October 21, 2012
- Network error of September 1 is back, twice in a row. After the third reboot there were no problems.
- October 23, 2012
- sendmail (8.14.5)
- Created the file
devtools/Site/site.config.m4
for some additional settings, namely linking of thepthread
library which is needed for the Berkeley DB. - at (3.1.12)
./configure --prefix=/usr --sysconfdir=/etc --with-jobdir=/var/spool/at --with-atspool=/var/spool/at
./configure
does not set the correct "doc
" directory. It places the "doc
" directory in "${prefix}/doc
" instead of "${prefix}/share/doc
". Adjusted in the mainMakefile
.
- November 9, 2012
- nfs-utils (1.2.6)
./configure --sysconfdir=/etc --disable-gss --disable-nfsv4 --disable-nfsv41 --disable-ipv6 --disable-tirpc --without-tcp-wrappers
- Required patch to fix an undefined conditional
"
CONFIG_SQLITE3
". File./configure.ac
is patched so need to run./autogen.sh
to generate a new./configure
script. - There's a typo in the file
tests/t0001-statd-basic-mon-unmon.sh
, line 19. A comment line starts with an "*
" while it should start with a "#
". Same issue intests/test-lib.sh
.
- November 15, 2012
- Network error. Resetting and re-negotiating the NIC using the
mii-tool
seems to help, sometimes.
- November 16, 2012
- sysvinit (2.87)
- Execute
/sbin/sulogin
, nothing else - On exit of
sulogin
shell, resume normal boot procedure - "
sysinit
" action - Runlevel "
S
" - On leaving runlevel "
S
": - "
boot
" and "bootwait
" actions - Transit to specified runlevel or "
initdefault
" runlevel - Implicitely switching runlevel while in runlevel
"
S
": - Switch to specified runlevel
- "
sysinit
" action - "
boot
" and "bootwait
" actions - Transit to specified runlevel or "
initdefault
" runlevel
Bootflag | Action |
-b ,emergency |
|
-s ,single ,s ,S |
|
1 -5 ,7 -9 ,<none> |
|
init
automatically adds an /sbin/sulogin
action
if there are no entries for runlevel "S
" (internally
"-s
", "single
", and "s
" are
converted to "S
", so it applies to those as well).Likewise, for the "
emergency
" bootflag the same
/sbin/sulogin
action is defined internally. This means that
for the "emergency
" bootflag or single-user mode an
/etc/inittab
file is not required.
- November 17, 2012
- tcp-wrappers (7.6)
- Added
-DSYS_ERRLIST_DEFINED
toEXTRA_CFLAGS
variable for "linux
" target in theMakefile
. - In
scaffold.c
, line 28, changed return type ofmalloc()
prototype to "void
". - portmap (6456249)
- Used
NO_TCP_WRAPPER=1
for build.
- December 19, 2012
- net-snmp (5.7.2)
./configure --prefix=/usr --sysconfdir=/etc --enable-ipv6 --disable-deprecated --disable-embedded-perl --without-rpm --with-default-snmp-version=3 --with-transports='UDP UDPIPv6 TCP TCPIPv6 Unix' --with-security-modules=usm --with-sys-contact=root@unimatrix --with-sys-location=unknown --with-agentx-socket=\${localstatedir}/agentx/master --with-logfile=\${localstatedir}/log/snmpd.log --with-persistent-directory=\${localstatedir}/lib/net-snmp --without-mysql
- Implicitly specified various options for
./configure
as it may otherwise prompt for these options. - powerman (2.3.16)
CPPFLAGS='-I/usr/include/ncurses' ./configure --prefix=/usr --sysconfdir=/etc --with-ncurses
- Added include path for
ncurses
during./configure
(throughCPPFLAGS
). Running test suite will otherwise fail. - nut (2.6.5)
./configure --prefix=/usr --sysconfdir=/etc/nut --without-cgi --with-statepath=/var/run/nut --with-altpidpath=/var/run/nut --with-drvpath=/usr/libexec/nut --with-pidpath=/var/run/nut --with-user=ups --with-group=daemon --with-drivers=mge-shut,mge-utalk,snmp-ups,powerman-pdu
python
required when building SNMP UPS driver. A Python script is used to generatenutscan-snmp.h
in directorytools/nut-scanner/
. Install Python or workaround by building on a system with Python and copynutscan-snmp.h
to target system.
- December 21, 2012
- logrotate (3.8.2)
- Set correct directory for man pages (
MANDIR
) inMakefile
and changed definitions forlogrotate
's state file (STATEFILE
) and mail command (DEFAULT_MAIL_COMMAND
) inconfig.h
.
Also, the scripts in the test suite contain some shell constructions not available in the original Bourne shell (/bin/sh
), so have to make sure/bin/sh
points to a feature-rich shell (e.g.bash
). - run-parts (1.15)
- Added quotes and newlines around multi-line text strings in
version()
andusage()
functions.
- December 22, 2012
- openssl (1.0.1c)
- There's no GNU
./configure
script, so this was the configuration command:
./Configure --prefix=/usr --openssldir=/etc/ssl --shared linux-alpha+bwx-gcc
(add-DOPENSSL_NO_HEARTBEATS
to protect against heartbleed vulnerability)
Must also specify-fPIC
option for Alpha.
- January 2, 2013
- linux (2.6.39.4)
- Link errors in the final stage of the build: "relocation truncated
to fit: GPREL16 against `.sbss'". The error occurs in multiple
functions. Need to remove flag
-msmall-data
from "cflags-y" variable inarch/alpha/Makefile
. - Note that in
arch/alpha/Makefile
there's an assembler flag added to theKBUILD_CFLAGS
variable. This is always the flag-mev6
which may seem incorrect if you're building for EV56 or earlier systems. However, the manual of GNUas
states that in such a case the assembler will either bail out or generate a macro for an instruction. So, at compile-time you'll notice whether or not the code can be correctly translated for the target.
- January 22, 2013
- Did a
cat eerom
in the SRM and subsequently the SRM prompt ceased accepting input from the system console (MMJ).eerom
appears to be a binary file... Rebooting did not fix the problem, although the normal boot traces did appear on the system console (so output was working). Eventually did aclear_srm_nvram
and aclear_arc_nvram
and ran the ECU. Input from the system console then worked again. Next time better usehd
command (hexdump) to examine unknown files.
- January 23, 2013
- The network problem. Replacing NIC with different DE500-BA did not resolve problem. Also
swapping PCI slot does not prevent the network error from occurring. Tested with every media
type recognized by the SRM (
ewa0_mode
).
- January 25 & 26, 2013
- Network problem. Switching to
de4x5
driver, abandoning thetulip
driver.de4x5
driver hangs when configuring interface (ifconfig
). It seems thede4x5
driver does not recognize the NIC's PHY chip, which is an ML6694 from Micro Linear. Attempted to quickly add support for the ML6694 by extending the driver's PHY chip table, but that did not resolve the problem. However, in order to support the DE500-BA cards, thede4x5
driver should be updated, so this remains an open issue.
- January 27, 2013
- Network problem continuation. I've replaced the DE500-BA NIC by a
DE500-AA. The -AA uses the 21140 ethernet controller with a PHY chip from
NatSemi (DP83840A). The
de4x5
driver should support the PHY chip, but it still hangs when the interface is configured. Using thetulip
driver however does not show any problems anymore, so I'll stick with a DE500-AA and thetulip
driver for now and see whether support for the -BA model can be added to thede4x5
driver later on.
- February 6, 2013
- nut (2.6.5)
- UPS status messages echo'ed by
upsmon
don't show up on terminal sessions. This is due to limitted access rights on the terminal device files. The terminal device files are group-owned by "tty
" but it has no write access on the files unless a user grants access by using themesg
utility.
- February 13, 2013
- man-pages (3.47)
- Shell commands in
Makefile
use non-Bourne syntax so it's better to use/bin/bash
as theSHELL
interpreter.
- March 5, 2013
- NUT (2.6.5) & MGE Pulsar Evolution 500
snmp-ups
driver does not seem to support shutting down Evo500 (i.e. UPS remains on).- Setting "
battery.charge.restart
" doesn't seem to be honored (i.e. UPS does not restart whenbattery.charge.restart
is reached). - Setting "
ups.delay.start
" doesn't seem to be honored (i.e. UPS starts immediately after main power is restored). - Instant command "
shutdown.return
" does not shut off Evo500.
- March 8, 2013
- Loading OS and logging in
- Ordered system shutdown
- Configuring network interfaces
- Firewall en NAT'ing
- Scheduler service
- System log service
- Mail service
- UPS monitoring
- Internet super server service
- Secure shell service
- Backup
- Development tools
AS800 ready to take over duties of old unimatrix
!
Operational functionality:
- March 9, 2013
- unzip (6.10b)
- Set "
prefix
" and "MANDIR
" variables in appropriateMakefile
. - daemonize (1.7.4)
./configure --prefix=/usr
- Optionally add
CFLAGS
definitions toMakefile
(./configure
does not do that).
- March 23, 2013
- python (2.7.3)
CPPFLAGS='-I/usr/include/ncurses' ./configure --enable-shared
- Modified "
OPT
" variable in mainMakefile
. Removed the-fwrapv
flag and reduced optimization level to-O2
.
- March 26, 2013
- apr (1.4.6)
./configure --enable-layout=GNU --enable-nonportable-atomics --enable-threads --enable-other-child
make check
not successfull. Assertion in filetestmutexscope.c
, line 83. Furthermore, test "testprocmutex
" seems to hang indefinitely. Proceeding with installation, though.- apr-util (1.5.1)
./configure --enable-layout=GNU --with-apr=/usr/local/bin --with-crypto --with-openssl --with-dbm=db42 --with-berkeley-db=/usr --with-pgsql
- There seems to be a bug in the
./configure
script when the location ofapr-1-config
is being determined. Without manually specifying the location ofapr-1-config
(e.g. without--with-apr=
), there are twotest
commands which are always failing and causing the./configure
script to bail out.
Also,make check
is failing due to a filename mismatch between the mainMakefile
and theMakefile
of the test suite. It concerns the file "libaprutil.la
", generated by the mainMakefile
(TARGET_LIBS
). The test suite however, expects the file to be named "libaprutil1.la
" (notice the "1
"). Changed theMakefile
of the test suite by removing the "1
" in the filename (see variableLOCAL_LIBS
).
- March 27, 2013
- apr-util (1.5.1)
- Berkeley DB was not automatically detected, so explicitely
specified search path to Berkeley DB files (i.e.
--with-berkeley-db
) and which version to use (i.e.--with-dbm=db<version>
). - subversion (1.6.20)
./configure --disable-nls --with-apxs=/usr/local/bin/apxs
- Some incompatibilities in relation to Apache 2.4.4, so switched to subversion 1.7.8.
- April 2, 2013
- sendmail (8.14.5)
- Formatted man pages are installed in the man page directories instead of the troff text files. Copied the troff text files to the man page directories.
- April 13, 2013
- apache (2.4.4)
./configure --enable-layout=GNU --libexecdir=\${exec_prefix}/libexec/apache2 --mandir=\${prefix}/share/man --localstatedir=/var --enable-so --enable-dav
htpasswd
utility partly broken: it generates faulty passwords when used interactively. Resolution: use "-n
" and "-b
" option to echo the passwords to ahtpasswd
file.
- April 23, 2013
- expect (5.43)
- Not entirely compatible with tcl8.5.12 and tk8.5.12, so switched to version 5.45.
- April 25, 2013
- expect (5.45)
./configure --infodir=\${prefix}/share/info --mandir=\${prefix}/share/man
- Removed
expect
's example scripts from/usr/local/bin
as well as their man pages.
- June 3, 2013
- LPRng (3.8.35)
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-setuid --disable-kerberos --disable-nls --disable-ssl --with-initpath=/sbin/init.d/lprng.sh
Makefile
(s) require Bash shell to execute, so need to pass something likeSHELL=/bin/bash
tomake
command. TheSHELL
variable is defined in theMakefile
(s) and its value may have been quoted. This seems to cause a seqmentation fault inmake
when it executes a recipe (seen inmake
version 3.82). Either pass (i.e., overwrite) theSHELL
variable as a command line parameter or remove the quotes by editing theMakefile
(s).- ifhp (3.5.22)
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-snmp --disable-nls --with-pagesize=a4 --with-fontdir=\${prefix}/share/ifhp/fonts
./configure
fails to detect support forinet_ntop()
andinet_pton()
functions. AddedHAVE_INET_NTOP
andHAVE_INET_PTON
definitions toconfig.h
file.
Also, due to compiler flag-Werror
,src/ifhp.c
fails to compile because of a deprecatedsigblock
declaration. Removing the-Werror
flag fromsrc/Makefile
.- a2ps (4.13)
./configure --infodir=\${prefix}/share/info --mandir=\${prefix}/share/man --disable-nls
- Conflicting types for
malloc
inlib/path-concat.c
, line 34. Commented themalloc
prototype. make check
fails onbackup.tst
at point "echo 5 | ...
". The test suite should probably not be run by root for that test.- guile (2.0.9)
./configure --prefix=/usr --disable-deprecated --disable-nls --without-threads
- Long build time (esp. guile compiler parts). About 3,5hrs.
- July 13, 2013
- ast-base (2012-08-01)
libdl
was missing at some point of the compilation, so passed the library by usingLDFLAGS
variable. Also addedCCFLAGS
.
bin/package make CCFLAGS='-O2 -fPIC' LDFLAGS=-Wl,--start-group,-ldl,--end-group
Manually copied ksh93 files to system:
arch/<arch>/bin/ksh -> /usr/bin/ksh
arch/<arch>/bin/shcomp -> /usr/bin/shcomp
arch/<arch>/man/man1/sh.1 -> /usr/share/man/man1/ksh.1
*
*) RENAMED! Also setZ
to 2 in man page.
Note,ast-base
contains many other utilities besidesksh
. Among them isnmake
which allows the test suite to be run forksh
and the other utilities. Using the same command as above, except specifying the action "test
" instead of "make
". Some tests fail due to incompatible command switches with GNU commands. Note that running the test suite as root results in additional failures due to permission-related tests behaving differently when run by root, so it's better to run the test suite as a non-privileged user.
- July 17, 2013
- ast-ksh (2012-08-01)
libdl
andlibm
missing at final link, so passed those libraries by usingLDFLAGS
variable. Also addedCCFLAGS
.
bin/package make LDFLAGS=-Wl,--start-group,-ldl,-lm,--end-group
The test suite can be run by executing the test scriptshtest
in the directorysrc/cmd/ksh93/tests
. Add search path to the newly compiledksh
binary toPATH
variable and execute
SHELL=ksh ksh ./shtests
The "locale
" test is failing due to an invalid option-C
(multibyte-chars); GNUwc
does not support this option.
- August 6, 2013
- tcp_wrappers (7.6)
- When wrapper support is needed in other programs such as
nfs-utils
, don't forget to copylibwrap.a
andtcpd.h
to the system. TheMakefile
file oftcp_wrappers
has noinstall
target, so all binaries, libraries, and headers files have to be copied manually. - Prototype of
malloc()
may be wrong in filescaffold.c
. May need to change return type fromchar
tovoid
.
- August 7, 2013
- portmap (6456249)
- man page for
pmap_set.8
is installed asmap_set.8
, missing the letter "p". Fixedinstall
target inMakefile
.
- September 8, 2013
- netkit-rwho (0.17)
- In
rwhod.c
a conflicting declaration for functiongetloadavg
occurs (conflicting with/usr/include/stdlib.h
). Renamedgetloadavg
inrwhod.c
. - Adjusted the man page installation path in file
MCONFIG
.
- September 11, 2013
- bsd-finger (0.17)
- In file
finger/lprint.c
andfinger/sprint.c
referencing unknown typestruct tm
. Fixed by includingtime.h
header to both files. - Adjusted the man page installation path in file
MCONFIG
. Additionally, changed the installation path of the daemon binary (/usr/libexec
instead of/usr/sbin
). - netkit-base (0.17)
- Only installed
inetd
. Previously usedinetd
from GNUinetutils
package, however theinetd
version of that particular package does not support Sun RPC services, so switched to using the version of thenetkit
package. Note: packageopenbsd-inetd
i also supports Sun RPC services which may act as an alternative. - File
inetd/servtab.c
fails to build (lvalue error). Offending code is the macroSWAP
which has the assignmentsa
b
preceeded by a cast. This seems to be a problem for GCC, so removed the cast from the assignments. - Adjusted the man page installation path in file
MCONFIG
. - netkit-bootparamd (0.17)
- Adjusted the man page installation path in file
MCONFIG
. Also, the man page forbootparams.5
was not installed, so added a line to theMakefile
to install this file as well.
- September 18, 2013
- netkit-rwho (0.17)
- Added option to
rwhod
to enable using only specific network interfaces. This allows limitingrwhod
service to my local network. Also added a "no daemon"-option and fixed some other minor things. Patch is here.
- October 19, 2013
- cpio (2.11)
Makefile
installs man pagemt.1
despite the./configure
option--disable-mt
(possibly overwritting the man page ofmt
from thetar
package).
- March 5, 2014
- acct (6.5.5) & sysvinit (2.87)
- Accounting utilities provide a
last
program just assysvinit
does, so need to disable one or the other. I've chosen to use thelast
program of theacct
package, but I've renamed thelast
program ofsysvinit
tolastb
(which is actually a symlink tolast
). The same applies to the man page ofsysvinit
'slast
andlastb
.
- August 16, 2014
- shishi (1.0.2)
- Requires
libtasn1
which is not included in the package (contrary to what the installation documentation says). Also,libgcrypt
seems to be a requirement whereas the installation documentation says it's optional. However, the./configure
script bails out iflibgcrypt
is unavailable.libgcrypt
in turn requireslibgpg-error
. - inetutils (1.9.2)
- The file
src/rlogind.c
has a misplaced closing parenthesis on line 336; the parenthesis should be outside the#endif
directive (i.e., after line 337). If compiling with IPv6 support then this is not a problem. However, compiling without IPv6 support gives you a build error. - There's also a build error in the
man
sub-directory which occurs when the toolhelp2man
is not available. Normally this tool isn't used, but the error is caused by the above modification tosrc/rlogind.c
. The source file is a dependency of the man page andhelp2man
is used to (re)generate the man page. Since our modification tosrc/rlogind.c
is not related to the man page, we reset the timestamp ofsrc/rlogind.c
before the build is restarted. This wayhelp2man
will not be triggered.
- August 18, 2014
- krb5 (1.12.2)
- Switched from Shishi Kerberos to MIT Kerberos.
- Configuring package with
--with-size-optimizations
option causes a build error. - krb5-appl (1.0.3)
- Preferred the daemons to be located in
/usr/libexec
directory. This can be altered by modifying variableSERVER_BINDIR
in filepre.in
. SetSERVER_BINDIR
to@libexecdir@
and (re)do the build. - Due to some overlap in commands between
krb5-appl
andinetutils
I've only installed the commands in thebsd
subdirectory ofkrb5-appl
and adjusted the configuration ofinetutils
accordingly (the latter no longer builds the Berkeley "r" commands). Forkrb5-appl
just run the following command:
make -C bsd install
- October 22, 2014
- netkit-ntalk (0.17)
- In file
talkd/announce.c
referencing unknown typestruct tm
. Fixed by includingtime.h
header to file.
- November 12, 2014
- ast-base (2012-08-01)
- Build error with
libcs
when usingbin/package make
, so attempted to build manually as an alternative. A manual build of a package or component is achieved by using themamake
executable (see also the AST FAQ). I did the following:
bin/package view
bin/package use
<src>
is the root directory of the AST source tree, while<hosttype>
identifies the "hosttype" directory (e.g.,<src>/arch/linux.alpha
).
Next, change to the directory of a library or command under<hosttype>/src
(e.g.,<hosttype>src/lib/libast
). Theview
action executed previously has mirrored the directory structure of<src>/src
. Now run the following command:
mamake install
This will buildlibast.a
and installs it in<hosttype>/lib
. Repeat this for other libraries or commands; you'll have to guess the dependencies.
- Building
libpp
fails at first. Copy the executablegentab
to<hosttype>/src/lib/libpp
and then retry. - Command
pax
requires additional librarydl
. PassLDFLAGS
parameter tomamake
:
mamake install LDFLAGS=-Wl,--start-group,-ldl,--end-group
- Similar problem occurs for
ksh
, librarydl
andm
are required:
mamake install LDFLAGS=-Wl,--start-group,-ldl,-lm,--end-group
- The builtin commands (
builtin
) is missing the filecp.c
and therefore breaks the build. - Building
3d
also fails due to missing various source files.
- January 10, 2015
- minicom (2.3)
- Conflicting type errors in
src/minicom.c
: One is caused by the inclusion oftermcap.h
inport.h
.termcap.h
is included from both thetermcap
package and thencurses
package. Need to include from eithertermcap
orncurses
, not both. Second error is caused by the functiongetline()
insrc/minicom.c
itself. The function conflicts with thestdio.h
header. Renamed the minicom version tomc_getline()
.
- May 31, 2015
- php (5.4.41)
./configure --prefix=/opt/php-5.4.41 --sysconfdir=/etc/opt/php-5.4.41 --with-apxs2=/usr/local/bin/apxs --disable-cgi --with-layout=GNU --with-config-file-path=/etc/opt/php-5.4.41 --disable-ipv6 --disable-libxml --with-openssl --with-kerberos --with-pcre-regex=/usr --with-zlib --with-bz2 --enable-calendar --disable-dom --with-gmp --with-pgsql=/usr/local --disable-simplexml --with-snmp --with-libexpat-dir=/usr --disable-xmlreader --disable-xmlwriter
- Using external version of PCRE library. This is because PHP's bundled version is configured with Slack-less JIT Compiler support which isn't supported for Alpha and results in a build error. For the external PCRE library we can configure it to not support SLJIT (which is the default).
- June 28, 2015
- libmcrypt (2.5.7)
- Excluded
cast-256
algorithm as it does not work correctly on Alpha.
- May 10, 2017
- linux (2.6.39.4)
- New Symbios driver (sym53c8xx-v2) does recognize HP HVD SCSI card
(A4800A) because driver assumes WRIE feature (Write & Invalidate Enable)
is supported, but card (Rev. 4) doesn't appear to support it. Simple fix
is to add a new entry to the Symbios device table
(
sym_dev_table[]
) in source filedrivers/scsi/sym53c8xx_2/sym_hipd.c
. Copy an entry for the "875", use chip revision 4, and clear out theFE_WRIE
bit from thefeatures
member. Keep the chip revision for the each chip in ascending order. Here's a patch.
An alternative could be to fix it in thesym_prepare_setting()
function.
- Oct 19, 2017
- anacron (2.3)
-
In file
gregor.c
, function day_num()
, the
variable isleap
is declared as const
while
a value is assigned later on in the function. The const
qualifier must be removed.
- Dec 6, 2017
- suck (4.3.2)
configure
(checking for libinn.h)
Line 4079, extending the check to include the
-
When using
suck
in combination with INN, you may run into
the problem where the header files of INN cannot be found. I my case
version 2.6.1 of INN was used which has its header files in a
.../include/inn
directory; the inn
sub-directory is used throughout the INN header files. However, the
suck
package doesn't account for this inn
sub-directory, so I needed to make a small change to 2 files:
inn
sub-directory.
if test -f $path/libinn.h -o -f $path/inn/libinn.h
Line 4084, extending the check to include the inn
sub-directory.
if test ! -f $path/configdata.h -a ! -f $path/inn/configdata.h
chkhistory_db.c
Line 87 and 88, added
inn
sub-directory to
include
directive.
- Dec 8, 2017
- inn (2.6.1)
-
INND leaves zombie processes which seem to be caused by this
changeset (additional check for
PSrunning
state in
function PROCreap()
). Removed this additional check.
- April 13, 2018
- openssl (1.0.2o)
- There's no GNU
./configure
script, so this was the configuration command:
./Configure --prefix=/usr --openssldir=/etc/ssl --shared --with-krb5-dir=/usr -mcpu=ev56 linux-alpha+bwx-gcc
For the installation the following command was used:
make install MANDIR=/usr/share/man MANSUFFIX=ssl
Even though the OpenSSL release change was minor and rebuilding dependencies shouldn't be necessary,
libneon
did require a rebuild. Without the rebuild oflibneon
, accessing Subversion repositories over https bailed out with an "SSL library mismatch."
- August 27, 2020
- php (5.5.38)
-
Compiling
ext/phar/phar.phar
results in a segmentation fault. The problem is not caused by the PHAR extension, but by the PHP CLI binary that was built (see also bug report). The fix is to configure PHP withCFLAGS=-fno-strict-aliasing
. -
Unaligned access on Alpha in extension "fileinfo":
ext/fileinfo/libmagic/apprentice.c:2665
ext/fileinfo/libmagic/apprentice.c:2676
ext/fileinfo/libmagic/apprentice.c:2708
ext/fileinfo/libmagic/softmagic.c:144
ext/fileinfo/libmagic/softmagic.c:145
No fix.php <php-srcdir>/ext/fileinfo/tests/<phpt-file>
- xapian-bindings (1.3.4)
-
When building with PHP binding, the following error occurred when
php/php5/xapian_wrap.cc
was being compiled:
php5/xapian_wrap.cc: In member function 'Xapian::Query XapianSWIGQueryItor::operator*() const':
/opt/php-5.5/include/php/Zend/../TSRM/TSRM.h:167:18: error: 'tsrm_ls' was not declared in this scope
#define TSRMLS_C tsrm_ls
The problem seems to be a missing TSRM macro call which defines the
variable tsrm_ls
. In the offending function
operator*()
(line 1527), add the following statement:
TSRMLS_FETCH();
Add the statement before the call to SWIG_ConvertPtr()
.
- October 23, 2020
- bsd-games (2.6)
- Redefinition of function
getline()
in several files:boggle/boggle/mach.c
boggle/boggle/extern.h
boggle/boggle/bog.c
cribbage/cribbage.h
cribbage/io.c
cribbage/crib.c
gomoku/gomoku.h
gomoku/bdisp.c
gomoku/main.c
getline()
function toxgetline()
. - Missing header file in
pom/pom.c
causing "incomplete element type" errors related toGMT
variable inmain()
. Add include directive fortime.h
header to this file. - Redefinition of
abs()
insail/extern.h
(may already be present in headerstdlib.h
). Simply commented out the definition insail/extern.h
. - Error "incomplete element type" in
trek/trek.h
, external referencesSkitab
andLentab
(line 218 and 219). Moved these 2 lines totrek/getpar.h
.
- October 25, 2020
- rogue (3.5)
- Applied the included patches
rogue.Patch1
androgue.Patch2
, but kept the originalmachdep.c
file (see next item). Forrogue.Patch1
the hunk of theMakefile
fails, but the changes can be manually copied into theMakefile
. - Build errors due to unknown type
timezone
in functionmd_gct()
of filemachdep.c
. Timezone argument forgettimeofday()
is not needed in this function and can be set to NULL. Consequently, local variabletzp
can be removed. Also included headertime.h
inmachdep.c
. - In file
score.c
changed the pathname of the score file (variablescore_file
) to/var/games/rogue.scores
. Manually installed the included score filerogue.scores
in/var/games
.
- November 24, 2020
- dungeon (games)
-
The
Makefile
target clean
removes the file
dtextc.dat
. However, this file is re-created from a
number of uuencoded files which are not present in the tarball.
So, you may need to extract dtextc.dat
from the tarball
on the next build. Also, the man page is not installed by the
Makefile
, so you need to do this by hand.
- December 9, 2020
- mysql (5.0.96)
-
Unaligned trap in
mysqld
, filemysys/my_lib.c
, line 154 (while ( READDIR ...)
). The alignment error appears to be located in thedirent_tmp
array. This array is passed toREADDIR()
which is a macro callingreaddir_r()
. Thedirent_tmp
variable is a character array which is later cast to astruct dirent*
and finally passed to theREADDIR()
macro. I believe the alignment ofdirent_tmp
is at fault. A small hack to fix: Change the datatype ofdirent_tmp
from character array to an array of 2struct dirent
's. - MySQL configuration uses a utility called
getconf
to detect large file support. This utility did not detect large file support on theunimatrix
host. As a fix, I've added the definition-D_FILE_OFFSET_BITS=64
to theCFLAGS
and theCXXFLAGS
during configuration.
- April 25, 2021
- apr (1.7.0)
./configure --enable-layout=GNU --enable-nonportable-atomics --enable-threads --enable-other-child apr_cv_mutex_robust_shared=no
- Set
apr_cv_mutex_robust_shared
tono
to prevent hanging mutex. This, in turn, affects Apache httpd when using the Event MPM server (server threads stuck in "Reading request" state or server not accepting new connections). Adding theapr_cv_mutex_robust_shared
variable probably also resolves the failing test "testprocmutex
" ofapr
1.6.4 which was used in the past.
A newer kernel or glibc version may resolve the mutex problem in which case setting theapr_cv_mutex_robust_shared
variable is no longer necessary.