标签: zlib

有没有人尝试在Ubuntu(最好是Ubuntu 9)上从源代码安装ruby和rubygems?

Ruby on Rails网站建议在Linux下从源代码安装Ruby.我在Ubuntu 9的干净安装中遇到了一些从源代码构建ruby的C库问题.

我在网上发现的关于在Ubuntu上安装ruby的所有说明都涉及使用预先打包的(.deb-based)ruby.显然,这不是铁人们推荐的.

当我做了一个干净的ruby源代码构建时,我发现Rubygems无法安装,因为zlib扩展不起作用.

出现两个问题:

1)没有构建zlib扩展.

解:

i)确保在ruby源的extn目录中的Setup文件中取消注释zlib,并且

ii)确保安装了这些zlib ubuntu软件包:

aptitude install zlib1g
aptitude install zlib1g-dbg
aptitude install zlib1g-dev
aptitude install zlibc
Run Code Online (Sandbox Code Playgroud)

2)在修复上面的问题1(并进行ruby的干净重建)之后,zlib仍然无法正常工作,因为扩展无法加载.

您可以通过运行此命令并输出"false"来查看模块无法加载:

puts require 'zlib'
Run Code Online (Sandbox Code Playgroud)

我观察到这发生在extn目录中的任何其他C扩展中,因此对于这些扩展而言似乎是一个更普遍的问题,而不仅仅是zlib特有的.

总结一下:

  • 我的ruby构建找到了特定于ruby的C zlib扩展,但它无法加载zlib模块.
  • 这种行为似乎发生在/ extn中的其他扩展.

有没有办法可以找出模块无法加载的原因?某种痕迹/详细模式?

ruby linux ubuntu rubygems zlib

3
推荐指数
1
解决办法
1503
查看次数

在centos中安装python setuptools

我必须在我的centos服务器上安装python的mysqldb模块.我有2个版本的python

  1. 2.4.3默认值
  2. 我安装的2.6

我想为2.6版本的python安装mysqldb模块.我从这里安装它,但当我在线

python2.6 setup.py install
Run Code Online (Sandbox Code Playgroud)

它说

Traceback (most recent call last):
File "setup.py", line 5, in <module>
from setuptools import setup, Extension
ImportError: No module named setuptools
Run Code Online (Sandbox Code Playgroud)

所以我从这里开始安装设置工具.使用命令

setuptools-0.6c11-py2.6.egg
Run Code Online (Sandbox Code Playgroud)

因为我安装了2.6 python所以我安装了这个rpm.但是当我执行这个命令时,它说

Traceback (most recent call last):
File "<string>", line 1, in <module>
zipimport.ZipImportError: can't decompress data; zlib not available
Run Code Online (Sandbox Code Playgroud)

但是当我找到命令时,我确实找到了为zlib安装的包和rpm.

/usr/share/doc/zlib-1.2.3
/usr/share/doc/zlib-1.2.3/README
/var/cache/yum/base/packages/zlib-devel-1.2.3-4.el5.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我.我确实想为我安装的python 2.6安装mysqldb模块

/usr/local/bin/
Run Code Online (Sandbox Code Playgroud)

目录.

任何帮助或想法将受到高度赞赏.

python centos zlib setuptools mysql-python

3
推荐指数
1
解决办法
2万
查看次数

gnuplot可以透明地打开压缩数据文件来节省存储空间吗?

我有数GB的数据,用gzip压缩存储会很好.gnuplot可以打开压缩文件吗?如果它不能,有没有办法将数据传递给gnuplot,以便不需要将未压缩的文件写入磁盘?

gzip gnuplot zlib pipe

3
推荐指数
1
解决办法
670
查看次数

zlib错误在共享主机上安装GIT

我正在尝试按照本指南在我的UK2共享主机服务器上安装git:

http://www.randallkent.com/development/install-git-on-a-cpanel-shared-hosting-account

当我收到以下错误时,我已经完成了最后几步'make'和'make install':

config.status: executing config.mak.autogen commands
* new build flags
CC credential-store.o
In file included from credential-store.c:1:
cache.h:19:18: warning: zlib.h: No such file or directory
In file included from credential-store.c:1:
cache.h:21: error: expected specifier-qualifier-list before ‘z_stream’
make: *** [credential-store.o] Error 1
Run Code Online (Sandbox Code Playgroud)

我的托管服务提供商为我启用了zlib压缩,但我仍然无法安装git.

是否有我遗漏的东西或在我的托管服务器上不可能?

非常感谢

unix git zlib

3
推荐指数
1
解决办法
9735
查看次数

如何将minizip包装器转换为unicode?

我正在尝试使用[http://www.zlib.net/]的minzip包装来压缩文件夹.只要文件名是英文,它就可以正常工作.有没有人试图修改minizip来支持unicode?

修改后的代码发布在下面.问题在于这个函数,第二个参数将const char*作为输入.当我进行转换时,它会丢失数据,文件名也不一样.

例如:中文 - 统一码.txt成为zip中的中文-t +ƒS+Çtáü.txt.

err = zipOpenNewFileInZip3_64(  zf,outstr.c_str(),&zi,
                                        NULL,0,NULL,0,NULL /* comment*/,
                                        (opt_compress_level != 0) ? Z_DEFLATED : 0,
                                        opt_compress_level,0,
                                        /* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */
                                        -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
                                        password,crcFile, zip64);








minizip.c
Version 1.1, February 14h, 2010
sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )

Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )

Modifications of Unzip for Zip64
Copyright (C) 2007-2008 Even Rouault

