Articles of 可移植性

将python脚本转换为使用lxml的etree模块的linux二进制文件的问题

我在2013年9月基本上和这个人有同样的问题。 相关问题: Cx_freeze与lxml.html TypeError (有人通过编辑cx-freeze代码发现了一个修复,但没有深入解释), cx-freeze没有find所有的依赖关系 (不知道如何在Linux中打开egg) 我不能评论它,直到我有50的声誉,所以我发布了这个线程。 我正在使用cx_freeze的4.3.1来冻结下列模块: import sys import getopt from time import gmtime, strftime, time from os.path import exists from lxml import etree 我的setup.py脚本: import sys from cx_Freeze import setup, Executable #build_exe_options = {"packages": ["sys","getopt","time","os","lxml"]} build_exe_options = {"packages": ["sys","getopt","time","os","lxml","BeautifulSoup","lxml.html.soupparser","lxml.html.html5parser","lxml.html.diff","lxml.ElementInclude"]} setup( name = "cmpxml", version = "r13", description = "", options = […]

LSB AppChecker:GCC与未使用的库链接

我正在用LSB AppChecker检查共享对象(.so)的可移植性。 它报告的问题之一是,有一个外部库(libm.so.6)没有被使用,但反正被链接。 我怎样才能防止GCC链接到这个不需要的库? 编辑: 对我的共享对象的ldd命令的输出是: linux-gate.so.1 => (0x009ff000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x003dc000) libm.so.6 => /lib/libm.so.6 (0x00110000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00137000) libc.so.6 => /lib/libc.so.6 (0x0021d000) /lib/ld-linux.so.2 (0x0097f000)

在Windows XP中的Kdevelop

我收到了一位在Kdevelop IDE上开发Linux上的Qt应用程序的朋友的src档案。 是否有可能在一些IDE中加载Windows中的Kdevelop项目? 在没有Cygwin / Msys等Windows上有一个Kdevelop端口? 有没有什么变通办法,或者我需要安装Linux并负责? 更新:我访问了下面的答案中提到的页面 ,但KdeWin安装程序中没有Kdevelop软件包。 看到这里

轻松部署Python和应用程序在一个捆绑包,对于Linux

我开发在服务器端相当大的python应用程序,所有数据库连接,文件提取,parsing,命令行调用。 因为我在标准的python lib之外使用了许多第三方模块,所以它成为部署的噩梦。 而我失去了他们的踪迹。 特别是不同的Linux操作系统使用不同的版本,所以使用操作系统的软件包pipe理器来安装它们不再是好事。 我想部署他们在包括目前的python版本,我正在使用(大多数操作系统仍然与Python 2.5,6我使用2.7和2.7特定function)。 更重要的是,我必须教导客户如何部署,以便在其他服务器上进行testing。 但他们不是Linux专家。 我必须在一个脚本中或通过复制和粘贴来简化。 有Windows的PortablePython但Linux没有。 而我从来没有使用python包装,因为我通常在服务器上工作,我只主办。 请赐教python的可用打包和部署选项,包括所有已安装的python模块和python本身。

Linux二进制独立于共享库

我有一个C ++程序依赖于相当多的库(一些常见的系统库,如libjpeg,一些没有安装在系统中的个人库)。 本程序在机器A(Debian Squeeze)上编译良好。 我想在机器B(Ubuntu maveric)和机器C(Arch)上运行程序。 假定两台机器B + C都是非常小型的装置。 不要指望find我的程序在那里使用的任何库,如果有任何它们不是相同的版本。 有什么程序可以扫描我的程序的所有依赖项(使用ldd或其他)收集所有这些依赖关系,并生成一个脚本,告诉二进制文件使用这些,只有这些库随其他系统? 谢谢 !

现代terminal通常会正确地呈现所有utf-8字符吗?

我正在写一个应用程序,将在terminal中运行,这将是方便,但不必使用一些较less使用的Unicode字符。 从我的实验,我没有任何麻烦渲染他们。 但是,如果将来有麻烦的话,我不会使用任何非ASCII字符。 所以,总之,我可以指望现代* nix世界中的任何terminal或terminal模拟器(主要是linux,freebsd和osx)来正确呈现任意的utf-8字符吗? 如果我不能做出这样的假设,那么为了各种目的定义了特定的unicode字符子集,那么至less可以在任何可能的现代* nixterminal或terminal仿真器中可靠地呈现某些这样的子集? 注意:当我说任意的,我的意思是任意的:任何Unicode字符。 但是为了完整我的问题,我会注意到我主要对箭头和math字符感兴趣,这个链接有两个列表: https : //en.wikipedia.org/wiki/Unicode_symbols 。

