从 github 源构建 virtuoso-opensource 7.2 DEB 包

从 github 源构建 virtuoso-opensource 7.2 DEB 包

有谁知道如何从源代码创建包含 isql 的 virtuoso-opensource 7.1 ubuntu deb 包?

make install如果我从源执行virtuoso-tisql安装到文件夹中,但是,如果我在同一个源上/usr/local/virtuoso-opensource/bin执行,它只会安装但不包含在内。dpkg-buildpackage/usr/bin/virtuoso-tisql

安装 7.1(包括 isql)

 apt-get install -y bison libtool flex gperf autoconf gawk make libssl-dev wget unzip
 wget --no-check-certificate -q https://github.com/openlink/virtuoso-opensource/archive/develop/7.zip -O virtuoso-opensource.zip
 unzip -q virtuoso-opensource.zip
 cd virtuoso-opensource
 ./autogen
 ./configure
 make
 sudo make install

结果是一个bin包含以下内容的目录virtuoso-tisqlisqlw, ETC:

/usr/local/virtuoso-opensource/bin/:
total 13544
-rw-r--r-- 1       95 Sep  8 12:06 backup.sql
-rwxr-xr-x 1    31840 Jun 18 15:39 inifile
-rwxr-xr-x 1   518984 Jun 18 15:39 isql
-rwxr-xr-x 1   649128 Jun 18 15:39 isqlw
-rwxr-xr-x 1   439856 Jun 18 15:39 virt_mail
-rwxr-xr-x 1 12214992 Jun 18 15:39 virtuoso-t

7.1 版的打包和安装(没有isql

但是,如果我从与上述相同的源构建一个 deb 包并安装它,我只会得到/usr/bin/virtuoso-t而得不到isqlisqlw等等。

 apt-get install -y bison libtool flex gperf autoconf gawk make libssl-dev wget unzip
 apt-get install -y build-essential debhelper autotools-dev automake net-tools m4 libreadline-dev openssl
 wget --no-check-certificate -q https://github.com/openlink/virtuoso-opensource/archive/develop/7.zip -O virtuoso-opensource.zip
 unzip -q virtuoso-opensource.zip
 cd virtuoso-opensource
 dpkg-buildpackage -us -uc -rfakeroot
 cd ..
 dpkg -i virtuoso-opensource_7.1_amd64.deb

笔记:Nolan Nichols 发布了一个 dockerfile构建一个 virtuoso-opensource 7.1 服务器(尽管它也没有isql)。

6.1 服务器包(包含isql

Openlink 有按照我的要求做,但版本比较旧我还不知道如何使这些说明适应 7.1。

 sudo apt-get update
 sudo aptitude install dpkg-dev build-essential
 mkdir C
 cd C
 apt-get source virtuoso-opensource
 cd virtuoso-opensource-6.1.2+dfsg1/
 sudo aptitude build-dep virtuoso-opensource
 dpkg-buildpackage -rfakeroot
 ls
      libvirtodbc0_6.1.2+dfsg1-1ubuntu4_amd64.deb
      libvirtuoso5.5-cil_6.1.2+dfsg1-1ubuntu4_amd64.deb
      virtuoso-minimal_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-nepomuk_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-opensource-6.0_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-opensource-6.1.2+dfsg1
      virtuoso-opensource_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-opensource_6.1.2+dfsg1-1ubuntu4_amd64.changes
      virtuoso-opensource_6.1.2+dfsg1-1ubuntu4.diff.gz
      virtuoso-opensource_6.1.2+dfsg1-1ubuntu4.dsc
      virtuoso-opensource_6.1.2+dfsg1.orig.tar.gz
      virtuoso-opensource-6.1_6.1.2+dfsg1-1ubuntu4_amd64.deb
      virtuoso-opensource-6.1-bin_6.1.2+dfsg1-1ubuntu4_amd64.deb
      virtuoso-opensource-6.1-common_6.1.2+dfsg1-1ubuntu4_amd64.deb
      virtuoso-server_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-bpel_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-conductor_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-demo_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-doc_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-isparql_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-ods_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-cartridges_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-sparqldemo_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-syncml_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vad-tutorial_6.1.2+dfsg1-1ubuntu4_all.deb
      virtuoso-vsp-startpage_6.1.2+dfsg1-1ubuntu4_all.deb

答案1

从 github 源构建 virtuoso-opensource 7.2 DEB 包

谢谢扬·马切克弄脏,他们都在 github 上发布了帖子,我能够在干净的 Ubuntu 14.04 服务器系统上使用以下命令从源代码编译 virtuoso-opensource 7.2:

apt-get update
apt-get install -y openjdk-6-jdk git build-essential automake
mkdir -p /tmp/build && cd /tmp/build
git clone https://github.com/openlink/virtuoso-opensource.git
cd /tmp/build/virtuoso-opensource
git checkout v7.2.0.1
deps=$(dpkg-checkbuilddeps 2>&1 | sed 's/.*: //' | sed 's/([^)]*)//g') && apt-get install -y $deps
fakeroot debian/rules clean binary

构建完成后,将在/tmp/build/

libvirtjdbc0_7.2_amd64.deb                  
virtuoso-vad-bpel_7.2_all.deb
libvirtodbc0_7.2_amd64.deb                  
virtuoso-vad-conductor_7.2_all.deb
libvirtuoso5.5-cil_7.2_amd64.deb            
virtuoso-vad-demo_7.2_all.deb
virtuoso-minimal_7.2_all.deb                
virtuoso-vad-doc_7.2_all.deb
virtuoso-nepomuk_7.2_all.deb                
virtuoso-vad-isparql_7.2_all.deb
virtuoso-opensource                         
virtuoso-vad-ods_7.2_all.deb
virtuoso-opensource_7.2_all.deb             
virtuoso-vad-rdfmappers_7.2_all.deb
virtuoso-opensource-7_7.2_amd64.deb         
virtuoso-vad-sparqldemo_7.2_all.deb
virtuoso-opensource-7-bin_7.2_amd64.deb     
virtuoso-vad-syncml_7.2_all.deb
virtuoso-opensource-7-common_7.2_amd64.deb  
virtuoso-vad-tutorial_7.2_all.deb
virtuoso-server_7.2_all.deb                 
virtuoso-vsp-startpage_7.2_all.deb 

从 DEB 包安装

dpkg -i *.deb  # might fail because of missing dependencies
apt-get -f install -y  # fixes dependencies and continues installation

现在 isql 已可用/usr/bin/!!

用法

/etc/init.d/virtuoso-opensource-7 {start|stop|force-stop|restart|force-reload|status}

/usr/bin/isql-vt <HOST>[:<PORT>] <UID> <PWD> file1 file2 ...

从 repo 安装

我还发现Virtuoso 7.2 是 OpenDataNode 的一部分并且可以从他们的 repo 中安装。

echo "deb http://packages.comsode.eu/debian wheezy main" > /etc/apt/sources.list.d/odn.list
wget -O - http://packages.comsode.eu/key/odn.gpg.key | apt-key add -
apt-get update
apt-get install -y virtuoso-opensource=7.2

相关内容