dyld:aviso, variável de ambiente desconhecida:DYLD_LIBRARY_PATH_64 bits
-
26-09-2019 - |
Pergunta
Usei o Property List Editor incluído nas Ferramentas de desenvolvedor do Mac OS X para definir uma variável de ambiente DYLD_LIBRARY_PATH_64-bit para o valor path/to/dylib no arquivo ~/.MacOSX/environment.plist.Salvei este arquivo e efetuei logout.
Ao fazer login novamente, o console exibiu várias mensagens de “dyld:aviso, variável de ambiente desconhecida:DYLD_LIBRARY_PATH_64 bits." Removi a entrada de Environment.plist com o Property List Editor, salvei o arquivo e efetuei logout.
Efetuei login novamente e a mensagem de aviso persiste.A página do Dyld Man exibe uma lista de constantes que parecem semelhantes à minha variável ambiental rebelde, pois todas elas começam com "Dyld_". Um arquivo de origem, dyld.cpp, mostra um else depois de uma longa linha de constantes dyld, com código para imprimir a mesma mensagem de aviso.Talvez eu tenha voado muito perto do sol com a nomenclatura das variáveis ambientais.Achei que estávamos livres!
Tentei update_dyld_shared_cache sem sucesso.Talvez esteja faltando algumas bandeiras importantes?
Eu adicionei "setenv DYLD_LIBRARY_PATH_64-bit path/to/dylib" ao /etc/launchd.conf em uma tentativa de adicionar uma variável ambiental (aparentemente malformada) aos meus caminhos, esperando que, se ela aparecesse, eu pudesse excluí-la - sem sucesso .
Na linha de comando, a exportação não mostra DYLD_LIBRARY_PATH_64 bits.Aqui está um exemplo de saída:
$ unset $DYLD_LIBRARY_PATH_64-bit
-bash: unset: -b: invalid option
$ echo $DYLD_LIBRARY_PATH_64-bit
-bit
$ unset DYLD_LIBRARY_PATH_64-bit
-bash: unset: `DYLD_LIBRARY_PATH_64-bit': not a valid identifier
A moral da história é nunca usar o Property List Editor, pelo menos com caminhos de biblioteca dinâmicos.Bem, não - a moral da história é nunca usar o travessão no final dos nomes das variáveis ambientais, uma vez que elas parecem bandeiras.
Dito isso, você tem alguma recomendação para se livrar dessa variável ambiental mascarada e para limpar meu console de avisos repetidos de dyld?
Obrigado!
Solução
Aqui está uma maneira de resolver uma variável de ambiente invisível definida inadvertidamente pelo Editor de lista de propriedades:reformatar a máquina.Limpe.Limpe com fogo.
Uma lição preocupante para todos nós e especialmente para mim.Não use o traço em suas variáveis de ambiente ao usar o Property List Editor, para não ser invadido por dyld:mensagens de aviso para todos os dias da sua máquina.Ai da placa-mãe, pois sua CPU não tem produtividade e, em vez disso, ela fica reduzida a imprimir mensagens no arquivo 2 (erro padrão).
Não, sério:O Property List Editor permitirá que você especifique variáveis ambientais falsas que o Bash nunca deixaria você escapar.No sentido de “o usuário deve saber o que está fazendo”, o Mac OS X se torna semelhante ao UNIX.
Outras dicas
Na verdade, se você definir qualquer env var que comece com DYLD_ que não esteja no lista de maçãs você recebe uma mensagem irritante.
Espero que haja uma bandeira para desligar isso
O que funcionou para mim em um problema semelhante com uma variável de caminho da biblioteca DYLD que não desaparecia em um Mac:
Use o unset
comando, e para garantir, depois que eu unset
isso eu exported
isso de novo...
ou sejaalgo como
$ unset DYLD_LIBRARY_FALLBACK_PATH
$ export DYLD_LIBRARY_FALLBACK_PATH