Closed plzombie closed 1 year ago
Done:
@zvezdochiot застрял с реализацией. Под линуксом conditional variables (аналог events из винды) требуют создания мьютекса. А я специально писал на событиях, чтобы мьютексы не использовать по максимуму. Если есть идея чем заменить...
@plzombie say:
Если есть идея чем заменить...
Ни капли. Я эти птхреады вообще не врубаю. Я ж самоучка на 100%. Всему обучмлся на гите.
Done:
Done:
Линукс канешн прекрасная операционка, в alt linux нет большинства переменных отсюда https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
Hi @plzombie .
depress-w/BUILD_UNIX_MAKEFILE$ make
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/depress.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/depress_converter.c
../src/depress_converter.c: In function ‘depressConvertLayeredPage’:
../src/depress_converter.c:201:7: warning: variable ‘level’ set but not used [-Wunused-but-set-variable]
201 | int level;
| ^~~~~
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/depress_document.c
../src/depress_document.c: In function ‘depressDocumentGetTitleFromFilename’:
../src/depress_document.c:89:14: warning: ‘codepoint’ may be used uninitialized in this function [-Wmaybe-uninitialized]
89 | codepoint |= temp[i] - 0xdc00;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
../src/depress_document.c: In function ‘depressDocumentCreateTasksFromTextFile’:
../src/depress_document.c:447:4: warning: ‘f’ may be used uninitialized in this function [-Wmaybe-uninitialized]
447 | if(!f) {
| ^
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/depress_image.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/depress_paths.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/depress_tasks.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/depress_threads.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/ppm_save.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/interlocked_ptr.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/unixsupport/waccess.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/unixsupport/wfopen.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/unixsupport/wmain_stdc.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/unixsupport/wmkdir.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/unixsupport/wpopen.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/unixsupport/wremove.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/unixsupport/wrmdir.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/unixsupport/wtoi.c
gcc -O3 -c -Wall -DFASTIMAGE_USE_LIBCURL -pthread ../src/extclib/wcstombsl.c
Полёт нормальный. :+1:
PS: Только на кой нужен здесь этот дефайн FASTIMAGE_USE_LIBCURL
? (не вникал, просто интересно)
Из того что осталось реализовать:
Последний пункт исправить и должно уже работать
PS: Только на кой нужен здесь этот дефайн FASTIMAGE_USE_LIBCURL? (не вникал, просто интересно)
Мэйкфайл из того проекта скопировал, забыл удалить
@plzombie say:
Последний пункт исправить и должно уже работать
Дока! Доку ты ни разу не обновил. Как я буду пользовать прогу без мана? ;)))
@plzombie say:
"с44 input.ppm output.djvu"
А ежели так: "$(с44 input.ppm output.djvu)"
? Или так sh -c "с44 input.ppm output.djvu"
?
Ок, с последним вариантом работает, даже успешно конвертирует. С остальным (включая доки) завтра разберусь
What must be done:
_wpopen (wrapper around popen) is not working. See this line
I have tried following command lines:
""djvused" "/path/to/file.djvu""
""/usr/bin/djvused" "/path/to/file.djvu""
"djvused" "/path/to/file.djvu"
"/usr/bin/djvused" "/path/to/file.djvu"
First 2 commands (with quotations around whole command) worked perfectly on Windows.
What should this line do - open pipe running djvused with djvu file as an argument.
@plzombie say:
_wpopen (wrapper around popen) is not working.
Я сталкивался с тем, что djvused
не сохранял результат по -s
. Решал путём save-page filename
. Где filename
обязательно новое.
Вот проблема в том, что в винде всё работает, в терминале всё работает, а в линуксе через popen не открывает
@plzombie say:
через popen не открывает
А как же остальные комманды из DjVuLibre (c44, cjb2, djvumake)? Ну да ладно. Может чисто для линя пользовать system
(stdlib.h
)?:
int system (const char *command);
Это единственная команда, которая работает через пайпы. Собственно, я и использую тут пайпы, чтобы в файл команды не сохранять. В stdin пишу
Вот сейчас запустил отдельно тест _wpopen, функция-обёртка отработала правильно. Надо разбираться, как запустить djvused с параметром
@zvezdochiot Нашёл в чём ошибка. Во первых, в линуксе не надо заключать строку в общие кавычки. Во вторых, в линуксе fwprintf/fwscanf не работает с пайпами. И не выдаёт никаких ошибок. Если ты ещё немного протестируешь, и таск можно закрывать, я думаю
@plzombie say:
Если ты ещё немного протестируешь, и таск можно закрывать, я думаю
Понял. Как руки дойдут, так сразу. Отпишусь.
PS: Сразу скажу:
-dpi - DPI parameter (default to 300)
то ли дефолт ни разу не 300, то ли он не пашет.
Hi @plzombie .
Отработало "всё", кроме -palettized
:
./depress -dpi 300 -palettized -noteshrink test.txt test.noteshrink.djvu
Opening list: "/home/zvezdochiot/WORK/pub/soft/depress/BUILD_UNIX_MAKEFILE/test/test.txt"
/bin/sh: 1: : Permission denied
/bin/sh: 1: : Permission denied
/bin/sh: 1: : Permission denied
/bin/sh: 1: : Permission denied
/bin/sh: 1: : Permission denied
/bin/sh: 1: : Permission denied
Merging file "/home/zvezdochiot/WORK/pub/soft/depress/BUILD_UNIX_MAKEFILE/test/p-001.jpg"
*** /bin/sh: 1: [1-11711] Failed to open 'test.noteshrink.djvu': Нет такого файла или каталога.
*** (ByteStream.cpp:747)
/bin/sh: 1: : Permission denied
: Permission denied
*** 'DJVU::GUTF8String DJVU::ByteStream::Stdio::init(const DJVU::GURL&, const char*)'
...
:warning: Ты куда файлы сохранять пытаешься? Permission denied
, в лине с этим строго, куда попало сохранять незя!
PS: Прямое указание -temp
так же ничего не дало.
@zvezdochiot Пофиксил. dpi было 100 по умолчанию, поправил доки
@plzombie , провёл демку: https://github.com/ImageProcessing-ElectronicPublications/depress-demo/commit/ac6e4b23d7c42b5109a11513e37e2c4e93f28801
PS: Эй, ну ты хоть git gc --prune=now --aggressive
перед пушем делай. А иначе репа мало-помалу засираться начинает.
@zvezdochiot Ок, спасибо. Тогда закрываю issue
Done:
To be done: