Я получаю ошибку Symbol not found при попытке обновить версию RocksDB в пакете rockdb npm - PullRequest
0 голосов
/ 22 сентября 2019

Обычно я пытаюсь обновить собственную версию зависимости RocksDB для пакета rocksdb npm.

Я планирую развернуть версию того же кода на TypeScript.Но я не могу заставить работать сторону C / C ++.

Код расположен @ https://github.com/lu4/rocksdb-ts, и я опубликовал пакет npm под тем же именем, т.е. вы можете позвонить npm i rocksdb-ts, чтобы проверить поведение самостоятельно.

Корочепакет компилируется нормально, но как только на него ссылаются, во время выполнения происходит сбой со следующей ошибкой:

enter image description here

Для достижения вышеуказанного поведения:

  1. Я разбудил RocksDB github repo
  2. Обновлены источники RocksDB в папке deps
  3. Обновлен файл leveldb.gyp, чтобы включить все необходимые файлы
  4. Я также удалил большинство источников / зависимостей, чтобы точно определить ошибку и убедиться, что проблема связана с исходной стороной.

Я искал причины, связанные с вышеуказанной проблемой, иБольшая часть информации, которую я мог найти, гласит, что я как-то смешиваю имена методов в стиле C ++ и C, но на самом деле я не менял исходный верхний уровень binding.cc / binding.gyp, что означает, что я не экспортирую ничего, кроме этогоуже были.

Есть мысли о том, почему это может происходить?Как я могу отладить / профиль / зарегистрировать эту проблему, происхождение символа _rocksdb_build_compile_date не ясно ...

Заранее спасибо!

...