Dear Ivan,
I can easily copy files of up to several GBs into the directory, where
the temporary session file is written to. Interestingly enough, my
settings work fine for loading 5.000.000 triples (~500 MB), which takes
about 10 mins, but if I try to load the 25.000.000 triples file it fails
after approx. 1 min. with the posted error message.
I also tried striping the DB over several files, but unfortunately to no
avail. It still gives me the same error message. What confuses me the
most, is that the error occurs really fast, as mentioned above in
approx. 1 min., so I don't see how the system can run out of memory that
fast. The 5.000.0000 file wrote a DB file of about 1GB into the same
dir, with no problems.
I have already deleted the Makefile I used, but attached is the Makefile
re-created with no additional options specified (besides I am pretty
sure, that I did not use the FILE64 switch).
Best regards,
Thomas
Ivan Mikhailov schrieb:
Thomas,
Please check if the root Makefile of your build contains something like
CCPLATFORMDEFS = -Dlinux -D_GNU_SOURCE -DFILE64 -D_LARGEFILE64_SOURCE
Without detected support of FILE64 the compiled server is unable to keep
files that are longer than 4Gb.
Even in bad case you still can deal with big database files by using
striping.
For more precise diagnostics I need your Makefile.
Additional question is space for temporary session files. They reside in
directory specified by TempSesDir parameter of [Parameters] section of
configuration file (say, virtuoso.ini); server's working directory is
used by default. Can you write, say, a copy of your source-form RDF
files to that directory?
Best Regards,
Ivan Mikhailov,
OpenLink Software.
On Wed, 2008-03-12 at 12:51 +0100, Thomas Hornung wrote:
Hi,
unfortunately my load problem doesn't seem to be fixed yet. I can load
datasets of up to approx. 500 MB (~ 5.000.000 triples), but when trying
to load a file with 25.000.000 triples (~ 2.7 GB), I get the following
error message:
13:39:06 Can't write to file
/data/SP2B/sp2b/bench/sparqlengines/virtuoso//sesnZpG6K
File size limit exceeded
I already checked, and there are no user limits for the file size. The
used file system is ext3, which should support files of at least up to
16 GB, so this cannot be the problem either.
The weirdest thing is that the files:
virtuoso.trx
virtuoso.db
do not change their initial size after the start of the load, which
normally happened for the other file sizes.
I am using the following load command, which works fine for the
"smaller" files:
ttlp_mt
(file_to_string_output('/data/SP2B/sp2b/bench/data/rdf/dblp25000000.n3'),
'', 'http://my_graph', 0);
Am I missing something obvious here?
Best regards,
Thomas
Ivan Mikhailov schrieb:
Thomas,
Yes, DB.DBA.TTLP_MT() is more suitable. Among other things it does not
try to fit everything into single transaction.
Best Regards,
Ivan Mikhailov,
OpenLink Software.
On Fri, 2008-02-22 at 15:03 +0100, Thomas Hornung wrote:
Hi,
I have a problem when I try to load a "large" (~109MB, approx. 1.000.000
triples) RDF data set into Virtuoso. Ideally I'd like to load files of
up to several GBs into Virtuoso.
I always get the same error message:
Connected to OpenLink Virtuoso
Driver: 05.00.3026 OpenLink Virtuoso ODBC Driver
*** Error 40005: [Virtuoso Driver][Virtuoso Server]SR325: Transaction
aborted because it's log after image size went above the limit
at line 2 of Command-Line-Load virtuoso_cmds/load_1000000.virtuoso:
ttlp (file_to_string_output(...)
*** Error 40005: [Virtuoso Driver][Virtuoso Server]SR325: Transaction
aborted because it's log after image size went above the limit
at line 2 of Command-Line-Load virtuoso_cmds/load_1000000.virtuoso:
ttlp (file_to_string_output(...)
OK
Where can I increment the image/log size? Or am I using the wrong
command, i.e. is ttlp the wrong command for bulk loading?
Thanks,
Thomas
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
#
# This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
# project.
#
# Copyright (C) 1998-2006 OpenLink Software
#
# This project is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; only version 2 of the License, dated June 1991.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
#
pkgdatadir = $(datadir)/virtuoso-opensource
pkglibdir = $(libdir)/virtuoso-opensource
pkgincludedir = $(includedir)/virtuoso-opensource
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \
ChangeLog INSTALL NEWS binsrc/config/compile \
binsrc/config/config.guess binsrc/config/config.sub \
binsrc/config/depcomp binsrc/config/install-sh \
binsrc/config/ltmain.sh binsrc/config/missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/libsrc/Dk/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = ${SHELL} /tmp/virtuoso-opensource-5.0.5/binsrc/config/missing --run
aclocal-1.10
AMTAR = ${SHELL} /tmp/virtuoso-opensource-5.0.5/binsrc/config/missing --run tar
AM_LDFLAGS = -s
AR = ar
AUTOCONF = ${SHELL} /tmp/virtuoso-opensource-5.0.5/binsrc/config/missing --run
autoconf
AUTOHEADER = ${SHELL} /tmp/virtuoso-opensource-5.0.5/binsrc/config/missing
--run autoheader
AUTOMAKE = ${SHELL} /tmp/virtuoso-opensource-5.0.5/binsrc/config/missing --run
automake-1.10
AWK = gawk
BINDIR = /tmp/virtuoso-opensource-5.0.5/bin
BUILD_GLIB_CFLAGS =
BUILD_GLIB_LIBS =
BUILD_OPTS = xml ssl imsg pldebug pthreads
CC = gcc
CCDEBUG = -DNDEBUG
CCDEFS =
CCDEPMODE = depmode=gcc3
CCLIBS = /usr/lib/gcc/i486-linux-gnu/4.1.3/libgcc.a
CCOPT = -fomit-frame-pointer -O2
CCPLATFORMDEFS = -Dlinux -D_GNU_SOURCE -DFILE64 -D_LARGEFILE64_SOURCE
CCWARN = -Wall
CFLAGS = -g -O2
CPP = /usr/bin/cpp
CPPFLAGS =
CXX = g++
CXXCPP = g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO = echo
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
F77 =
FFLAGS =
FLEX = /usr/bin/flex
GAWK = /usr/bin/gawk
GLIB_CFLAGS =
GLIB_LIBS =
GMODULE_CFLAGS =
GMODULE_LIBS =
GPERF = /usr/bin/gperf
GREP = /bin/grep
HTMLDOC =
IM_CFLAGS =
IM_LDFLAGS =
INCDIR = /tmp/virtuoso-opensource-5.0.5/include
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld
LDFLAGS =
LEX = flex
LEXLIB = -lfl
LEX_OUTPUT_ROOT = lex.yy
LIBDIR = /tmp/virtuoso-opensource-5.0.5/lib
LIBDL = -ldl
LIBOBJS =
LIBRDL =
LIBS = -lm
LIBTHR = -lpthread
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LN_S = ln -s
LTLIBOBJS =
MAINT = #
MAKEINFO = ${SHELL} /tmp/virtuoso-opensource-5.0.5/binsrc/config/missing --run
makeinfo
MKDIR_P = /bin/mkdir -p
OBJEXT = o
OPSYS = Linux
PACKAGE = virtuoso-opensource
PACKAGE_BUGREPORT = vos.ad...@openlinksw.com
PACKAGE_NAME = Virtuoso Open Source Edition
PACKAGE_STRING = Virtuoso Open Source Edition 5.0.5
PACKAGE_TARNAME = virtuoso-opensource
PACKAGE_VERSION = 5.0.5
PATH_SEPARATOR = :
PERL = /usr/bin/perl
PERL_CFLAGS =
PERL_LDFLAGS =
PKG_CONFIG =
PLSTATS = PLDBG
PORT = 1111
PYTHON = /usr/bin/python
PYTHON_CFLAGS =
PYTHON_LDFLAGS =
RANLIB = ranlib
RUBY = ruby
RUBY_CFLAGS =
RUBY_LDFLAGS =
SED = /bin/sed
SET_MAKE =
SHELL = /bin/bash
STRIP = strip
SYSLIBS =
TOP = /tmp/virtuoso-opensource-5.0.5
VERSION = 5.0.5
VIRT_AM_CFLAGS = -fomit-frame-pointer -O2 -Wall -DNDEBUG
-I/tmp/virtuoso-opensource-5.0.5/libsrc/Xml.new -DOPENSSL_NO_KRB5 -Dlinux
-D_GNU_SOURCE -DFILE64 -D_LARGEFILE64_SOURCE
WBXML2_CFLAGS =
WBXML2_LDFLAGS = -lwbxml2
WGET =
XML2_CONFIG = /usr/bin/xml2-config
XML_CPPFLAGS = -I/usr/include/libxml2
XML_LIBS = -L/usr/lib -lxml2
YACC = bison -y
YFLAGS =
abs_builddir = /tmp/virtuoso-opensource-5.0.5
abs_srcdir = /tmp/virtuoso-opensource-5.0.5
abs_top_builddir = /tmp/virtuoso-opensource-5.0.5
abs_top_srcdir = /tmp/virtuoso-opensource-5.0.5
ac_ct_CC = gcc
ac_ct_CXX = g++
ac_ct_F77 =
ac_jdk1_path = none
ac_jdk2_path = none
ac_jdk3_path = none
am__include = include
am__leading_dot = .
am__quote =
am__tar = tar --format=ustar -chf - "$$tardir"
am__untar = tar -xf -
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias =
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
builddir = .
ccincl = -I/tmp/virtuoso-opensource-5.0.5/libsrc/Xml.new -DOPENSSL_NO_KRB5
clntlibs = -lssl -lcrypto
datadir = ${datarootdir}
datarootdir = ${prefix}/share
dbdir = ${prefix}/var/lib/virtuoso/db
demodir = ${prefix}/var/lib/virtuoso/demo
docdir = ${datarootdir}/virtuoso/doc
dvidir = ${docdir}
exec_prefix = ${prefix}
host = i686-pc-linux-gnu
host_alias =
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
hostingdir = ${exec_prefix}/lib/virtuoso/hosting
htmldir = ${docdir}
htmldocdir = ${datarootdir}/virtuoso/doc/html
httprootdir = ${prefix}/var/lib/virtuoso/vsp
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = $(SHELL) /tmp/virtuoso-opensource-5.0.5/binsrc/config/install-sh
iodbc_LDFLAGS =
java_CPPFLAGS =
java_LDFLAGS =
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
libxml_file = /tmp/virtuoso-opensource-5.0.5/lib/libxml.la
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = /bin/mkdir -p
oldincludedir = /usr/include
openldap_CFLAGS =
openldap_LDFLAGS = -lldap -llber
openssl_CFLAGS = -DOPENSSL_NO_KRB5
openssl_LDFLAGS = -lssl -lcrypto
pdfdir = ${docdir}
pdfdocdir = ${datarootdir}/virtuoso/doc/pdf
php4_CFLAGS =
php4_LDFLAGS =
php5_CFLAGS =
php5_LDFLAGS =
prefix = /usr/local/virtuoso-opensource
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
srvrlibs = -lssl -lcrypto -lpthread -ldl
sysconfdir = ${prefix}/etc
target_alias =
top_builddir = .
top_srcdir = .
vaddir = ${datarootdir}/virtuoso/vad
AUTOMAKE_OPTIONS = gnu
SUBDIRS = . docsrc libsrc binsrc appsrc
# ----------------------------------------------------------------------
#
# Maintainers only
#
# ----------------------------------------------------------------------
MAINTAINERCLEANFILES = aclocal.m4 configure
# ----------------------------------------------------------------------
#
# Additional files to distribute
#
# ----------------------------------------------------------------------
EXTRA_DIST = \
AUTHORS \
COPYING \
CREDITS \
INSTALL \
LICENSE \
NEWS \
README* \
autogen.sh \
bin/makever \
bin/generate \
bin/libtool.macosx \
bin/installer/virtuoso.ini bin/installer/demo.ini \
win32/mkperlenv.pl \
win32/mkpythonenv.py \
win32/*.bat \
win32/*.vcproj \
win32/*.sln \
win64/*.vcproj \
win64/*.sln
all: all-recursive
.SUFFIXES:
am--refresh:
@:
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
cd $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@
$(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@
$(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure
$(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: # $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags);
\
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS)
ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d $(distdir) || mkdir $(distdir)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c
>$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c
>$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e
's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base"
\
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-exec-am:
install-html: install-html-recursive
install-info: install-info-recursive
install-man:
install-pdf: install-pdf-recursive
install-ps: install-ps-recursive
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
install-strip
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-libtool distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
#
# Create a tar file containing a binary installation
#
#binary-tar:
# -mkdir i686-pc-linux-gnu
# $(MAKE) install DESTDIR="`pwd`/i686-pc-linux-gnu/tmp/" prefix=..
# tar cvf i686-pc-linux-gnu.tar i686-pc-linux-gnu
# gzip -9vf i686-pc-linux-gnu.tar
# rm -rf i686-pc-linux-gnu
#
# Create an official release package
#
#release:
# $(MAKE) distcheck
#
# Generate ChangeLog
#
#changelog:
# cvs2cl --no-wrap --utc --hide-filenames --prune --window 86400
#
# Create a source snapshot package
#
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-`date +"%Y%m%d"`
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: