1 |
so in answer to my own question, the reason ./configure was failing is |
2 |
because I had gpm in my USE variable and so when ./configure was doing its |
3 |
tests it was adding -lgpm to the gcc command line, and failing to find |
4 |
libgpm, and not libgdbm. great. |
5 |
|
6 |
Dave Lee wrote: |
7 |
> So I was trying to compile xemacs and ./configure failed, here is there |
8 |
> error message |
9 |
> |
10 |
> [snip] |
11 |
> checking for dbm_open in -lgdbm... no |
12 |
> Error: Required GNU DBM support cannot be provided. |
13 |
> |
14 |
> !!! ERROR: The ebuild did not complete successfully. |
15 |
> [snip] |
16 |
> |
17 |
> I do have gdbm, though |
18 |
> |
19 |
> mj xemacs # qpkg -f /usr/lib/libgdbm.so |
20 |
> sys-libs/gdbm-1.8.0-r4 * |
21 |
> |
22 |
> when I look in |
23 |
> /var/tmp/portage/xemacs-21.1.14/work/xemacs-21.1.14/config.log |
24 |
> it seems that gcc is only being passed -L/usr/X11R6/lib so I assume this |
25 |
> is why ./configure cant find "dbm_open in -lgdbm" |
26 |
> |
27 |
> why is this happening? why cant portage find libgdbm? I tried editing |
28 |
> the xemacs ebuild file to remove the gdbm option to ./configure but then |
29 |
> ./configure failes when looking for dl_open and says the C compiler is |
30 |
> broken. |
31 |
> |
32 |
> any help is much appreciated. |
33 |
> Dave |
34 |
> |
35 |
> here is the relevant portion in config.log |
36 |
> |
37 |
> configure:11451: checking for dbm_open in -lgdbm |
38 |
> configure:11467: gcc -o conftest -march=i686 -O3 -pipe |
39 |
> -I/usr/X11R6/includ |
40 |
> e -L/usr/X11R6/lib conftest.c -lgdbm -lXm -ltiff -lpng -ljpeg |
41 |
> -lz -lXp |
42 |
> m -lXmu -lXt -lXext -lX11 -lSM -lICE -lgpm -lncurses -lm -lgcc -lc |
43 |
> -lgcc /us |
44 |
> r/lib/crtn.o 1>&5 |
45 |
> /usr/i686-pc-linux-gnu/bin/ld: cannot find -lgpm |
46 |
> collect2: ld returned 1 exit status |
47 |
> configure: failed program was: |
48 |
> #line 11456 "configure" |
49 |
> #include "confdefs.h" |
50 |
> /* Override any gcc2 internal prototype to avoid an error. */ |
51 |
> /* We use char because int might match the return type of a gcc2 |
52 |
> builtin and then its argument prototype would still apply. */ |
53 |
> char dbm_open(); |
54 |
> |
55 |
> int main() { |
56 |
> dbm_open() |
57 |
> ; return 0; } |
58 |
> |
59 |
> |