Modifications for Zip64 support on both zip and unzip
Copyright (C) 2009-2010 Mathias …
Run Code Online (Sandbox Code Playgroud)

c c++ zlib

3
推荐指数
1
解决办法
3892
查看次数

如何在golang中包装zlib?

我尝试通过使用cgo从golang调用c zlib来修复golang最慢的zip实现

但是我收到了一个错误

错误:'deflateInit'未声明(首次使用此功能)

deflateInit在zlib.h中定义

我错过了什么吗?谢谢你的任何提示.

package main

/*
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "zlib.h"
*/
import "C"

import (
    "fmt"
)

func main() {
    fmt.Println("hmmm....")
    fmt.Println(int(C.random()))
    var strm C.struct_z_stream
    fmt.Println(strm)
    ret := C.deflateInit(&strm, 5) // trouble here
}
Run Code Online (Sandbox Code Playgroud)

zlib go cgo

3
推荐指数
1
解决办法
1395
查看次数

Qt中的zlib - QtZlib不存在

我正在使用QuaZip库,它具有zlib依赖性.我想在Archlinux和Windows 7下编译我的CMake托管应用程序,我已经安装了Qt 5.3.0.

在Linux上:

我在这里读到" 如何将zlib添加到现有的qt安装 ",zlib是Qt安装的原生部分.但是在archlinux中没有这样的目录.因为我搜索了所有其他Qt包含目录,包括QtCore,但没有zlib的迹象.另一方面,zlib的系统安装可以通过FindZLIB.cmake模块在archlinux上找到.

在Windows上:

在Qt的Windows安装中,Qt include目录中有QtZlib文件夹,因此可以包含它.不过,编译器总是抱怨他无法从库链接zlib函数,错误日志在这里.我还尝试通过TARGET_LINK_LIBRARIES手动设置外部zlib库,但没有成功.

有没有人使用CMake在Qt5下连接Zlib?

c++ qt zlib cmake qt5

3
推荐指数
1
解决办法
1万
查看次数

.NET DeflateStream vs linux zlib的区别

我需要Windows和Ubuntu之间的跨平台压缩/解压缩.据我所知,从.NET 4.5开始,类DeflateStream使用zlib作为压缩库.我编写了两个小的测试程序来压缩数据,一个在C#上运行在Windows上,另一个在'C'上运行在Ubuntu上..NET平台是4.5.2.

C#代码正在使用CompressionLevel.Optimal

C代码使用Z_BEST_COMPRESSION

结果如下:

Input bytes: {9, 12, 13}
C# output: {227, 228, 225, 5, 0};
C output:  {120, 218, 227, 228, 225, 5, 0, 0, 67, 0, 35}
Run Code Online (Sandbox Code Playgroud)

如您所见,C#中压缩数据的长度为5个字节,其中C为11个字节.似乎'C'zlib在页眉中添加2个额外字节,在页脚中添加4个额外字节.

如果需要,我可以共享代码.但是,它取自您在网上看到的标准示例,并且代码没有任何特殊之处.

我错过了什么吗?有办法解决吗?如果页眉和页脚总是保持不变,也许我总是可以添加额外的字节.问候.

.net compression zlib

3
推荐指数
1
解决办法
1511
查看次数

如何在nodejs中压缩流?

我正在努力完成一项非常简单的任务,但我有点困惑,并坚持在nodejs中使用zlib.我正在构建功能,包括我从aws S3下载文件gziped,解压缩并逐行读取.我想用流完成所有这些,因为我相信它可以在nodejs中完成.

这是我目前的代码库:

//downloading zipped file from aws s3:
//params are configured correctly to access my aws s3 bucket and file

s3.getObject(params, function(err, data) {
  if (err) {
    console.log(err);
  } else {

    //trying to unzip received stream:
    //data.Body is a buffer from s3
    zlib.gunzip(data.Body, function(err, unzippedStream) {
      if (err) {
        console.log(err);
      } else {

        //reading line by line unzziped stream:
        var lineReader = readline.createInterface({
          input: unzippedStream
        });
        lineReader.on('line', function(lines) {
          console.log(lines);
        });
      }
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说:

 readline.js:113

        input.on('data', ondata); …
Run Code Online (Sandbox Code Playgroud)

zlib stream gunzip node.js

3
推荐指数
1
解决办法
3127
查看次数

可以将zlib的z_stream重用于几个操作吗?

我目前在玩zlib

通常的示例大致如下(C / C ++伪代码)

z_stream zs;
memset(&zs, 0, sizeof(zs));

if (deflateInit(&zs, Z_DEFAULT_COMPRESSION) != Z_OK)
    return false;

zs.next_in  = input_data;
zs.avail_in = input_size;

zs.next_out  = output_data;
zs.avail_out = output_size;

int result = deflate(&zs, Z_FINISH);

deflateEnd(&zs);

return result == Z_STREAM_END ? true : false;
Run Code Online (Sandbox Code Playgroud)

使用valgrind时,我看到deflateInit和memset并不是完全“免费”的操作,但是需要花费大量时间。

我的问题是,我可以重用z_streamdeflateInit
例如,是否可以仅通过更新缓冲区多次放气?

c c++ zlib

3
推荐指数
1
解决办法
248
查看次数

标签 统计

zlib ×10

c++ ×3

c ×2

.net ×1

centos ×1

cgo ×1

cmake ×1

compression ×1

git ×1

gnuplot ×1

go ×1

gunzip ×1

gzip ×1

linux ×1

mysql-python ×1

node.js ×1

pipe ×1

python ×1

qt ×1

qt5 ×1

ruby ×1

rubygems ×1

setuptools ×1

stream ×1

ubuntu ×1

unix ×1