“Não é possível encontrar -lgdbm” ao fazer xemacs no FreeBSD10

1

Eu tenho tentado instalar o xemacs 21.4.22 no FreeBSD10 x64. Depois que eu executar ./configure e tentar executar make , isso me causará esse erro com libgdm.so library

[eddyraz@laptop-eddyraz] ~/proyectos/xemacs/xemacs-21.4.22% sudo make
Password:
cd ./lib-src && make   CC='cc' CFLAGS='-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes -Wsign-compare -Wshadow -Wpointer-arith' LDFLAGS='' CPPFLAGS='' all
cc -g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes -Wsign-compare -Wshadow -Wpointer-arith -I. -I../src -I/usr/home/eddyraz/proyectos/xemacs/xemacs-21.4.22/lib-src -I/usr/home/eddyraz/proyectos/xemacs/xemacs-21.4.22/src  -DHAVE_CONFIG_H /usr/home/eddyraz/proyectos/xemacs/xemacs-21.4.22/lib-src/ellcc.c  -Xlinker -z -Xlinker nocombreloc -Xlinker -R/usr/local/lib -lgdbm -lncurses -lpq -lldap -llber -lm -lutil -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o -o ellcc
/usr/bin/ld: cannot find -lgdbm
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make[1]: stopped in /usr/home/eddyraz/proyectos/xemacs/xemacs-21.4.22/lib-src
*** Error code 1

Stop.
make: stopped in /usr/home/eddyraz/proyectos/xemacs/xemacs-21.4.22

Eu verifiquei em /usr/local/lib e encontrei libgdm .

[eddyraz@laptop-eddyraz] ~/proyectos/xemacs/xemacs-21.4.22% cd /usr/local/lib
[eddyraz@laptop-eddyraz] /usr/local/lib% ls -l | grep libgdm
[eddyraz@laptop-eddyraz] /usr/local/lib% ls -l | grep libgdbm
-rw-r--r--   1 root  wheel     86310 17 jun 16:57 libgdbm.a
-rwxr-xr-x   1 root  wheel       971 17 jun 16:57 libgdbm.la
lrwxr-xr-x   1 root  wheel        12 17 jun 16:57 libgdbm.so -> libgdbm.so.4
-rwxr-xr-x   1 root  wheel     42032 17 jun 16:57 libgdbm.so.4
[eddyraz@laptop-eddyraz] /usr/local/lib% 

Por que o erro make com cannot find -lgdbm ?

    
por eddyraz 27.08.2014 / 19:01

1 resposta

0

Tente:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

execute o make novamente. Uma observação de que você não precisa de sudo para executar make .

Em Documentação do ldconfig do FreeBSD :

The LD_LIBRARY_PATH environment variable can be used to override the use of directories (or the order thereof) from the cache or to specify additional directories where shared libraries might be found. LD_LIBRARY_PATH is a ':' separated list of directory paths which are searched by the dynamic linker when it needs to load a shared library. It can be viewed as the run-time equivalent of the -L switch of ld(1).

    
por 27.08.2014 / 19:22