Giter Club home page Giter Club logo

Comments (21)

farafonov-alexey avatar farafonov-alexey commented on May 23, 2024

Привет, @medonomator.
Предполагается, что команда node -e "console.log(process.arch)" выполнится node и заполнит переменную arch в процессе сборки, наверное node по какой-то причине не смогла ее выполнить.
Затем данная переменная проверяется на равенство ia32 или x64 (думаю node под arm такое не вернет, а вернет что-то типа 'arm') и копируются соответствующие скомпилированные библиотеки в папку сборки (libfptr10 и др.)
В настоящий момент скомпилированных библиотек под arm в проекте нет и я не в курсе есть ли они в ДТО.

from node-atol-wrapper.

maxvgi avatar maxvgi commented on May 23, 2024

Всем привет.

Я библиотекой изначально пользовался исключительно под arm, никаких проблем при сборке не было. Просто изначально поставил deb-пакет с библиотекой от Атол.

И дальше npm install node-atol-wrapper

Правда, версия node-atol-wrapper тогда была 0.0.15. В настоящий момент возможности проверить нет.

from node-atol-wrapper.

medonomator avatar medonomator commented on May 23, 2024

Получилось собрать под arm, но теперь выдает Error 9 [ Способ связи с ККТ не поддерживается ]. Будто устройство просто не видит Атол, буду разбираться...

from node-atol-wrapper.

maxvgi avatar maxvgi commented on May 23, 2024

Получилось собрать под arm, но теперь выдает Error 9 [ Способ связи с ККТ не поддерживается ]. Будто устройство просто не видит Атол, буду разбираться...

Если я правильно помню, то я сначала зашел в настройки кассы через графическую утилиту и выставил, что коннект с ней будет по USB.

Ну и в коде образно говоря так:

const Atol = require('node-atol-wrapper');

const driver = new Atol.Fptr10();
driver.create();

const connectionConfig = {Port: 1}; //usb
const settings = driver.getSettings();

for(let i in connectionConfig) {
   settings[i] = connectionConfig[i];
}

driver.setSettings(settings);
driver.open();

from node-atol-wrapper.

medonomator avatar medonomator commented on May 23, 2024

Спасибо, все заработало. Могу сделать пул реквест с обновленным binding.gyp ? Хочу добавить условие для arm и файлы подсунуть

from node-atol-wrapper.

farafonov-alexey avatar farafonov-alexey commented on May 23, 2024

@medonomator, конечно

from node-atol-wrapper.

maxvgi avatar maxvgi commented on May 23, 2024

А кстати хороший вопрос. Посмотрел, в моей версии в binding.gyp - для linux не было никаких действий, поэтому с компиляцией под arm не было никаких вопросов.

Для windows - согласен, там с установкой и компиляцией отдельная история.

А нужно ли копирование so-файлов для linux? У вас библиотеки установлены не system-wide?

from node-atol-wrapper.

medonomator avatar medonomator commented on May 23, 2024

Не могу запушить ветку, нет доступа 403

from node-atol-wrapper.

medonomator avatar medonomator commented on May 23, 2024

А кстати хороший вопрос. Посмотрел, в моей версии в binding.gyp - для linux не было никаких действий, поэтому с компиляцией под arm не было никаких вопросов.

Для windows - согласен, там с установкой и компиляцией отдельная история.

А нужно ли копирование so-файлов для linux? У вас библиотеки установлены не system-wide?

Совсем не понимаю о чем вы ) Под arm нужны файлы из ДТО, сейчас таковых нету

from node-atol-wrapper.

maxvgi avatar maxvgi commented on May 23, 2024

Не могу запушить ветку, нет доступа 403

Нужно сначала склонировать этот репозитарий, потом запушить изменения в свой репозитарий, а затем уже создавать pull request.

from node-atol-wrapper.

medonomator avatar medonomator commented on May 23, 2024

Запушить изменения в свой репозиторий ?? Вы о чем ?)) Я склонировал репу, создал ветку, сделал работу, после этого хочу запушить и вылетает 403

from node-atol-wrapper.

maxvgi avatar maxvgi commented on May 23, 2024

Запушить изменения в свой репозиторий ?? Вы о чем ?)) Я склонировал репу, создал ветку, сделал работу, после этого хочу запушить и вылетает 403

Да, простите, оговорился - не склонировать, а форкнуть.
Вы пытаетесь запушить коммит в чужой репозитарий, куда у вас нет прав на запись.

Инструкция в картинках как делать pull request

from node-atol-wrapper.

medonomator avatar medonomator commented on May 23, 2024

Ок, теперь понял, благодарю!

from node-atol-wrapper.

maxvgi avatar maxvgi commented on May 23, 2024

Совсем не понимаю о чем вы ) Под arm нужны файлы из ДТО, сейчас таковых нету

Вы же непосредственно из-под raspberry собираете?

Скачал свежий драйвер ККТ, это zip-архив в 395 Мб. В нём по пути /10.6.1.0/installer/deb/ лежат собранные пакеты для debian-based дистрибутивов. Закидываем пакет libfptr10_10.6.1.0_armhf.deb в raspberry, устанавливаем - dpkg -i libfptr10_10.6.1.0_armhf.deb

Всё, библиотеки установлены в систему по стандартным путям и доступны. После этого сборка проходит без лишних вопросов, ничего никуда копировать не надо.

Хотя иной подход тоже имеет место быть, мне просто ближе установка софта через пакеты.

from node-atol-wrapper.

medonomator avatar medonomator commented on May 23, 2024

Такой вариант не подходит, даже если проделать все эти операции, в момент установки пакета npm i node-atol-wrapper выдает gyp: Call to 'node -e "console.log(process.arch)"' returned exit status 134 while in binding.gyp. while trying to load binding.gyp
что говорит о том, что он не может найти условие в .gyp под текущую архитектуру

from node-atol-wrapper.

medonomator avatar medonomator commented on May 23, 2024

Очень интересно как вы умудрились собрать под raspberry если в .gyp нет такова условия)

from node-atol-wrapper.

maxvgi avatar maxvgi commented on May 23, 2024

А какие там условия?

В .gyp описаны дополнительные операции, которые требуется выполнить для сборки под конкретную платформу. Если библиотеки поставить нормально (через deb-пакет), то никакие операции не требуются, сборщик всё нормально сам собирает.

Я в своём пулл-реквесте вообще удалял копирование файлов для линукса. Потому что после установки библиотеки ни на моем рабочем компе (x64), ни на raspberry (armhf) никакой магии в .gyp не требовалось.

Только сейчас увидел, что, оказывается, библиотеки из дистрибутива содержатся в этом репозитарии =) Ну да, возможно это и правда оптимальное решение - пользователю в этом случае даже не нужно знать, что есть какой-то драйвер от Атол.

В общем да, диалог продолжать смысла нет, теперь это больше похоже будет на холивар )

from node-atol-wrapper.

farafonov-alexey avatar farafonov-alexey commented on May 23, 2024

Спасибо, все заработало. Могу сделать пул реквест с обновленным binding.gyp ? Хочу добавить условие для arm и файлы подсунуть

@medonomator, желание еще не пропало?

from node-atol-wrapper.

squalsoft avatar squalsoft commented on May 23, 2024

Смотрю, что pull-request так и не сделали?

from node-atol-wrapper.

squalsoft avatar squalsoft commented on May 23, 2024

process.arch = arm

from node-atol-wrapper.

farafonov-alexey avatar farafonov-alexey commented on May 23, 2024

#17

from node-atol-wrapper.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.