Finally today I was able to successfully compile and get E17 working on my FreeBSD 4 desktop
Since FreeBSD 4 doesn’t comply with C99, I had to seek help from ctrio (an open source printf family of functions library) and patch eet to get this working.
Here are the patches to configure.in and eet_data.c to get E17 on FreeBSD 4.
technorati tags: e17, enlightenment, freebsd
RSS Feed
June 15th, 2006 at 2:04 pm
Thanx for the patches. I installed ctrio and applied the paches but I still get the same error on configure.
« Your OS does not support C99’s ‘%a’ string format »
What can I do?
June 15th, 2006 at 2:12 pm
Can you check whether the patch worked by looking at the snprintf “%a” line (it should be replaced with trio_snprintf)?
I didn’t try this patch with the latest E17 from CVS, but a little more than couple of weeks.
June 15th, 2006 at 2:27 pm
The patch worked, I have the follow lines for the check:
#include
#include
int main(int argc, char **argv) {
char buf[4096];
double ival = 0.1234, oval = 0.0;
trio_snprintf(buf, sizeof(buf), “%a”, ival);
trio_sscanf(buf, “%a”, &oval);
if (ival != oval) return -1;
return 0;
}
June 15th, 2006 at 2:43 pm
Uhm, the cut and paste didn’t works as well; obviously it was supposed to be : #include stdio.h / trio.h.
Anyway, I tried to compile that pice of code; the problem is that the compiler can’t find trio.h.
All the headers of trio are installed in /usr/local/include and the libtrio.a in /usr/local/lib/.
Do you know why the compiler can’t find them?
June 15th, 2006 at 3:11 pm
Hmm. I have the following environment set, before compiling E17, where target is the target path for my E17 (typically /usr/local/e).
In my case I needed to include “-liconv” additionally, which is normally not needed, and for getopt_long, I needed the “gnugetopt” library too. You need “-ltrio -lm” for the trio library.
shell> export \ CPPFLAGS="-I$HOME/local/include -I/usr/X11R6/include" \ CFLAGS="-g -O2 -pipe" \ LDFLAGS="-pthread -L$HOME/local/lib -L/usr/X11R6/lib" \ LIBS="-liconv -ltrio -lm -lgnugetopt" \ LD_LIBRARY_PATH=$target/lib:$HOME/local/lib:/usr/X11R6/lib \ PATH=$target/bin:$HOME/local/bin:/usr/X11R6/bin:/bin:/usr/bin \ PKG_CONFIG_PATH=$HOME/local/lib/pkgconfigHTH.