Código não compila

Estou concluindo uma atividade porém o código não funfa. Estou trabalhando em um array dinamico para receber palavras de um arquivo txt. Estou compilando o mesmo no GCC no linux. Segue o código:

char **alocacaoDinamica(){//Função responsavel por criar um vetor dinamico bidimensional
  char **pm; //ponteiro para matriz, ponteiro de ponteiro
  pm = (char **) malloc(10*sizeof(sizeof(char *)));//aloca memória para o vetor principal, está disponibilizando 10 espaços
	
	if(pm[0] == '\0'){//se o ponteiro retornar null ou seja, não há espaço na memória para alocação
		printf("Memória Insuficiente!!\n");
	}
      return pm;     
}
int main (void){
   char pm;//ponteiro da alocação dinamica
  
  int l=0;//controle de cada linha do arquivo txt
  char string[10];
  //char listaNome [10][10];//array de String 10x10,10 posições de 10 caracteres
  //char nomeProcura[10];
  FILE *file;//cria um ponteiro do tipo file
	file = fopen("string.txt","r");//o ponteiro recebe o dado dentro do arquivo txt, O (r) lê arquivo
	
	//printf("Digite a palavra para pesquisa:");
	
	if (file == NULL){
	printf("Não foi Possivel Abrir o Arquivo");
		getchar();
		exit(0);//mata o programa
	}else{
	
	while(fgets(string,sizeof(string)/**quantidade de palavras do arquivo txt*/,file) != NULL){//enquanto o que retornar for diferente de null, ou seja, não for vazio.Detalhe: essa função lê a string até a quebra de linha
    pm = alocacaoDinamica;
    strcpy(pm[1][1],string);
		l++;	
	}
	fclose(file);
	}
return 0;
}

Erro apresentado:

buscaLinear.c:33:8: warning: assignment makes integer from pointer without a cast [enabled by default]
pm = alocacaoDinamica;
^

Meu C está meio enferrujado, mas…

A variável pm dentro da função main não é um ponteiro, mas um char simples, veja:

int main (void){
char pm;//ponteiro da alocação dinamica <-- não, não é um ponteiro, é um char

Acredito que o que você queria fazer era:

int main (void){
char** pm;//ponteiro da alocação dinamica  <- agora sim

Abraço.

Deu quase certo, porém está apresentando outro erro, segue abaixo:
buscaLinear.c:33:8: warning: assignment from incompatible pointer type [enabled by default]
pm = alocacaoDinamica;