Linux的可移植版本是否可用?

Linux的可移植版本是否可用?

便携式共享对象?

是否有可能像Windows中的DLL那样以便携的方式使用共享对象文件? 我想知道是否有一种方法可以为Linux提供一个编译好的库,可以使用。 就像你可以在Windows中编译一个DLL一样,它可以在任何其他Windows上使用(可以,不是任何其他的,但大部分都可以)。 在Linux中可能吗? 编辑: 我刚醒来就读了答案。 有一些非常好的。 我不想隐藏源代码。 我只想提供一个已经编译好的库,所以没有编译经验的用户不需要自己做。 因此,这个想法是提供一个可以在尽可能多的不同Linux上运行的.so文件。 该库是用C ++编写的,使用STL和Boost库。

Nix / OS架构概述?

虽然Nix / OS wiki和手册提供了很多优秀的信息,但是我仍然无法获得架构概述。 对这些问题的数量和原理抱有歉意; 随时回答一个子集: 1.什么是Nix包? 从我阅读本手册的一个Nix包是: 一世。 获取需要构build的源代码和依赖关系的Nixexpression式。 II。 一个builder脚本。 III。 all-packages.nix上列出。 源代码和二进制代码以及生成的派生代码放在nix/store ,通道自动执行更新,通过使用共享二进制caching来保持最新。 一个。 这是正确和完整的吗? 湾 .nixexpression式存储在哪里? C。 如果他们有相同的体系结构,我可以简单地复制不同机器的nix/store之间的包文件夹吗? 2.什么构成Nix环境? 一个。 何处以及如何定义环境? 湾 那么用户configuration文件呢? C。 nix-shell命令如何工作? 它与nix-env命令有关吗? 3. NixOS的configuration.nix和Nix环境有什么关系? 从手册和维基我收集NixOS是一个Nix包,那Nix创build一个基于configuration.nix的基本系统环境。 一个。 这是真的,如果是这样的话, nixos-rebuild和nixos-install做了什么? 湾 是否有可能扭转过程,即从环境中生成简洁的包或configuration文件? C。 我可以用NixOS做什么,我不能用Nix做什么? 4.使用Nix创build便携式和可重复的环境以便与同事分享时,最佳做法是什么? 一个。 共享桌面,服务器和开发环境的各种方法有哪些? 湾 这些方法有什么用途? C。 它们对便携性和可访问性有哪些优点和缺点? 5.开放奖金问题:关于Nix / OS体系结构还需要注意什么?

CMAKE中操作系统特定的指令:如何?

我是CMAKE的初学者。 下面是一个简单的cmake文件,在mingw环境窗口中运行良好。 问题很明显,CMAKE的target_link_libraries()函数在链接libwsock32.a。 在Windows中,这个工作,我得到的结果。 但是,正如预期的那样,在Linux中,/ usr / bin / ld将查找Linux操作系统上不存在的-lwsock32。 我的问题是:如何指示CMAKE避免在Linux OS中连接wsock32库? 任何帮助将不胜感激。 我简单的CMake文件: PROJECT(biourl) set (${PROJECT_NAME}_headers ./BioSocketAddress.h ./BioSocketBase.h ./BioSocketBuffer.h ./BioSocketCommon.h ./BioSocketListener.h ./BioSocketPrivate.h ./BioSocketStream.h ./BioUrl.h BioDatabase.h ) set (${PROJECT_NAME}_sources BioSocketAddress.C BioSocketBase.C BioSocketCommon.C BioSocketStream.C BioUrl.C BioDatabase.C ) add_library(${PROJECT_NAME} STATIC ${${PROJECT_NAME}_headers} ${${PROJECT_NAME}_sources} ) # linkers #find_library(ws NAMES wsock32 PATHS ${PROJECT_SOURCE_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_DEFAULT_PATH) target_link_libraries(${PROJECT_NAME} bioutils wsock32) install (TARGETS […]