evalempire / alien-svn Goto Github PK
View Code? Open in Web Editor NEWEasy installation of the Subversion Perl Bindings
Easy installation of the Subversion Perl Bindings
Alien-SVN-v1.7.17.1 install failed with following message:
/bin/sh /Users/xxxxxx/.cpanm/work/1409737005.26381/Alien-SVN-v1.7.17.1/src/subversion/libtool --tag=CC --silent --mode=compile gcc -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -g -O2 -Werror=implicit-function-declaration -I./subversion/include -I./subversion -I/usr/include/apr-1 -I/usr/include/apr-1 -o subversion/libsvn_ra/util.lo -c subversion/libsvn_ra/util.c
cd subversion/libsvn_ra && /bin/sh /Users/xxxxxx/.cpanm/work/1409737005.26381/Alien-SVN-v1.7.17.1/src/subversion/libtool --tag=CC --silent --mode=link gcc -g -O2 -Werror=implicit-function-declaration -rpath /Users/xxxxxx/.plenv/versions/5.20.0/lib/perl5/site_perl/5.20.0/darwin-2level/Alien/SVN -version-info 0 -o libsvn_ra-1.la compat.lo debug_reporter.lo deprecated.lo ra_loader.lo util.lo ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la ../../subversion/libsvn_ra_local/libsvn_ra_local-1.la ../../subversion/libsvn_repos/libsvn_repos-1.la ../../subversion/libsvn_fs/libsvn_fs-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la ../../subversion/libsvn_ra_svn/libsvn_ra_svn-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la -laprutil-1 -lapr-1 -framework Security -framework CoreFoundation -framework CoreServices
/Users/xxxxxx/.pyenv/shims/python ./build/transform_sql.py subversion/libsvn_wc/wc-queries.sql ./subversion/libsvn_wc/wc-queries.h
Traceback (most recent call last):
File "./build/transform_sql.py", line 177, in <module>
output_file = open(sys.argv[2], 'w')
IOError: [Errno 13] Permission denied: './subversion/libsvn_wc/wc-queries.h'
make: *** [subversion/libsvn_wc/wc-queries.h] Error 1
installing libs failed at inc/My/SVN/Builder.pm line 174.
OK
Successfully installed Alien-SVN-v1.7.17.1
Installing /Users/xxxxxx/.plenv/versions/5.20.0/lib/perl5/site_perl/5.20.0/darwin-2level/.meta/Alien-SVN-v1.7.17.1/install.json
1 distribution installed
I checked files in http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWERN/Alien-SVN-v1.7.17.1.tar.gz , so I found that all files in src/subversion/ don't have write permission:
โ Alien-SVN-v1.7.17.1 ls -al src/subversion/subversion/libsvn_wc
total 4984
drwxr-xr-x 54 xxxxxx wheel 1836 6 13 02:18 .
drwxr-xr-x 35 xxxxxx wheel 1190 6 13 02:18 ..
-r--r--r-- 1 xxxxxx wheel 9146 6 13 02:18 README
...
-r--r--r-- 1 xxxxxx wheel 70162 6 13 02:18 wc-queries.h
-r--r--r-- 1 xxxxxx wheel 46840 6 13 02:18 wc-queries.sql
-r--r--r-- 1 xxxxxx wheel 30226 6 13 02:18 wc.h
-r--r--r-- 1 xxxxxx wheel 440775 6 13 02:18 wc_db.c
-r--r--r-- 1 xxxxxx wheel 126945 6 13 02:18 wc_db.h
-r--r--r-- 1 xxxxxx wheel 29642 6 13 02:18 wc_db_pristine.c
-r--r--r-- 1 xxxxxx wheel 8914 6 13 02:18 wc_db_private.h
-r--r--r-- 1 xxxxxx wheel 6901 6 13 02:18 wc_db_util.c
-r--r--r-- 1 xxxxxx wheel 28067 6 13 02:18 wc_db_wcroot.c
-r--r--r-- 1 xxxxxx wheel 61844 6 13 02:18 workqueue.c
-r--r--r-- 1 xxxxxx wheel 12057 6 13 02:18 workqueue.h
Is it a problem when making distfile?
When I try to install this module I'm getting error when it is compiling subversion:
configure: error: expected an absolute directory name for --prefix: .../..
I believe this may be because I compiled PERL (v5.24) with option "--prefix=/app/myapp/local" to install in a separate directory. My Perl Config shows:
$ perl -M"Config qw(config_sh)" -E 'say foreach grep(/prefix=/,split(/\n/,config_sh()))'
config_arg2='-Dprefix=/app/myapp/local/perl-5.24.0'
config_args='-Duserelocatableinc -Dprefix=/app/myapp/local/perl-5.24.0 -de'
installprefix='/app/myapp/local/perl-5.24.0'
prefix='.../..'
siteprefix='.../..'
usevendorprefix='undef'
vendorprefix=''
Maybe add in your Builder.pm (sub _default_configure_args) script to also include $Config{installprefix} and check for absolute path since that is required in the SVN configure.
Hello,
I'm listing folder contents, but the url/path have accents, and svn return a error message:
subversion/libsvn_subr/dirent_uri.c:1500: uri_skip_ancestor: Assertion svn_uri_is_canonical(child_uri, ((void *)0))' failed.
Code:
my $last_rev = $svn->get_latest_revnum;
my $list_refs = $ctx->ls( $url, $last_rev, 0)
My alternative at this moment is call with direct command, but i like can call by your library.
Thanks and sorry if i wrong to reporting.
Regards.
In preparation for the release of perl-5.28.0 in May 2018, I have been testing a selected subset of CPAN distributions against monthly development releases in the perl-5.27.* series.
Today I attempted to install Alien-SVN against perl-5.27.10 on FreeBSD-11.0 using cpanm
as the installer. The installation failed during the build stage. Please find attached a summary of the cpanm
build.log
output for this attempt, as well as the relevant perl -V
output.
Given the error messages which appeared, I took the precaution of (re-)installing the sqlite3
and apr
ports. However, I got the same failures. Indeed, the output attached is from the second run of the program.
Please advise. Thank you very much.
Jim Keenan
freebsd-11.0.perl-5.27.10_V.txt
MSCHWERN.Alien-SVN-v1.8.11.0.log.txt
This line in SVN/Core.pm:
$SVN::Core::VERSION = "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO";
...means that static analysis tools like Module::Metadata and MM->parse_version cannot determine a version. The code to determine the version must be contained all on one line and not depend on any values outside of it.
I suggest you generate that version assignment line during the build process.
There's a bunch of changes to the Perl bindings probably not in the 1.7 branch. Likely everything from June 2013 forward (when 1.8.0 was released). See svn log https://svn.apache.org/repos/asf/subversion/trunk/subversion/bindings/swig/perl
My concern is SVK, which hasn't had an update since 2010, won't work with 1.8. SVK was the original impulse of this project. But oh well, they'll have to update anyway.
src/subversion
contains the source of the latest SubVersion. But that is most often not helpful.
The user needs SVN::* modules matching his svn
command version, which what is sure to be compatible with the local working copies.
When the SVN::*
don't match the svn
command, the perl modules often don't work with the user working copy as the SVN::* modules have a more recent version of SubVersion that requires upgrading the working copy.
From the Subversion INSTALL...
If you're just installing a Subversion client, the Subversion
team has created a script that downloads the minimal prerequisite
libraries (Apache Portable Runtime, Sqlite, and Zlib). The script,
'get-deps.sh', is available in the same directory as this file.
When run, it will place 'apr', 'apr-util', 'serf', 'neon',
'zlib', and 'sqlite-amalgamation' directories directly into your
unpacked Subversion distribution, where they will be automatically
configured and built by Subversion's build process.
This would fix a number of bug reports including #2 and https://rt.cpan.org/Ticket/Display.html?id=85711 and https://rt.cpan.org/Ticket/Display.html?id=29971
The new EUMM tests exercise building static XS libs. That uses the "makeaperl" logic, which searches the perl installation for all *.a
, assuming them all to be valid XS with a boot_* symbol.
This: http://www.cpantesters.org/cpan/report/8195708e-98d9-11e4-93e8-0f2081afe8c0 is failing because your installation is installing *.a
files which aren't valid XS, breaking that assumption. That is why EUMM is looking for extralibs.ld.
Have you considered using https://github.com/Perl5-Alien/Alien-Base/ for your build system?
Needs to be updated to support the latest Ruby and Berkeley DB.
It also seems to be using deprecated functions in SVN.
Right now, "Build clean" does not clean the Subversion source directory. It should.
Can't do it right now, Travis is overwhelmed by Gitpan and won't sync my repositories.
When building the module on Windows, the SQLite fails, even with the sqlite3.c file in the sqlite-amalgamation directory @ src/subversion/. I managed to work around this by building the sqlite package located at: http://www.sqlite.org/sqlite-amalgamation-3.7.0.1.tar.gz, and then copying the sqlite3.h file to a new directory I created called include, and the sqlite3-0.dll file (which I renamed to sqlite3.dll) to a new directory called lib.
Note that I have the MinGW32 toolchain along with Msys installed on the box. It is running Windows 7.
This is probably more a bug in the parent Subversion project, but the configure script should be able to be modified locally to work properly.
@mohawk2 suggested we consider Alien::Base. https://metacpan.org/pod/Alien::Base
It would seem to do everything we need, and more. It will eliminate having to maintain our own config wrapper, and it probably solves #6.
Running cpan SVN::Core
as normal user (non-root) will grab Alien-SVN-v1.8.11.0
Then answering the Would you like to pass any arguments to configure?
question with --libdir=/glade/apps/opt/perlmods/Alien/SVN --prefix=/glade/apps/opt/perlmods/
with the user having /glade/apps/opt/perlmods/
writing permissions results in failed installation as follows. Why does it insist in trying to install in /usr/local/lib64/perl5
despite the prefix?
Libraries have been installed in:
/glade/apps/opt/perlmods/Alien/SVN
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Running make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/lib64/perl5/SVN'
mkdir /usr/local/lib64/perl5: Permission denied at /usr/share/perl5/ExtUtils/Install.pm line 483
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1
make: *** [pure_site_install] Error 13
installing SVN::Core failed at inc/My/SVN/Builder.pm line 183.
MSCHWERN/Alien-SVN-v1.8.11.0.tar.gz
./Build install -- OK
Warning (usually harmless): 'YAML' not installed, will not store
After installing Alien-SVN the packlist contains only two entries:
It seems that all the .a and .so files are not listed in the packlist:
Probably the list should be complete, so tools like modrm can work correctly.
I see the following on a FreeBSD 10.1 system with German locale:
# Failed test at ../../../../../subversion/bindings/swig/perl/native/t/8lock.t line 80.
# 'Pfad ist bereits gesperrt: Pfad ?/testfile? ist bereits vom Benutzer ?foo? im Dateisystem ?73f86e1a-948b-e511-a22f-080027da7697? gesperrt at ../../../../../subversion/bindings/swig/perl/native/t/8lock.t line 76.
# '
# doesn't match '(?^:already locked)'
# Failed test at ../../../../../subversion/bindings/swig/perl/native/t/8lock.t line 86.
# 'Dateisystem hat keine solche Sperre: Keine Sperre f?r Pfad ?/testfile? im Dateisystem ?73f86e1a-948b-e511-a22f-080027da7697? at ../../../../../subversion/bindings/swig/perl/native/t/8lock.t line 83.
# '
# doesn't match '(?^:no such lock)'
# Looks like you failed 2 tests of 8.
../../../../../subversion/bindings/swig/perl/native/t/8lock.t ..........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/8 subtests
../../../../../subversion/bindings/swig/perl/native/t/9wc.t ............ ok
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.