Latest snapshot fails to build on Arch Linux

Issue #41 resolved
saadatm created an issue

I am using this package to build Sorts Mill Tools on Arch Linux (using the sortsmill-fontforge-commit-f4b7cc4-snapshot), but the build fails with the following messages:

...
[lots of build stuff]
...
Making all in python
make[1]: Entering directory `/home/nastaliq/aur/sortsmill-fontforge/src/sortsmill-tools-2.0.0_alpha1/python'
  CC       sortsmill/sortsmill_ffcompat_la-ffcompat.lo
  CCLD     sortsmill/ffcompat.la
  CC       sortsmill/legacy/sortsmill_legacy_fontforge_la-fontforgepyhook.lo
  CCLD     sortsmill/legacy/fontforge.la
  CC       sortsmill/psMat.lo
  CCLD     sortsmill/psMat.la
  CC       sortsmill/conditions.lo
  CCLD     sortsmill/conditions.la
  GENPYAPI sortsmill/fontforge_api.pyx
  CYTHON   sortsmill/fontforge_api.c
  CC       sortsmill/fontforge_api.lo
{standard input}: Assembler messages:
{standard input}:125154: Warning: end of file not at end of a line; newline inserted
{standard input}:125484: Error: unknown pseudo-op: `.l'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
gcc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.archlinux.org/> for instructions.
make[1]: *** [sortsmill/fontforge_api.lo] Error 1
make[1]: Leaving directory `/home/nastaliq/aur/sortsmill-fontforge/src/sortsmill-tools-2.0.0_alpha1/python'
make: *** [all-recursive] Error 1
==> ERROR: A failure occurred in build().
    Aborting...

Comments (8)

  1. Georg Mayr-Duffner

    Sortsmill tools needs python2, Arch by default ships with python 3. Do you have python2-versions for all the packages installed and linked correctly when building?

  2. saadatm reporter

    @georgd Yes, I have all python2 packages installed. However, I am not using the python2-cython-git package from AUR, but the cython2 package from the community repo (I could never make the AUR's python2-cython-git package to work for some reason). Could that be an issue?

    I also modified the configure in PKGBUILD to link to cython2 as follows:

    ./configure --prefix=/usr --with-freetype-source=../freetype-${ftver}.${ftrel} PYTHON=python2 CYTHON=cython2

    Is there any other python2 package that I need to explicitly link to?

  3. Barry Schwartz

    This does look like a compiler bug, and it is occurring on an extremely large source file. Do you have enough memory and is it in good condition? Is it possible you ran out of disk space? Try turning off optimization if you are using it (that is, add CPPFLAGS=-g to the end of the configure command). If you are using ccache try clearing the cache or not using it. If you are using the gold linker try the regular linker instead. Etc.

    You might need to add swap, too.

  4. Barry Schwartz

    @saadatm The messages suggest Cython worked. It was the assembler that choked.

    The output of Cython ‘fontforge_api.c’ is going to be an enormous C source file, which the compiler then converts to assembly code that probably also is enormous. I suspect you simply ran out of disk space or ccache ‘overflowed’ or something like that.

    We probably hardly use any of the code that is generated there but I don’t worry about that very much. (It does take a very long time to do optimization on that particular file, which is a problem, but might be a good test of the condition of one’s memory. Compiling it without optimization should be much faster.)

  5. saadatm reporter

    @chemoelectric Less memory was indeed the problem. I am using Arch Linux inside a virtual machine; giving it more memory resolved the issue. Thanks a lot.

  6. Barry Schwartz

    @saadatm I just want to add I’m embarrassed not to have thought of it being a VM, given that I use VMs a lot.

  7. Log in to comment