Build notes for snaak
- October 21, 2017
- zziplib (0.13.62), syntax error in file
docs/Makedocs.py(line 40) when interpreted by Python 3.4.5. Offending code line:
Resolved by using Python 2.7. Set theprint t_fileheader.get_filename(), t_fileheader.src_mainheader()PYTHONvariable accordingly when running the./configurescript.
- October 29, 2017
- texlive (20170524), building custom binaries for PowerPC64.
Thetexlive-*-source.tar.xzpackage is needed to build the custom binaries which will be used by the TeXLive installer later on. The TeXLive installer (install-tl) copies the custom binaries in abin/custom/directory. However, many of the binaries are symlinks to scripts in thetexmf-disttree. To prevent these symlinks from breaking, it's important to get the installation paths right when building the custom binaries.
For my TeXLive installation I use/opt/TeXas the base installation directory while the custom binaries are installed under/opt/tl-powerpc64-bin. When configuring the custom build (by means of the./configurescript) the following installation paths need to be set:-
--prefix=/opt/tl-powerpc64-bin -
--bindir=/opt/tl-powerpc64-bin/bin/custom -
--datarootdir=/opt/tl-powerpc64-bin
Note that the
datarootdirdoes not contain thesharesub-directory. This causes thetexmf-disttree (and some other directories) to be put in the base installation directory; this is also where the TeXLive installer puts thetexmf-disttree.After the custom build has been done and the files have been installed in their final place, you could add a symlink for
latex:# cd <custom-build-dir>/bin/custom # ln -s pdftex latexNow run the TeXLive installer and specify the location of your custom binaries. For example:
# ./install-tl -custom-bin=/opt/tl-powerpc64-bin/bin/custom -
- November 19, 2017
- berkeley db (4.2.52), linking errors (multiple definition of
_initand__dso_handle). Updated to version 4.3.29. - apr-util (1.5.1), when specifying the source path to the
apr-iconvpackage, the installedapu-1-configscript may refer to non-existing paths ofapr-iconv. This may lead to a build error for theserfpackage.
Specifically, theLIBSandINCLUDESsetting ofapu-1-configmay need to be editted to point to the corrects paths.
- December 13, 2017
- qt (5.4.2), platform was not correctly detected by the
./configurescript, so used-platformoption to force platform (linux-g++-64instead oflinux-g++). The platform option refers to a sub-directory under./qtbase/mkspecs/.For OpenGL support I needed to correct the search paths for the OpenGL header files and libraries as they were installed in a different location. Adjust config file
./qtbase/mkspecs/linux-g++-64/qmake.confas follows.Update variables:
QMAKE_LIBDIR_X11QMAKE_LIBDIR_OPENGLAdd variable:
QMAKE_INCDIR_OPENGLNote that a full build on
snaaktakes about 8 hours.
- December 14, 2017
- gdb (7.5, 7.7, 7.9.1), build error in GDB server component:
Likely the header filegdb/gdbserver/proc-service.c:138 conflicting types for 'ps_lgetfpregs' gdb/gdbserver/proc-service.c:148 conflicting types for 'ps_lsetfpregs'/usr/include/proc_service.his used, which has different types for the function arguments. Simply match the offending function definitions inproc-service.cto those in/usr/include/proc_service.h(correcting only the third argument is sufficient). Alternatively, you could also try disabling the GDB server component (see./gdb/configure).There may be a small problem with one of the Perl support scripts,
etc/texi2pod.pl, which causes the man-page generation to fail. On line 314 of this script, the opening and closing brace need to be escaped:$column =~ s/^\@strong\{(.*)\}$/$1/;
- December 27, 2017
- hfsutils (3.2.6), the build has a number of issues:
- X11 paths for headers and libraries ignored by
./configure - Usage of deprecated
resultmember ofTcl_Interpstructure. - Test cases fail.
I resolved the first 2 issues as follows:
- Edit the main
Makefileand add the appropriate path for the X11 header files to theINCLUDESvariable. For the X11 libraries, add the path to theTKLIBSvariable. - The
resultstruct member originates from the main header file of TCL (tcl.h), and is hidden by default. It can be exposed by setting the macroUSE_INTERP_RESULT. Easiest is to add this macro to theconfig.hfile of the hfsutils package.
No resolution for the third issue. The test aborts due to an error in the
hfsshcommand (free(): invalid size:). It is triggered by the TCL code line:See the procedurehfs format $path $partno $vname $badblockshformatinhfs.tcland the 'C' functionhfs_formatinlibhfs/hfs.c. - X11 paths for headers and libraries ignored by
- January 1, 2018
- ispell (3.4.00), in the Makefile for language "nederlands", commented
the build rule for generating the affix file (
$(AFFIXES)); the Dutch affix file (dutch96.aff) already appeared to be in 8 bit format.
- January 1, 2018
- linux (4.9.16), kernel module
radeonfbseem to have been the cause of a black console screen after booting from OF. Keyboard input is working, so blind typing is an option. Didn't investigate thoroughly, but for now enabled DRM support, Radeon DRM support, framebuffer device support, and framebuffer device emulation (legacy), but not Radeon frame buffer device support.
- January 20, 2018
- yaboot (1.3.7), build error.
yabootmust be built as a 32-bit ELF binary. This means some support libraries must also be available as 32-bit variants (libext2fsofe2fsprogsandlibgccof GCC).snaakdoes not has these libraries available. Sticking with original version ofyaboot.
- January 23, 2018
- FSViewer (0.2.6), crash on opening Inspector panel. The inline
functions defined in
list.cseemed to be the culprit. I think the use of the keywordinlineonly allows calling the (inlined) functions from the same object file (list.c). However, some of these functions are also called frommisc.c. So, I've redefined theINLINEmacro inlist.htoextern inline, adding theexternkeyword.
