Build notes for ds10
- October 19, 2012
- gcc (4.6.1), a normal
make
command results in a link failure:
Could not find the cause of it, but can work around it by first building the compiler "gcc", and next the remaining stuff (support libraries etc):libbackend.a(tree-vect-data-refs.o): In function `get_insns': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:71: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(tree-vect-data-refs.o): In function `set_first_insn': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:80: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(tree-vect-data-refs.o): In function `get_last_insn': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:88: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(tree-vect-data-refs.o): In function `set_last_insn': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:97: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(tree-vect-data-refs.o): In function `get_max_uid': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:105: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(ddg.o): In function `get_insns': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:71: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(ddg.o): In function `set_first_insn': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:80: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(ddg.o): In function `get_last_insn': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:88: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(ddg.o): In function `set_last_insn': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:97: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o) libbackend.a(ddg.o): In function `get_max_uid': /usr/src/gcc-4.6.1_build/gcc/../../gcc-4.6.1/gcc/emit-rtl.h:105: relocation truncated to fit: GPREL16 against symbol `x_rtl' defined in .bss section in libbackend.a(emit-rtl.o)
This however results in a problem with the "clean" target of$ make all-gcc $ make
make
. VariousMakefile
's refer to the binary "xgcc" (located somewhere in the build tree) and this binary is apparently removed at an early stage. When executing the "clean" target manually theMakefile
s trip over the missing "xgcc". One can either remove the entire build tree or clean every directory separately and point to an existing "gcc" binary, like this:$ for dir in `find . -type f -name Makefile -printf '%h\n'`; do make -C $dir CC=gcc clean; done
— UPDATE (September 2, 2020) —
Better solution is to create a build config in
<gcc-srcdir>/config/
and use that file as an additional
config during the configuration of GCC. The
build config file contains linker flags which will prevent the problem
above from occurring.
Create the build config file <gcc-srcdir>/config/alpha-linux.mk
with the following contents:
Now, configuring GCC and use the option
LDFLAGS = -Wl,--no-relax
BOOT_LDFLAGS = -Wl,--no-relax
--with-build-config
to
choose the build configuration(s):
Build config
./configure [options]... --with-build-config='bootstrap-debug alpha-linux'
bootstrap-debug
is the default config when
--with-build-config
is omitted, so you need to specify the
default config in addition to the alpha-linux
config.
Note that a make distclean
"forgets" to remove the file
fixincludes/config.cache
. Remove this file before doing a
new build.
- October 20, 2012
- jpeg-6b, applied some of the optimization hints described in
install.doc
:
jconfig.h
: add#define JDCT_DEFAULT JDCT_FLOAT
(on Alpha floats are faster than ints)jmorecfg.h
: changed typedef ofJCOEF
from "short" to "int"
(on Alpha 32 bits ops (i.e. int, long) are faster than 8 or 16 bits ops)
Need to replaceconfig.sub
andconfig.guess
by a newer version since they do not recognize ev67 (only applicable when building libraries).
--infodir
and--mandir
options not honoured when running./configure
script, so modified mainMakefile
.
- October 23, 2012
- pixman (0.26.2), optimizing with
-O2
or higher causes the test suite to fail onlt-stress-test
andlt-blitters-test
.
- October 24, 2012
- mozilla
all:Makefile
xpcom/reflect/xptcall/src/md/unix/Makefile
does not match Alpha architecture correctly. Lookup Alpha definition section in the file and add a "%"-sign to the wordLinuxalpha
of thefilter
command.Makefile
ff-opt/xpcom/reflect/xptcall/src/md/unix/Makefile
may suffer from the exact same problem.
1.9.2:- File
xpcom/glue/nsEnumeratorUtils.cpp
has an uninitializedconst
which fails compiling. Copied build command for this file, ran it manually, and added the-fpermissive
flag to the build command to allow uninitialized constants. Alternatively, a "target-specific variable" could be added toxpcom/glue/Makefile
:
The following files suffer from the same issue:nsEnumeratorUtils.o: COMPILE_CXXFLAGS += -fpermissive
xpcom/glue/standalone/nsEnumeratorUtils.cpp xpcom/base/nsDebugImpl.cpp xpcom/base/nsTraceRefcntImpl.cpp xpcom/io/nsUnicharInputStream.cpp xpcom/build/nsEnumeratorUtils.cpp storage/src/mozStorageStatement.cpp layout/style/nsCSSRuleProcessor.cpp toolkit/components/places/SQLFunctions.cpp toolkit/xre/nsAppRunner.cpp embedding/browser/gtk/src/EmbedPrivate.cpp
--disable-ipc
No support for atomic operations on Alpha inipc/chromium/base/src/atomicops.h
.--enable-ogg
or--enable-wave
DefinesMOZ_MEDIA
which prevents an "undefined reference" incontent/base/src/nsContentSink.cpp
.--disable-tests
NoRETURN_INSTR
definition for Alpha inlayout/base/tests/TestPoisonArea.cpp
.--enable-zipwriter
Prevents a build error due to missingnsIZipWriter.h
.- Including (system) header
stddef.h
in filegfx/ots/src/os2.cc
:
The header file provides the macro#include <stddef.h>
offsetof
which is needed byos2.cc
. Occurence of the problem depends on the GCC version being used (4.6.1 in this case).
6.0.1; 10.0.1; 20.0.1:- In
ipc/chromium/src/build/build_config.h
added Alpha support:#elif defined(__alpha__) #define ARCH_CPU_ALPHA 1 #define ARCH_CPU_64_BITS 1
- In
gfx/ycbcr/chromium_types.h
added Alpha support:#elif defined(__alpha__) #define ARCH_CPU_ALPHA_FAMILY 1 #define ARCH_CPU_ALPHA 1 #define ARCH_CPU_64_BITS 1
- In
xpcom/glue/nsID.h
,struct nsID
, set alignment for memberm0
appropriate for your machine. E.g. for a DS10 (EV67) the preferred alignment is 8 bytes:
Without proper alignment you get tons of unalignment traps from the kernel.PRUint32 m0 __attribute__((aligned (8)));
10.0.1:- Applied patches.
- Removed
static
qualifiers inwidgets/src/gtk2/gtk2compat.h
since it's conflicting with the GTK header files. - In
js/src/yarr/BumpPointerAllocator.h
, after the opening of the "WTF" namespace, added support for Alpha. The size corresponds to the machine's page size (refer to/proc/cpuinfo
).#elif WTF_CPU_ALPHA #define MINIMUM_BUMP_POOL_SIZE 0x2000
20.0.1:- Applied patch to allow using "system" Cairo instead of Mozilla native.
- Removed
static
qualifiers inwidget/gtk2/compat/gdk/gdkwindow.h
since it's conflicting with the GTK header files. In addition, I've commented out the function defintions ingdkwindow.h
as this header file is (indirectly) included in bothwidget/gtk2/gtk2drawing.c
andwidget/gtk2/mozcontainer.c
. When thelibxul.so
library is created, these two files cause duplicate function definitions and linkinglibxul.so
fails (using GTK 2.24.13). - Speaking of
libxul.so
, libraries of Ogg, Vorbis, Theroa are not included during the link oflibxul.so
causing undefined references. Added these libraries to theMakefile
oflibxul.so
in . Add the following to variableEXTRA_DSO_LDOPTS
for theMOZ_ALSA
conditional:
Furthermore a problem occurs when linking with the GCC 4.6 series ("relocation truncated to fit" error). TheEXTRA_DSO_LDOPTS += -logg -lvorbis -ltheora $(MOZ_ALSA_LIBS)
--no-relax
flag needs to be passed to the linker, so in theMakefile.in
file oflibxul.so
I've added to the variableEXTRA_DSO_LDOPTS
the linker option-Wl,--no-relax
. Alternatively, this could be added to the regularMakefile
oflibxul.so
instead. - In
js/src/yarr/BumpPointerAllocator.h
, after the opening of the "WTF" namespace, added support for Alpha. The size corresponds to the machine's page size (refer to/proc/cpuinfo
).#elif WTF_CPU_ALPHA #define MINIMUM_BUMP_POOL_SIZE 0x2000
Also, there's a runtime check of the page size going wrong when jemalloc is
being used (which is the default). The check assumes a page size of 4k
while the page size on Alpha is 8k. Open file
memory/mozjemalloc/jemalloc.c
around line 1115 and change the "define" forpagesize_2pow
to 13 instead of 12 (or wrap it in a conditional directive). If jemalloc is disabled (--disable-jemalloc
), then the page size seems to be defined injs/public/HeapAPI.h
, around line 25. - Xorg (X11R7.7)
Used build order:
X printing support is changed or missing, so copiedintltool (freedesktop.org) util/makedepend util/util-macros proto/glproto proto/dri2proto (freedesktop.org) proto/xf86driproto proto/bigreqsproto proto/compositeproto proto/dmxproto proto/fixesproto proto/fontsproto proto/inputproto proto/kbproto proto/randrproto proto/recordproto proto/renderproto proto/resourceproto proto/scrnsaverproto proto/videoproto proto/xcmiscproto proto/xextproto proto/xf86bigfontproto proto/xf86dgaproto proto/xf86vidmodeproto proto/xineramaproto proto/xproto xcb/xcb-proto xcb/libpthread-stubs xcb/libxcb lib/libdrm (freedesktop.org) lib/Mesa (freedesktop.org) lib/libFS lib/libICE lib/libSM lib/libX11 lib/libXScrnSaver lib/libXau lib/libXaw lib/libXcomposite lib/libXcursor lib/libXdamage lib/libXdmcp lib/libXext lib/libXfixes lib/libXfont lib/libXi lib/libXinerama lib/libXmu lib/libXpm lib/libXrandr lib/libXrender lib/libXres lib/libXt lib/libXtst lib/libXv lib/libXvMC lib/libXxf86dga lib/libXxf86vm lib/libdmx lib/libfontenc lib/libpciaccess lib/libxkbfile lib/xtrans app/* data/* font/font-util font/* xserver/xorg-server driver/* doc/xorg-docs
libXp
,libXprintUtil
,libXprintAppUtil
, andprintproto
from the 7.3 release.
Theunsupported
directory requires tools likeimake
which is no longer part of the 7.7 release, so copied the latest version ofimake
,gccmakedep
,lndir
, andxorg-cf-files
from the 7.3 release.
- October 29, 2012
- glib (2.32.4), old header file
/usr/include/glib-2.0/gio/gperiodic.h
may be left after installing. This header file causes a link error forgobject-introspection
(1.31.22) (undefined referenceg_periodic_get_type
).
- November 16, 2012
- lynx (2.8.7), when configuring with SSL support
(
--with-ssl
option), linking the final executable may be missing thedl
library. The./configure
script can use thepkg-config
utility to determine compile and link flags for SSL; the link flags may be missing thedl
library resulting in undefined references whenlynx
is being linked.
Specifying--with-ssl=<path>
where<path>
is/usr
for instance, triggers additional tests in the./configure
script in which case thedl
library will be used during the final link oflynx
.
- November 21, 2012
- libgsf (1.14.4), the files
gsf/gsf-infile-stdio.c
,gsf/gsf-output-csv.c
, andgsf/gsf-output-iconv.c
are directly including Glib-specific header files which doesn't seem to be allowed by Glib. It seems you only have to includeglib.h
. - abiword (2.8.6), files
goffice-bits/goffice/app/goffice-app.h
andsrc/af/util/xp/ut_go_file.h
include Glib-specific headers. Must useglib.h
header file instead.
- November 27, 2012
- abiword (2.8.6), encountered link error. In
src/Makefile
removed the flag-avoid-version
from theLDFLAGS
definitions since this flag is not recognized by the compiler or the linker. Other linker flags used in this makefile are--no-undefined
and-export-dynamic
. They are passed to the compiler, g++, but since they are linker flags they should be passed told
. Therefore, these options are prefixed with the-Wl
flag:
and-Wl,--no-undefined
Note the double dash in front of the-Wl,--export-dynamic
--export-dynamic
flag.
- December 10, 2012
- lcms (2-2.4), must compile with IEEE floating point compatibility else
the test suite breaks with a floating point exception. So, added
-mieee
toCFLAGS
.
- January 3, 2013
- firefox (6.0.1), compiling Firefox with binutils 2.21 requires the
option
--no-relax
to be added to the linker flags. The flag can be added to the variableOS_LDFLAGS
in the fileconfig/autoconf.mk
(located in directory where Firefox is being built). E.g:
Previous versions of binutils did not need theOS_LDFLAGS = -lpthread -Wl,--no-relax
--no-relax
option, because they apparently use it by default.
- January 6, 2013
- libtool. When a library is installed in a new location,
libtool
archives (i.e.*.la
files) depending on the library may contain the path to the old library. For example, if X11 libraries were once installed in/usr/lib
and now you want to have a separate tree for all X11 stuff, say/usr/X11
, then archives likelibcairo*.la
andlibgtk*.la
still expect certain X11 libraries in/usr/lib
. So, the*.la
files are not automatically kept in sync.
In case a library has been relocated without the depending libraries know about it,libtool
emits errors like "no such file or directory" and "not a valid libtool archive".
- January 8, 2013
- pixman (0.26.2), compile flag
-O3
and-funroll-loops
seem a bit too much, assembler bails out at some point. - libgsf (1.14.4), when running the test suite, a duplicate definition of
the function
clone
may cause the test suite to prematurely fail. An unrelatedclone
function is also defined in one of the system header files, so this seems to be an unfortunate choice of names. There are 4 files inlibgsf
using aclone
function:
In each file I've renamed thetests/test-cp-msole.c tests/test-cp-zip.c tests/test-dump-msole.c tests/test-restore-msole.c
clone
function togsf_clone
. - python (2.5.2), may need to add compiler
flag
-mieee
toCFLAGS
variable. Without this flag the floating point test will fail.
- January 14, 2013
- Xaw3d (1.5E), in order to build the (separate) Athena widget library
(Xaw3d) I've followed the instructions to build the library without an X11
source tree. This will create a proper
Makefile
to build the library.
- January 15, 2013
- babl (0.1.10), due to many unaligned traps in code generated by GCC,
I've used Compaq Alpha compiler
ccc
to buildbabl
. Simply passedCC=ccc
when running the./configure
script. - ccc, in header file
/usr/include/bits/pthreadtypes.h
there may be a member variable in use by the name of__align
. This happens to be a reserved keyword forccc
, so when usingccc
the member variable must be renamed.
- January 17, 2013
- NSS/NSPR (3.14.1), used combined tarball of NSS and NSPR to build
correctly (or must move NSPR tree in NSS tree). There's no
./configure
script to build NSS; the build starts by runningmake
in the directory<nss-release>/mozilla/security/nss
. However, NSS expects NSPR to be located in the directory<nss-release>/mozilla/nsprpub
and it will attempt to automatically build NSPR. If you want a specific configuration for NSPR then you must build NSPR separately in a "platform" sub-directory. The name of the "platform" directory can be determined by using the NSSMakefile
:
Return to the NSS directory and build NSS:# cd <nss-release>/mozilla/security/nss # make BUILD_OPT=1 USE_64=1 platform Linux2.6_alpha_glibc_PTH_DBG.OBJ # cd <nss-release>/mozilla/nsprpu # mkdir Linux2.6_alpha_glibc_PTH_DBG.OBJ # cd Linux2.6_alpha_glibc_PTH_DBG.OBJ # ../configure <option-list>
Note that build options influence the "platform" string, so ensure the "platform" target and the "nss_build_all" use the same build options. Also applies to "install" target.make BUILD_OPT=1 USE_64=1 nss_build_all
- January 18, 2013
- ccc, installation addendum
- In
/usr/lib/compaq/<ccc>/alpha-linux/bin
, the scriptprobe_linux.sh
does not run completely correct. Modified the following:probe_gcc()
, first line, determining GCCspecs
file. Original line commented and replaced by:specs=`gcc -print-search-dirs 2>&1 | grep install: | sed -e 's|install: ||g'`/specs
probe_taso()
,cc
commands for linkinglibtaso$$.so
andlibtaso2$$.so
: Must add-fPIC
flag else linker will have relocation errors.probe_demangle()
,cc
command withdemangle
flag: Demangling stylecompaq
is no longer recognized, so usedhp
instead.probe_version()
, the firstelif
statement is missing a "$" operator in front of variableDIST_FILES
.
- In
/usr/lib/compaq/<ccc>/alpha-linux/bin
, scriptcreate-comp-config.sh
runsgcc
with the-V <version>
option. Recent versions of igcc
no longer recognize this option, so may need to remove the-V
option and its argument ifcreate-comp-config.sh
fails to run. - GCC
specs
file is needed byprobe_linux.sh
, but recent GCC versions use a builtin version of that file. Createspecs
file in GCC's install directory:gcc -dumpspecs > /usr/lib/gcc/<arch-os_name>/<gcc-version>/specs
- In
ccc
'sbin
directory, adjust symlinks forcrtbegin.o
andcrtend.o
. Link them to thecrtbegin.o
andcrtend.o
of GCC. - In
/usr/bin
, adjust symlink ofccc
file. - Copied the DEC specific header files
float.h
andlimits.h
to the compiler's privateinclude
directory (i.e./usr/lib/compaq/<ccc>/alpha-linux/include
). - Encountered some build errors in
/usr/include/bits/stdio-ldbl.h
which were due to__LDBL_REDIR1_DECL
being undefined. This defininion is defined in/ust/include/sys/cdefs.h
. "Fixed" the problem by adding a dummy definition for__LDBL_REDIR1_DECL
. - In
ccc
'sbin
directory, added the following defines tocomp.config
(at end of line):-D__LONG_DOUBLE_128__ -D_STDC_ -D_GNU_SOURCE
- Post-installation step (performed by
rpm
command): creating shared library oflibcpml
.
(change Alpha EV variant as needed, ev5 or ev6)$ ld -shared -o libcpml_ev5.so -soname libcpml.so -whole-archive \ libcpml_ev5.a -no-whole-archive -lots
- In
- gegl (0.2.0), file
operations/common/matting-global.c
has amin
andmax
definition.ccc
seems to choke on the construction, so I've replaced it with a simpler construction forccc
.
Also, in the filegegl/opencl/cl_platform.h
the macroCL_ALIGNED
is not defined forccc
(i.e.__DECC
). The keyword__align
could be used in this case, however,CL_ALIGNED
is used in numerousunion
types andccc
does not accept the__align
keyword there. Therefore, I've turned theCL_ALIGNED
macro into a dummy, empty definition when usingccc
.
During./configure
some tests are performed to check whether certain warning flags (-W
) are supported by the compiler (variableDESIRED_CFLAGS
in./configure
script).ccc
supports some of these flags and ignores the unknown ones. However, whenccc
calls the linkerld
, it seems to pass the unknown flags to the linker which causes an error. In order to prevent this I've adjusted theDESIRED_CFLAGS
variable to only list the flags that are actually supported byccc
.
Next problem, when creating a shared object withccc
, object symbols may get stripped away despite the sequence
The libraries specified by-Wl,--whole-archive <libs>... -Wl,--no-whole-archive
<libs>...
are meant for the linker but it seemsccc
uses<libs>...
for itself and leaves an empty "-Wl,--whole-archive
" / "-Wl,--no-whole-archive
" sequence. A simple workaround is to prefix each filename in<libs>...
with-Wl
, as such options are passed to the linker. (use-v
flag to verify the commandsccc
runs)
Note on the__align
keyword.ccc
expects the alignment as a power of 2 which is different to how GCC expects the alignment (which is the number of bytes). When using some alignment macro, the following can be used to convert a GCC alignment specification toccc
alignment./* * Translate GCC alignment (in bytes) * to CCC (DECC) alignment (in 2^x). */ #if defined( __DECC ) #define DECC_ALIGN_BYTE_1 0 #define DECC_ALIGN_BYTE_2 1 #define DECC_ALIGN_BYTE_4 2 #define DECC_ALIGN_BYTE_8 3 #define DECC_ALIGN_BYTE_16 4 #if defined( __alpha__ ) #define DECC_ALIGN_BYTE_32 5 #define DECC_ALIGN_BYTE_64 6 #define DECC_ALIGN_BYTE_128 7 #define DECC_ALIGN_BYTE_256 8 #endif /* __alpha__ */ #define DECC_ALIGN_BYTE_512 9 #if defined( __alpha__ ) #define DECC_ALIGN_BYTE_1024 10 #define DECC_ALIGN_BYTE_2048 11 #define DECC_ALIGN_BYTE_4096 12 #define DECC_ALIGN_BYTE_8192 13 #define DECC_ALIGN_BYTE_16384 14 #define DECC_ALIGN_BYTE_32768 15 #define DECC_ALIGN_BYTE_65536 16 #endif /* __alpha__ */ #define ALIGN(B) __align(DECC_ALIGN_BYTE_##B) #endif /* __DECC */ unsigned int ALIGN(2) i; /* 2-byte alignment */
- February 11, 2013
- sysbench (0.4.12), build error with sysbench's private
libtool
. Replaced the privatelibtool
with thelibtool
from/usr/bin
after./configure
has run.
- March 26, 2013
- nmap (6.25),
nmap
bugs out with a floating point exception, probably due to Alpha not being IEEE-compliant. Adding-mieee
flag toCCOPT
variable in the mainMakefile
seems sufficient to resolve the problem.
- June 6, 2013
- guile (2.0.9), long build especially when
guile
compiler is busy. Total build time was about 2 hours.
- September 14, 2013
- wterm (6.2.9),
./configure
script fails to determineutmp
path correctly. Search forac_cv_header_utmpx_h
. There are two cases handling theutmp
path (if
/else
clause). Both are identical expect for the number ofutmp
paths they check. So, to determine theutmp
path, either make theif
andelse
clause test the sameutmp
paths, or turn theelse
clause into a separateif
clause. Also, need to setuid or setgid thewterm
binary to an appropriate user or group such that theutmp
file can be updated.
- October 16, 2013
- ncompress (4.2.4), when using the
./build
script to generate aMakefile
(genmake
option), run./build
with a shell that does not support the modern command substitution syntax (i.e.$(some_cmd)
). This kind of command substitution is used inside a HERE-document and causes some variables in the resultingMakefile
to get "eliminated." TheMakefile
will fail to run. Also, compiler options need to be passed as "Special options..." (option 7), but only when aMakefile
is to be generated. When using optionc
(Compile compress), the options set by "Compiler options" (option 5) will be used correctly. In either case though, I've added the compiler option-DNOFUNCDEF=1
to prevent "incompatible declaration" errors.
Manually installedcompress
,uncompress
(symlink) and their man pages.
- May 1, 2014
- lshw (B.02.17), added optimization level 2. Removed
pci.ids
from variableDATAFILES
because it's installed bypciutils
package. Also changed the "install" target to install theDATAFILES
in/usr/share
.
- February 25, 2015
- xterm (223), mismatching include-guard name. File
xutf8.h
may trigger a preprocessor error due to an incorrect name of the_XLIB_H_
conditional. The related header file,X11/Xlib.h
, probably uses_X11_XLIB_H_
as the name of its include-guard. - rstart (1.0.5), error in
./configure
script. Line 10435 defines the variableconfigdir
:
The variable value contains a command substitution whereas a parameter substitution is intendent. Remove parenthesis or replace them with braces.configdir=$(sysconfdir)/X11/rstart
- March 12, 2015
- abiword (2.8.6), the main edit screen shows a very small cursor and
text is misaligned. This is due to some missing TrueType fonts. Installing
the font package
liberation-ttf
fixed the problem.
- March 16, 2015
- xpaint (2.7.6), mismatching include-guard name. In file
image.h
the structimageprocessinfo
is enclosed by the preprocessor directive#ifdef _XLIB_H_
. This may trigger a build error due to an incorrect name of the_XLIB_H_
conditional. The related header file,X11/Xlib.h
, probably uses_X11_XLIB_H_
as the name of its include-guard, so need to adjustimage.h
. - xv (3.10a), disabled PNG support because
libpng15.patch
failed. Also note that in theMakefile
, the variableLIBDIR
specifies the location of the documentation.
- September 16, 2015
- nagios-plugins (1.4.9), undefined identifier
NAMEDATALEN
inplugins/check_pgsql.c:72
(PostgreSQL plugin). Using Postgres version 9.2.3 and apparently the mentioned define moved to a different file. Fixed by adding the following line toplugins/check_pgsql.c
:
#include <pg_config_manual.h>
- September 17, 2015
- nrpe (2.8.1), there's a typo in the
./configure
script related to the option--with-nagios-group
. Setting a group with this option is not honoured due to a typo in a variable name. Edit the./configure
script at line 6157. Rename variablenagios_grp
tonagios_group
.
- November 15, 2015
- lame (3.99.5), build system detects the presence of
ccc
and uses it to compile source files but usesgcc
when linking a shared library. Some command options specific toccc
are passed togcc
which causes a link failure. As a workaround I've disabled building shared libraries (--disable-shared
).
- February 17, 2016
- id3lib (3.8.3),
./configure
script checks for incorrect header fileiomanip.h
; this file is callediomanip
. libc functionsmemmove()
andmemcpy()
not found in the filesinclude/id3/id3lib_strings.h
andinclude/id3/writers.h
. Include header filestring.h
in these files. In fileexamples/test_io.cpp
thestd
namespace is missing forcin
,hex
, anddec
.
- August 20, 2016
- WindowMaker (0.95.7), if X11 libraries have been installed in a
non-standard location then the
./configure
script may fail the tests for XShape, XShm, Xmu, and RandR. The tests do not take into account the search paths for X11 libraries/includes specified by the--x-includes
and--x-libraries
flags. Use this patch to fix. In addition, a non-standard X11 location causes the linker to fail onlibWMaker.so.1
due to being unable to find libX11. Linking can continue without this library. In filewmlib/Makefile
, locate the definition oflibWMaker_la_LIBADD
(line 374) and remove the X11 library (-lX11
). - gimp (2.8.2), SIGFPE problems. Added
-mieee
toCFLAGS
during package configuration.
- December 29, 2016
- console-tools (0.2.3), updated
config.guess
andconfig.sub
since they did not recognize ev67 CPU. - In
kbdtools/showkey.c
, line 269, added abreak
keyword for thedefault
clause of theswitch
statement. - In
contrib/codepage.c
, line 230, fixed quoting.
- January 31, 2017
- amanda (2.5.1p3), requires static Kerberos libraries, but this
caused a build error with
libcom_err.a
. In the./configure
script the list of (static) Kerberos libraries is set. This can be changed to a list of-l
options of the correct Kerberos libraries. For Kerberos 5, search the./configure
script for the variable assignments ofK5CRYPTO
,K5SUPPORT
, andKRB5LIBS
, and convert to a-l
option.
Note: version 2.5.1p3 has connection problems with Kerberos; moving to version 2.5.2p1 seem to resolve these problems.