Compilation fails with (from memory) redeclaration of snprintf. System is a pentium4 with NPTL. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 43940 [details] ebuild for helium with gcc34 The fix is made with a sed line in the ebuild, since the file is created by configure. Unfortunately there is problems loading files from the book Haskell: The craft of functional computing, even though both the book and helium homepage claims that it works. Additional patch is commented out.
Created attachment 43941 [details, diff] patch to use simple libraries With this patch helium uses the simple version of libraries, which allows for loading material from textbook, but alas without overloading, so only current document is available.
is this patch already in portage? if no, is this the problem you are speaking about, which the patch should fix or is this something different? **************************************************** LVMRUN: the bytecode interpreter **************************************************** cd ../../lvm/src/runtime; make make[1]: Entering directory `/var/tmp/portage/helium-1.2/work/helium-1.2/lvm/src/runtime' gcc -o core/main.o -c core/main.c -O2 -fno-defer-pop -Wall -I../config -I. -Icommon In file included from common/config.h:29, from common/mlvalues.h:28, from core/main.c:15: ../config/s.h:17:1: warning: "strncpy" redefined In file included from /usr/include/string.h:417, from core/main.c:12: /usr/include/bits/string2.h:761:1: warning: this is the location of the previous definition In file included from common/mlvalues.h:29, from core/main.c:15: common/misc.h:80: error: conflicting types for 'snprintf' common/misc.h:80: error: conflicting types for 'snprintf' common/misc.h:88: error: conflicting types for 'vsnprintf' common/misc.h:88: error: conflicting types for 'vsnprintf' make[1]: *** [core/main.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/helium-1.2/work/helium-1.2/lvm/src/runtime' make: *** [lvmrun] Error 2
Yes this is the problem that the sed line is for (see ebuild) configure fails to recognise that (v)snprintf is available. ofcause fixing configure is the way to go.
The patch kept being rejected when I tried to apply it (manually or with an ebuild), so I applied the changed manually and made my own patch (${P}-fixmakefile.patch) and ebuild (the first ebuild posted doesn't apply the patch, hence the need for one that does) You should probably test that my patch has the same result as applying the original patch manually did though
Created attachment 44100 [details, diff] Patch to fix the helium-1.2 makefile
Created attachment 44101 [details] helium-1.2 ebuild to apply fixmakefile patch
Hi! Here I submit 'my' :-) patches which (they are just differently named: 1) helium-1.2-install.patch which patches Makefile for installing simple libraries and 2)helium-1.2.ebuild.patch which patches helium-1.2.ebuild The patches apply cleanly, but I still cannot compile Helium on amd64 - ah, yes, the ebuild patch has keyword for 'amd64' arch. Sincerely, Gour
Created attachment 44109 [details, diff] patch for patching Makefile.in to be put in ../files folder
Created attachment 44110 [details, diff] patch for patching helium-1.2.ebuild
I've done this just now. The gcc-patch is okay, but I didn't apply the Makefile patch literally. Instead, I modified the ebuild to install both sets of libraries (first: example-compatible, without type classes, default; second: limited type class support). The second set of libraries can be used by calling the helium-tc, texthint-tc, or hint-tc variants of the programs. The new version does not yet include any fixes for amd64. ks
Some news: I've reproduced the helium build error on amd64, and I've discussed it with Arjan and Daan. Daan had discovered a potential problem source quickly, but that turned out not to be the culprit. He promised to investigate further ... ks
Hi! >I've reproduced the helium build error on amd64, and I've discussed it with Arjan and Daan. Daan had discovered a potential problem source quickly, but that turned out not to be the culprit. He promised to investigate further ... Thanks a lot for your support. Sincerely, Gour
This looks like its been fixed for quite some time now.