Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Как заставить tcopy в 32-разрядной системе копировать с ленты на диск файл более 2Gb?

Ответить
Настройки темы
Как заставить tcopy в 32-разрядной системе копировать с ленты на диск файл более 2Gb?

Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


В общем, поскольку не программирую уже больше 10 лет, трудно понять что именно надобно сотворить.
В исходнике tcopy
http://src.opensolaris.org/source/xr.../tcopy/tcopy.c
нет тех функций, к примеру D_FILE_OFFSET_BITS, которые требуют отредактировать в этих документах
http://www.gnu.org/software/coreutil...ined-data-type
http://www.sun.com/software/whitepap...largefiles.pdf

И вообще не смотря на то, что проблема типа стара, я не нашёл ни в одном форуме или блоге, чтобы хоть кто-то описывал, что решил эту проблему. Я думаю за эти годы уже саму tcopy можно было переделать 300 раз.

В общем-то хочется понять что же требуется?
- либо отредактировать функции как для 64-разрядной системы, но ссылки оставить на 32-разрядные библиотеки;
- либо наоборот отредактировать оставить функции, но ссылки сделать на 64-разрядные библиотеки и установить эти бибилиотеки;
Потому что если редактировать всё, то не проще ли взять и скопировать tcopy из 64-разрядной системы?

Заранее благодарен!
Пните в нужном направлении, а то ваще туплю.

Отправлено: 11:15, 26-01-2010

 

Аватара для ruslandh

info man howto


Сообщения: 6958
Благодарности: 384

Профиль | Сайт | Отправить PM | Цитировать


Как я понимаю, проблема в sys/types.h или его аналога
Цитата http://www.sun.com/software/whitepapers/wp-largefiles/largefiles.pdf:
Setting _FILE_OFFSET_BITS to 64 before including any system headers
enables 64-bit interfaces.

Not defining this macro or setting it as to 32 will result in the regular
compilation environment as discussed above.
IMHO проблема в 32-х разрядной системе неразрешима.

-------
Поспешай не торопясь


Отправлено: 18:04, 31-01-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Да, всё получилось!

В исходнике поменял в двух местах open() на open64() и откомпилировал:
gcc -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 tcopy2.c -o tcopy2

И на CentOS 5.2. и на Solaris 8 всё откомпилировалось без ошибок.

Но долго не удавалось проверить - не было доступа к ленточным устройствам.

Сегодня получил доступ на Solaris 8 и удалось скопировать с ленты на диск 10-гигабайтный файл.
Правда он всё равно что-то в конце гадостливое сказал на прощание:

file 1: records 223462 to 223463: size 512
file 1: records 223464 to 223523: size 64512
file 1: record 223524: size 52992
file 1: record 223525: size 4
file 1: record 223526: size 512
file 1: records 223527 to 223529: size 64512
file 1: record 223530: size 49824
file 1: record 223531: size 4
file 1: records 223532 to 223635: size 512
file 1: eof after 223635 records: 10195176924 bytes
Write EOF: Inappropriate ioctl for device

Отправлено: 15:22, 15-02-2010 | #3



Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Как заставить tcopy в 32-разрядной системе копировать с ленты на диск файл более 2Gb?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как разбить *.avi файл на 2 и более частей azbest Видео и аудио: обработка и кодирование 10 20-10-2009 15:58
Flash - нужна помошь, немагу копировать файлы на (Kingston SD 2GB)! freeman_at Накопители (SSD, HDD, USB Flash) 1 25-08-2009 00:40
Разное - [решено] Как заставить ВИСТу показывать расширения файлов в системе? SimPbl4 Microsoft Windows Vista 13 03-07-2009 23:48
CMD/BAT - [решено] копировать с CD файлы *.rar на жёсткий диск в одну и ту же папку (ММ.ДД-ДД) PupsIC Скриптовые языки администрирования Windows 8 08-09-2007 17:10
Как заставить dial-in хватать трубу на 7 звонок или более serg m Сетевые технологии 2 19-09-2004 00:36




 
Переход