libfaketime e Mac OS, LD_PRELOAD

4

Executando o Mac OS 10.7.2 e tentando executar libfaketime e nada acontece. Eu instalei e corri exatamente como indicado apenas a hora e data ficar exatamente como estão definidas no sistema? Alguém mais é capaz de executar isso com sucesso no OSX?

$ date
Mon Jan 30 21:05:09 CST 2012
$ LD_PRELOAD=./libfaketime.so.1 FAKETIME="-15d" date
Mon Jan 30 21:05:32 CST 2012
    
por rudolph9 31.01.2012 / 04:11

2 respostas

5

Use DYLD_INSERT_LIBRARIES em vez de LD_PRELOAD no Mac OS. Talvez seja necessário definir DYLD_FORCE_FLAT_NAMESPACE também. Por exemplo,

DYLD_INSERT_LIBRARIES=./libfaketime.so.1 DYLD_FORCE_FLAT_NAMESPACE=y FAKETIME="-15d" date
    
por 31.01.2012 / 07:05
1

Se você compilar a biblioteca assim:

gcc -shared -fPIC mylib.c -o mylib.so

Você pode criar variáveis de ambiente:

export DYLD_INSERT_LIBRARIES=./mylib.so
export DYLD_FORCE_FLAT_NAMESPACE=y

Em seguida, execute com a nova biblioteca carregada:

./program

Obs:

Working on macOS High Sierra (v 10.13.1)

    
por 04.12.2017 / 17:38

Tags