Olá a todos,
Estava compilando o Ginga-ncl no Fedora 7 sem problemas, até chegar no gingacc- gfx. O autogen.sh termina sem problemas, mas o make dá:
# make
make all-recursive
make[1]: Entrando no diretório `/root/ginga-ncl/gingacc-cpp/gingacc-gfx'
Making all in include
make[2]: Entrando no diretório `/root/ginga-ncl/gingacc-cpp/gingacc-gfx/include'
make[2]: Nada a ser feito para `all'.
make[2]: Saindo do diretório `/root/ginga-ncl/gingacc-cpp/gingacc-gfx/include'
Making all in src
make[2]: Entrando no diretório `/root/ginga-ncl/gingacc-cpp/gingacc-gfx/src'
g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include/ginga/ -I/usr/local/include/directfb/ -I/usr/local/include/ginga -I/usr/local/include -I/usr/include -g -O2 -MT CodeMap.o -MD -MP -MF .deps/CodeMap.Tpo -c -o CodeMap.o CodeMap.cpp
In file included from CodeMap.cpp:50:
../include/CodeMap.h:56:23: error: directfb.h: Arquivo ou diretório não encontrado
../include/CodeMap.h:74: error: ‘DFBInputDeviceKeySymbol’ was not declared in this scope
../include/CodeMap.h:74: error: template argument 2 is invalid
../include/CodeMap.h:74: error: template argument 4 is invalid
../include/CodeMap.h:75: error: ‘DFBInputDeviceKeySymbol’ was not declared in this scope
../include/CodeMap.h:75: error: template argument 1 is invalid
../include/CodeMap.h:75: error: template argument 3 is invalid
../include/CodeMap.h:75: error: template argument 4 is invalid
../include/CodeMap.h:79: error: ‘DFBInputDeviceKeySymbol’ does not name a type
../include/CodeMap.h:80: error: ‘DFBInputDeviceKeySymbol’ has not been declared
../include/CodeMap.h:82: error: ‘DFBInputDeviceKeySymbol’ was not declared in this scope
../include/CodeMap.h:82: error: template argument 2 is invalid
../include/CodeMap.h:82: error: template argument 4 is invalid
CodeMap.cpp: In constructor ‘br::pucrio::telemidia::ginga::core::gfx::CodeMap::CodeMap()’:
CodeMap.cpp:59: error: ‘DFBInputDeviceKeySymbol’ was not declared in this scope
CodeMap.cpp:59: error: template argument 2 is invalid
CodeMap.cpp:59: error: template argument 4 is invalid
CodeMap.cpp:60: error: ‘DIKS_NULL’ was not declared in this scope
CodeMap.cpp:61: error: ‘DIKS_0’ was not declared in this scope
CodeMap.cpp:62: error: ‘DIKS_1’ was not declared in this scope
CodeMap.cpp:63: error: ‘DIKS_2’ was not declared in this scope
CodeMap.cpp:64: error: ‘DIKS_3’ was not declared in this scope
CodeMap.cpp:65: error: ‘DIKS_4’ was not declared in this scope
CodeMap.cpp:66: error: ‘DIKS_5’ was not declared in this scope
CodeMap.cpp:67: error: ‘DIKS_6’ was not declared in this scope
CodeMap.cpp:68: error: ‘DIKS_7’ was not declared in this scope
CodeMap.cpp:69: error: ‘DIKS_8’ was not declared in this scope
CodeMap.cpp:70: error: ‘DIKS_9’ was not declared in this scope
CodeMap.cpp:72: error: ‘DIKS_SMALL_A’ was not declared in this scope
CodeMap.cpp:73: error: ‘DIKS_SMALL_B’ was not declared in this scope
CodeMap.cpp:74: error: ‘DIKS_SMALL_C’ was not declared in this scope
CodeMap.cpp:75: error: ‘DIKS_SMALL_D’ was not declared in this scope
CodeMap.cpp:76: error: ‘DIKS_SMALL_E’ was not declared in this scope
CodeMap.cpp:77: error: ‘DIKS_SMALL_F’ was not declared in this scope
CodeMap.cpp:78: error: ‘DIKS_SMALL_G’ was not declared in this scope
CodeMap.cpp:79: error: ‘DIKS_SMALL_H’ was not declared in this scope
CodeMap.cpp:80: error: ‘DIKS_SMALL_I’ was not declared in this scope
CodeMap.cpp:81: error: ‘DIKS_SMALL_J’ was not declared in this scope
CodeMap.cpp:82: error: ‘DIKS_SMALL_K’ was not declared in this scope
CodeMap.cpp:83: error: ‘DIKS_SMALL_L’ was not declared in this scope
CodeMap.cpp:84: error: ‘DIKS_SMALL_M’ was not declared in this scope
CodeMap.cpp:85: error: ‘DIKS_SMALL_N’ was not declared in this scope
CodeMap.cpp:86: error: ‘DIKS_SMALL_O’ was not declared in this scope
CodeMap.cpp:87: error: ‘DIKS_SMALL_P’ was not declared in this scope
CodeMap.cpp:88: error: ‘DIKS_SMALL_Q’ was not declared in this scope
CodeMap.cpp:89: error: ‘DIKS_SMALL_R’ was not declared in this scope
CodeMap.cpp:90: error: ‘DIKS_SMALL_S’ was not declared in this scope
CodeMap.cpp:91: error: ‘DIKS_SMALL_T’ was not declared in this scope
CodeMap.cpp:92: error: ‘DIKS_SMALL_U’ was not declared in this scope
CodeMap.cpp:93: error: ‘DIKS_SMALL_V’ was not declared in this scope
CodeMap.cpp:94: error: ‘DIKS_SMALL_W’ was not declared in this scope
CodeMap.cpp:95: error: ‘DIKS_SMALL_X’ was not declared in this scope
CodeMap.cpp:96: error: ‘DIKS_SMALL_Y’ was not declared in this scope
CodeMap.cpp:97: error: ‘DIKS_SMALL_Z’ was not declared in this scope
CodeMap.cpp:99: error: ‘DIKS_CAPITAL_A’ was not declared in this scope
CodeMap.cpp:100: error: ‘DIKS_CAPITAL_B’ was not declared in this scope
CodeMap.cpp:101: error: ‘DIKS_CAPITAL_C’ was not declared in this scope
CodeMap.cpp:102: error: ‘DIKS_CAPITAL_D’ was not declared in this scope
CodeMap.cpp:103: error: ‘DIKS_CAPITAL_E’ was not declared in this scope
CodeMap.cpp:104: error: ‘DIKS_CAPITAL_F’ was not declared in this scope
CodeMap.cpp:105: error: ‘DIKS_CAPITAL_G’ was not declared in this scope
CodeMap.cpp:106: error: ‘DIKS_CAPITAL_H’ was not declared in this scope
CodeMap.cpp:107: error: ‘DIKS_CAPITAL_I’ was not declared in this scope
CodeMap.cpp:108: error: ‘DIKS_CAPITAL_J’ was not declared in this scope
CodeMap.cpp:109: error: ‘DIKS_CAPITAL_K’ was not declared in this scope
CodeMap.cpp:110: error: ‘DIKS_CAPITAL_L’ was not declared in this scope
CodeMap.cpp:111: error: ‘DIKS_CAPITAL_M’ was not declared in this scope
CodeMap.cpp:112: error: ‘DIKS_CAPITAL_N’ was not declared in this scope
CodeMap.cpp:113: error: ‘DIKS_CAPITAL_O’ was not declared in this scope
CodeMap.cpp:114: error: ‘DIKS_CAPITAL_P’ was not declared in this scope
CodeMap.cpp:115: error: ‘DIKS_CAPITAL_Q’ was not declared in this scope
CodeMap.cpp:116: error: ‘DIKS_CAPITAL_R’ was not declared in this scope
CodeMap.cpp:117: error: ‘DIKS_CAPITAL_S’ was not declared in this scope
CodeMap.cpp:118: error: ‘DIKS_CAPITAL_T’ was not declared in this scope
CodeMap.cpp:119: error: ‘DIKS_CAPITAL_U’ was not declared in this scope
CodeMap.cpp:120: error: ‘DIKS_CAPITAL_V’ was not declared in this scope
CodeMap.cpp:121: error: ‘DIKS_CAPITAL_W’ was not declared in this scope
CodeMap.cpp:122: error: ‘DIKS_CAPITAL_X’ was not declared in this scope
CodeMap.cpp:123: error: ‘DIKS_CAPITAL_Y’ was not declared in this scope
CodeMap.cpp:124: error: ‘DIKS_CAPITAL_Z’ was not declared in this scope
CodeMap.cpp:126: error: ‘DIKS_ASTERISK’ was not declared in this scope
CodeMap.cpp:127: error: ‘DIKS_NUMBER_SIGN’ was not declared in this scope
CodeMap.cpp:129: error: ‘DIKS_MENU’ was not declared in this scope
CodeMap.cpp:130: error: ‘DIKS_INFO’ was not declared in this scope
CodeMap.cpp:131: error: ‘DIKS_EPG’ was not declared in this scope
CodeMap.cpp:133: error: ‘DIKS_CURSOR_DOWN’ was not declared in this scope
CodeMap.cpp:134: error: ‘DIKS_CURSOR_LEFT’ was not declared in this scope
CodeMap.cpp:135: error: ‘DIKS_CURSOR_RIGHT’ was not declared in this scope
CodeMap.cpp:136: error: ‘DIKS_CURSOR_UP’ was not declared in this scope
CodeMap.cpp:138: error: ‘DIKS_CHANNEL_DOWN’ was not declared in this scope
CodeMap.cpp:139: error: ‘DIKS_CHANNEL_UP’ was not declared in this scope
CodeMap.cpp:141: error: ‘DIKS_VOLUME_DOWN’ was not declared in this scope
CodeMap.cpp:142: error: ‘DIKS_VOLUME_UP’ was not declared in this scope
CodeMap.cpp:144: error: ‘DIKS_ENTER’ was not declared in this scope
CodeMap.cpp:145: error: ‘DIKS_OK’ was not declared in this scope
CodeMap.cpp:147: error: ‘DIKS_RED’ was not declared in this scope
CodeMap.cpp:148: error: ‘DIKS_GREEN’ was not declared in this scope
CodeMap.cpp:149: error: ‘DIKS_YELLOW’ was not declared in this scope
CodeMap.cpp:150: error: ‘DIKS_BLUE’ was not declared in this scope
CodeMap.cpp:152: error: ‘DIKS_BACK’ was not declared in this scope
CodeMap.cpp:153: error: ‘DIKS_EXIT’ was not declared in this scope
CodeMap.cpp:155: error: ‘DIKS_POWER’ was not declared in this scope
CodeMap.cpp:156: error: ‘DIKS_REWIND’ was not declared in this scope
CodeMap.cpp:157: error: ‘DIKS_STOP’ was not declared in this scope
CodeMap.cpp:158: error: ‘DIKS_EJECT’ was not declared in this scope
CodeMap.cpp:159: error: ‘DIKS_PLAY’ was not declared in this scope
CodeMap.cpp:160: error: ‘DIKS_RECORD’ was not declared in this scope
CodeMap.cpp:162: error: ‘DFBInputDeviceKeySymbol’ cannot appear in a constant-expression
CodeMap.cpp:162: error: template argument 1 is invalid
CodeMap.cpp:162: error: template argument 3 is invalid
CodeMap.cpp:162: error: template argument 4 is invalid
CodeMap.cpp: At global scope:
CodeMap.cpp:242: error: ‘DFBInputDeviceKeySymbol’ does not name a type
CodeMap.cpp:250: error: ‘std::string br::pucrio::telemidia::ginga::core::gfx::CodeMap::getValue’ is not a static member of ‘class br::pucrio::telemidia::ginga::core::gfx::CodeMap’
CodeMap.cpp:250: error: ‘DFBInputDeviceKeySymbol’ was not declared in this scope
CodeMap.cpp:250: error: expected ‘,’ or ‘;’ before ‘{’ token
CodeMap.cpp:275: error: expected `}' at end of input
CodeMap.cpp:275: error: expected `}' at end of input
CodeMap.cpp:275: error: expected `}' at end of input
CodeMap.cpp:275: error: expected `}' at end of input
CodeMap.cpp:275: error: expected `}' at end of input
CodeMap.cpp:275: error: expected `}' at end of input
make[2]: ** [CodeMap.o] Erro 1
make[2]: Saindo do diretório `/root/ginga-ncl/gingacc-cpp/gingacc-gfx/src'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/root/ginga-ncl/gingacc-cpp/gingacc-gfx'
make: ** [all] Erro 2
O erro começa quando ele não acha o directfb.h, embora eu tenha instalado o directfb 1.0.
Além disso, não existe o tal do /dev/fb0 no meu computador. Isso significa que o meu kernel não suporta Frame Buffer? No config do kernel tem:
CONFIG_FB=y
...
CONFIG_FB_NVIDIA=m
Minha placa é Nvidia. Já tentei dar modprobe nvidiafb, mas não adiantou. Será que vou ter de recompilar o kernel?
Abraços,
Henrique
Autor: Henrique Ferreira Machado
2121 comentários
root (hd0,2)
kernel /boot/vmlinuz-2.6.21.1Vaio ro root=LABEL=/1 video=nvidiafb
initrd /boot/initrd-2.6.21.1Vaio.img Boa sorte. []s
Moreno
teria como você me exmplicar o que você fez para o framebuffer funcionar corretamente na sua NVIDIA? Eu uso o ubuntu 7.04 com o driver para a Ge Force Go 6150 e kernel: Linux lucas-laptop 2.6.20-16-generic #2 SMP Fri Aug 31 00:55:27 UTC 2007 i686 GNU/Linux Eu não entendo quase nada de recomilação de kernel e adicionar módulos. Mas se você me falar o que foi feito sem tantos detalhes eu procuro na net o que for preciso para entender a parte técnica que você falou. Eu tenho na pasta: $lucas@lucas-laptop:/lib/modules/2.6.20-16-generic/kernel/drivers/video/nvidia$ ls
$nvidiafb.ko Eu já tentei uma vez instalar no meu outro notebook que tinha placa ati, mas não tinha driver compatível. Agora que estou com um outro notebook com placa nvidia e com o driver, tenho esperanças de que consiga.
Aguardo help.
$ make install Você vai ver que todo item que consta do utilitário de configuração (menuconfig, xconfig...) pode ou não ser compilado como um módulo do kernel, ou como embutido (built-in). Bom, no meu Vaio (GeForce Go 6400), o framebuffer só funcionou redondo quando o driver foi compilado como embutido. A opção para o driver de framebuffer nVidia (e demais) está em: Device drivers -> Graphics support -> Support for frame buffer devices -> nVidia Framebuffer Support. Todos esses itens devem ser selecionados com [*], para compilação embutida no kernel. Outra opção que deve ser selecionada é: Device Drivers -> Graphics Support -> Console display driver support -> Framebuffer console support. Nota desagradável: o framebuffer nvidia dá conflito com o driver proprietário da nvidia para o X. Use o driver free que vem com o X. Depois de todas as suas configurações e compilação, não se esqueça de incluir o parâmetro de kernel "video=" no Grub, conforme escrevi em mensagem anterior. É isso. Mantenha sempre um kernel bom (que funciona) como opção no grub para te salvar dos apuros. Boa sorte. []s
Moreno
df_dok: error while loading shared libraries: libdirectfb-1.0.so.0: cannot open Eu dei o comando: $ sudo mkdir /dev/fusion
$ sudo mknod /dev/fusion/0 c 250 0 $ sudo modprobe fusion Agora está retornando este erro:
$ sudo df_dok =======================| DirectFB 1.0.0 |=======================
(c) 2001-2007 The DirectFB Organization (directfb.org)
(c) 2000-2004 Convergence (integrated media) GmbH
------------------------------------------------------------ (*) DirectFB/Core: Multi Application Core. (2007-09-18 18:15)
(*) Fusion/SHM: Using MADV_REMOVE (2.6.20.3 >= 2.6.19.2)
(!) Fusion/Init: Could not enter world '0'!
--> Protocol not available
df_dok.c <1202>:
(#) DirectFBError [DirectFBCreate( &dfb )]: Initialization error! Alguma idéia de como me ajudar? []`s Lucas Augusto
com o usuário comum, continua sem achar as bibliotecas, além dar este erro (sempre deu, mas eu não reportava): $ df_dok =======================| DirectFB 1.0.0 |=======================
(c) 2001-2007 The DirectFB Organization (directfb.org)
(c) 2000-2004 Convergence (integrated media) GmbH
------------------------------------------------------------ (*) DirectFB/Core: Single Application Core. (2007-09-18 20:23)
(!) DirectFB/core/vt: Error opening `/dev/tty0'!
--> Permission denied
(!) DirectFB/Core: Could not initialize 'system' core!
--> Initialization error!
df_dok.c <1202>:
(#) DirectFBError [DirectFBCreate( &dfb )]: Initialization error!
Eu enviei o export para o arquivo /home/lucas/.~bashrc lucas@lucas-laptop:~$ echo $LD_LIBRARY_PATH
/usr/local/lib/ginga:/usr/local/lib:/usr/lib:/lib:/usr/lib/JMF-2.1.1e Quando dou o comando: lucas@lucas-laptop:~$ sudo df_dok
df_dok: error while loading shared libraries: libdirectfb-1.0.so.0: cannot open shared object file: No such file or directory eu copiei o arquivo /home/lucas/.~bashrc para /root/.~bashrc Quando entro como super usuário lucas@lucas-laptop:~$ sudo su root@lucas-laptop:/home/lucas# echo $LD_LIBRARY_PATH
/libr/local/lib/ginga:/usr/local/lib:/usr/lib:/lib:/usr/local/lib:/usr/lib/JMF-2.1.1e
E dou o comando para executar o exemplo
root@lucas-laptop:/home/lucas# df_dok Ele acha as bibliotecas e executa, mas a tela fica laranja e aparecendo +- o que estava escrito no terminal, como se fosse plano de fundo. Da última vez que travou tudo e eu reiniciei natoramente, quando iniciou a parte gráfica, tudo que era branco está agora rosa =/ (antes não acontecia isso) Alguma idéia do que seja?
[]`s Lucas Augusto
Moreno
Moreno
In file included from CodeMap.cpp:50:
../include/CodeMap.h:74: error: ‘DFBInputDeviceKeySymbol’ was not declared in this scope To achando que pode ser alguma coisa relacionada ao PATH, dei aqueles exports mas não resolveu... Alguém tem alguma idéia? []s
Moreno