Упаковщик KPack
-
Я сделала версию kpack для 64-битных unix-систем, основываясь на версии от mike.dld. Код упаковки - на Си, как и первоначальная версия, с некоторыми изменениями, специфичными для 64-битного окружения, главная программа - на fasm.
- Attachments
-
-
kpack_linux64.7z (15 KiB)
- Исходные тексты 64-битной версии.
Downloaded 440 times
-
Last edited by CleverMouse on Mon Dec 27, 2010 5:37 pm, edited 1 time in total.Сделаем мир лучше!
CleverMouse,
большое спасибо за 64 бита, ждал!
Только вот у меня не собирается:
В чём может быть проблема, что я делаю не так?
большое спасибо за 64 бита, ждал!
Только вот у меня не собирается:
Code: Select all
[dunkaist@ddesk kpack]$ make
fasm kpack64.asm kpack64.o
flat assembler version 1.69.29 (16384 kilobytes memory)
3 passes, 6179 bytes.
gcc -c -g -o LZMAEncoder.o lzma_c/LZMAEncoder.c
lzma_c/LZMAEncoder.c: In function ‘CEncoder_Create’:
lzma_c/LZMAEncoder.c:304:6: warning: cast from pointer to integer of different size
lzma_c/LZMAEncoder.c: At top level:
lzma_c/LZMAEncoder.c:1032:1: warning: ‘stdcall’ attribute ignored
lzma_c/LZMAEncoder.c:1042:1: warning: ‘stdcall’ attribute ignored
gcc -c -g -o MatchFinder.o lzma_c/MatchFinder.c
gcc -c -g -o RangeCoder.o lzma_c/RangeCoder.c
ld -lc -o kpack kpack64.o LZMAEncoder.o MatchFinder.o RangeCoder.o
ld: BFD (GNU Binutils) 2.20.1.20100521 assertion fail ../../bfd/elflink.c:2550
ld: BFD (GNU Binutils) 2.20.1.20100521 assertion fail ../../bfd/elflink.c:2560
ld: BFD (GNU Binutils) 2.20.1.20100521 assertion fail ../../bfd/elflink.c:2550
ld: BFD (GNU Binutils) 2.20.1.20100521 assertion fail ../../bfd/elflink.c:2560
kpack64.o: In function `_start':
(.text+0x97): undefined reference to `stat'
make: *** [kpack] Error 1
Ой, я видела и даже исправляла такую ошибку, но забыла исправить в том архиве, который выложен. Исправь в Makefile строчку линковки, начинающуюся с ld ... (третья по счёту, считая с 1), на
Code: Select all
gcc -nostartfiles -o kpack kpack64.o LZMAEncoder.o MatchFinder.o RangeCoder.o
Сделаем мир лучше!
Спасибо, помогло.CleverMouse wrote:Ой, я видела и даже исправляла такую ошибку, но забыла исправить в том архиве, который выложен. Исправь в Makefile строчку линковки, начинающуюся с ld ... (третья по счёту, считая с 1), наCode: Select all
gcc -nostartfiles -o kpack kpack64.o LZMAEncoder.o MatchFinder.o RangeCoder.o
Я перезалила архив с правильным Makefile.
Сделаем мир лучше!
SVN r.2058 Kpack - проверка окна на "свернутость" (rolled up) перед отрисовкой.
а нету ли, случайно, где-то кода распаковки на си?
А разве версия для linux не на Си?dzavalishin wrote:а нету ли, случайно, где-то кода распаковки на си?
там упаковщик. впрочем, я уже нашёл lzma lib, будет время - поэкспериментирую с распаковкойSoUrcerer wrote:А разве версия для linux не на Си?dzavalishin wrote:а нету ли, случайно, где-то кода распаковки на си?
Какой толк от kerpack в ядре, если есть kpack, умеющий сжимать ядро? Можно освододить 6 кб без ущерба для дистра.
Из хаоса в космос
я прошу прощения, но как (чем) упакован этот архив? На рабочей убунте получаю следующее при попытке разархивации:CleverMouse wrote:Я сделала версию kpack для 64-битных unix-систем, основываясь на версии от mike.dld. Код упаковки - на Си, как и первоначальная версия, с некоторыми изменениями, специфичными для 64-битного окружения, главная программа - на fasm.
Code: Select all
$ 7zr e kpack_linux64.7z
7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Processing archive: kpack_linux64.7z
Extracting Makefile Unsupported Method
Extracting lzma_c/common.h Unsupported Method
Extracting lzma_c/lzma.h Unsupported Method
Extracting lzma_c/LZMAEncoder.h Unsupported Method
Extracting lzma_c/MatchFinder.h Unsupported Method
Extracting lzma_c/RangeCoder.h Unsupported Method
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Запакован 7zипом, очевидно же. Но в последних версиях появилась поддержка LZMA2 - так что возможно он.
Используй просто '7z' вместо '7zr'. 7zr поддерживает меньше форматов (но занимает меньше места на диске).
man 7zr
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Processing archive: kpack_linux64.7z
Extracting Makefile
Extracting lzma_c/common.h
Extracting lzma_c/lzma.h
Extracting lzma_c/LZMAEncoder.h
Extracting lzma_c/MatchFinder.h
Extracting lzma_c/RangeCoder.h
Extracting lzma_c/RangeCoderBit.h
Extracting lzma_c/RangeCoderBitTree.h
Extracting lzma_c/LZMAEncoder.c
Extracting lzma_c/MatchFinder.c
Extracting lzma_c/RangeCoder.c
Extracting lzma_c/lzmatest/main.cpp
Extracting kpack64.asm
Extracting lzma_c/lzmapack.dsp
Extracting lzma_c/lzmatest/lzmatest.dsp
Extracting lzma_c/lzmapack.dsw
Extracting lzma_c/readme.txt
Extracting lzma_c/lzmatest
Extracting lzma_c
Everything is Ok
Folders: 2
Files: 17
Size: 78373
Compressed: 15362
man 7zr
DESCRIPTION
7-Zip is a file archiver with the highest compression ratio. The program supports 7z (that implements LZMA compression algorithm), ZIP, CAB, ARJ, GZIP, BZIP2, TAR, CPIO, RPM and DEB formats. Compression ratio in the new 7z format is 30-50% better than ratio in ZIP format.
7zr is a stand-alone executable. 7zr handles less archive formats than 7z, but does not need any others. 7zr is a "light-version" of 7za that only handles 7z archives.
Spoiler:
dbdev-bld5:~/test # 7z e kpack_linux64.7z7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Processing archive: kpack_linux64.7z
Extracting Makefile
Extracting lzma_c/common.h
Extracting lzma_c/lzma.h
Extracting lzma_c/LZMAEncoder.h
Extracting lzma_c/MatchFinder.h
Extracting lzma_c/RangeCoder.h
Extracting lzma_c/RangeCoderBit.h
Extracting lzma_c/RangeCoderBitTree.h
Extracting lzma_c/LZMAEncoder.c
Extracting lzma_c/MatchFinder.c
Extracting lzma_c/RangeCoder.c
Extracting lzma_c/lzmatest/main.cpp
Extracting kpack64.asm
Extracting lzma_c/lzmapack.dsp
Extracting lzma_c/lzmatest/lzmatest.dsp
Extracting lzma_c/lzmapack.dsw
Extracting lzma_c/readme.txt
Extracting lzma_c/lzmatest
Extracting lzma_c
Everything is Ok
Folders: 2
Files: 17
Size: 78373
Compressed: 15362
спасибо за разъяснения =) 7zr у меня видимо только установлен, т.к. по дополнению табом набрался. А я подумал что так 7z зовется..
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
ревизия 3177
kpack использует check_box версии 2
Осталось поправить одну программу и check_box версии 1 можно будет удалять
kpack использует check_box версии 2
Осталось поправить одну программу и check_box версии 1 можно будет удалять
Who is online
Users browsing this forum: No registered users and 1 guest