Usando biblioteca compartilhada no Gyp no node-sqlite3

Eu sou novo em Gyp. Em vez de compilar minha dependência, eu gostaria de usar uma biblioteca compartilhada, em particular, a libsqlite3.so que já está na minha máquina. O binding.gyp principal atualmente parece

{
  'targets': [
    {
      'target_name': 'node_sqlite3',
      'sources': [
        'src/database.cc',
        'src/node_sqlite3.cc',
        'src/statement.cc'
      ],
      'dependencies': [
        'deps/sqlite3/binding.gyp:sqlite3'
      ]
    }
  ]
}

Como faço para mudar isso para que uma biblioteca sqlite3 compartilhada seja usada? O binding.gyp na pasta deps tem uma seção semelhante a abaixo. Eu não acho que eu preciso de gyp para fazer qualquer compilação de sqlite3 para mim, então mudar o tipo para shared_library provavelmente não é a resposta certa.

'targets': [
    {
      'target_name': 'sqlite3',
      'type': 'static_library',
      'include_dirs': [ '.' ],
      'direct_dependent_settings': {
        'include_dirs': [ '.' ],
        'defines': [
          'SQLITE_THREADSAFE=1',
          'SQLITE_ENABLE_FTS3',
          'SQLITE_ENABLE_RTREE'
        ],
      },
      'defines': [
        '_REENTRANT=1',
        'SQLITE_THREADSAFE=1',
        'SQLITE_ENABLE_FTS3',
        'SQLITE_ENABLE_RTREE'
      ],
      'sources': [ './sqlite3.c', ],
    },

    {
      'target_name': 'shell',
      'type': 'executable',
      'dependencies': [ 'sqlite3' ],
      'sources': [ './shell.c' ]
    }
  ]
}

Atualizar. Eu era capaz de fazer coisas para compilar mudando por binding.gyp para isso

{
  'targets': [
    {
      'target_name': 'node_sqlite3',
      'sources': [
        'src/database.cc',
        'src/node_sqlite3.cc',
        'src/statement.cc'
      ],
      'ldflags': [
        '-lsqlite3'
      ]
    }
  ]
}

No entanto, quando eu vou executar um programa usando o módulo, recebo

nó: erro de pesquisa de símbolo: /usr/local/lib/node_modules/sqlite3/build/Release/node_sqlite3.node: undefined symbol: sqlite3_open_v2

como se a biblioteca compartilhada não estivesse carregando ou não estivesse acessível. Eu acho que estou perto. libsqlite3 foi instalado em / usr / local / lib

/usr/local/lib$ ls
libsqlite3.a   libsqlite3.so    libsqlite3.so.0.8.6  node_modules  python2.7
libsqlite3.la  libsqlite3.so.0  node                 pkgconfig

Update2. O enredo engrossa. Eu tentei o ldd no executável criado pelo node-sqlite3

    linux-vdso.so.1 =>  (0x00007fffd7168000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc9451df000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc944fc2000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc944c04000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc94490a000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fc945704000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc9446f4000)

Claramente faltando libsqlite3. Então talvez minha declaração de ldflags não funcionasse como planejado.

questionAnswers(1)

yourAnswerToTheQuestion