Erro ao construir mvfs

0

Estou tentando construir mvfs para que eu possa executar o IBM Rational ClearCase em uma máquina CentOS 6.4. Eu tenho todas as dependências instaladas, então eu cd para a pasta mvfs_src e obter o seguinte erro ao executar make :

/var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_linux_mvops.c: In function ‘mvop_linux_open_kernel’:
/var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_linux_mvops.c:1454: error: implicit declaration of function ‘get_empty_filp’
cc1: warnings being treated as errors
/var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_linux_mvops.c:1454: error: assignment makes pointer from integer without a cast
make[2]: *** [/var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_linux_mvops.o] Error 1
make[1]: *** [_module_/var/adm/rational/clearcase/mvfs/mvfs_src] Error 2
make[1]: Leaving directory '/usr/src/kernels/2.6.32-358.14.1.el6.x86_64'
make: *** [all] Error 2

Como corrijo isso?

    
por sally jenkins 16.08.2013 / 22:36

1 resposta

0

A partir de commit e81e3f4dca6c54116a24aec217d2c15c6f58ada5 (que entrou no Linux v2.6.33), a função get_empty_filp() se torna interna e é não é mais exportado para módulos:

commit e81e3f4dca6c54116a24aec217d2c15c6f58ada5
Author: Eric Paris 
Date:   Fri Dec 4 15:47:36 2009 -0500

    fs: move get_empty_filp() deffinition to internal.h

    All users outside of fs/ of get_empty_filp() have been removed.  This patch
    moves the definition from the include/ directory to internal.h so no new
    users crop up and removes the EXPORT_SYMBOL.  […]

O mesmo commit parece ter sido retornado para o kernel 2.6.32-358.14.1.el6 do CentOS, já que possui a mesma função declarada em fs/internal.h :

linux-2.6.32-358.14.1.el6/fs/internal.h:88:extern struct file *get_empty_filp(void);

Em outras palavras, não apenas mvfs está desatualizado, mas está desatualizado para o CentOS. Meu palpite é que a única maneira de corrigir isso é obter um novo mvfs version (se existir), ou ... faça o downgrade do kernel.

    
por 17.08.2013 / 01:36