wangp / bower

A curses terminal client for the Notmuch email system
Other
119 stars 11 forks source link

Build error on Arch Linux #23

Closed ghost closed 7 years ago

ghost commented 7 years ago

Hi wangp,

from what I could find in the repository I really liked bower - especially the clean interface and the straightforward config file - so I wanted to try it out myself.

Unfortunately make failed due to some sort of missing libraries and since I don't know anything about mercurylang I don't even know for sure whether the problem lies with bower or mercury. I was hoping you might be able to give me a hint as to what the problem could be and maybe even some ideas for fixing it.

Regards


You can find the output from compiling bower with make PARALLEL=-j6 here. This is the output from trying to compile the current (as of March 26th) git version, but release 0.7 produced the same error.

To compile mercury 14.01.1 I used the package from the aur. This package basically runs this to compile mercury:

  ./configure --prefix=/usr --mandir=/usr/share/man \
              --infodir=/usr/share/info \
              --disable-inefficient-grades

  make PARALLEL=-j6

I also tried this in a second run:

  ./configure --prefix=/usr --mandir=/usr/share/man \
              --infodir=/usr/share/info

  make PARALLEL=-j6

Afterwards the package installs mercury as follows:

  make INSTALL_PREFIX="$pkgdir"/usr \
       INSTALL_MAN_DIR="$pkgdir"/usr/share/man \
       INSTALL_INFO_DIR="$pkgdir"/usr/share/info \
       MERCURY_COMPILER="$pkgdir"/usr/bin/mercury_compile \
       MERCURY_CONFIG_DIR="$pkgdir"/usr/lib/mercury \
       PARALLEL=-j6 install
wangp commented 7 years ago

Hi,

That's strange it would default to the reg.gc grade. You can check what grades are installed in /usr/lib/mercury/lib. The common ones are hlc.gc or asm_fast.gc. Create a file bower/src/Mercury.params with a line like

CFLAGS += --grade hlc.gc

then it ought to work.

ghost commented 7 years ago

Hi,

sorry that it took me ages to respond. Your proposition did not work for me and since I had lots of stuff to do I left it for a bit. I finally came back to trying to resolve the issue today and I believe I found out what the issue on Arch Linux is: The mercury package I installed does not seem to include some of the archive (.a) files gcc wants to use for static linking. Do you know how to have gcc use dynamic linking instead (i. e. through mmc, of course)? There are .so files present for the missing packages, so using dynamic-linking might just solve it.

wangp commented 7 years ago

Comment out this line in Mercury.options:

MCFLAGS-bower += --mercury-linkage static

I don't see anything in the PKGBUILD that excludes static libraries, so perhaps it something in the Arch packaging system.

ghost commented 7 years ago

That did it, thanks a lot.

I have no idea why the .a files are missing either but please feel free to close the issue.

In case you are interested in putting this info somewhere: I did upload the working PKGBUILD to the AUR as bower-mail (it would conflict with community/bower otherwise, which is something entirely different).

wangp commented 7 years ago

Ok, cool.

wangp commented 7 years ago

Looking at your PKGBUILD reminded me to tag version 0.8.

ghost commented 6 years ago

v0.8 works great for me, thanks