Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

svn import errors out #2

Closed
ahwm opened this issue Oct 30, 2020 · 14 comments
Closed

svn import errors out #2

ahwm opened this issue Oct 30, 2020 · 14 comments

Comments

@ahwm
Copy link
Contributor

ahwm commented Oct 30, 2020

It does this for my own built version, too.

Command: svn import --username blah --password blah2 "C:\temp\file.jpg" "https://svn.domain.com/test-repository/file.jpg"

svn.exe - System Error : The code execution cannot proceed because libapriconv-1.dll was not found.

This goes away if I explicitly copy this file from Apache24/bin and then I get the below error.

svn: E170000: Unrecognized URL scheme for 'https://svn.domain.com/test-repository/....jpg'

However, if I download the SVN binaries from https://www.visualsvn.com/downloads/ or use those bundled with TortoiseSVN, I don't get these errors.

Any ideas? I have only tried this on 1.14.0. Wondering if there's something about the build process.

@Jan-E
Copy link
Owner

Jan-E commented Oct 31, 2020

The strange thing is that the build command does not copy libapriconv-1.dll to the Release directory, although iconv was in the command line and Apachelounge's libaprutil-1.dll depends on it. I ran into a missing dll as well when I just did a 'svn --version' on the command line. The Visual SVN downloads have a libaprutil-1.dll that does not require a libapriconv-1.dll,

With respect to the unrecognized scheme 'svn --version' on the Visual SVN download gives a clue:

D:\temp\Apache-Subversion-1.14.0\bin>svn --version
svn, version 1.14.0 (r1876290)
   compiled May 27 2020, 15:46:48 on x86/x86_64-microsoft-windows6.2.9200

Copyright (C) 2020 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - handles 'http' scheme
  - handles 'https' scheme

The following authentication credential caches are available:

* Wincrypt cache in C:\Users\Jan\AppData\Roaming\Subversion

I will try to build SVN locally, where I have serf 1.3.9 installed. Maybe it is a dependency without hint by the build command.

@Jan-E
Copy link
Owner

Jan-E commented Oct 31, 2020

The build command accepts a --with-serf = N:\SVN_vc16\serf (and also a --with-sasl = N:\SVN_vc16\sasl), so the trick is to have a installed serf as well. That gives me:

N:\svn-1.14.0-vs16-x64\bin>svn --version
svn, version 1.14.0 (r1876290)
   compiled May 31 2020, 17:47:12 on x86_64-microsoft-windows10.0.18362

Copyright (C) 2020 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - handles 'http' scheme
  - handles 'https' scheme

The following authentication credential caches are available:

* Wincrypt cache in C:\Users\Jan\AppData\Roaming\Subversion

@ahwm
Copy link
Contributor Author

ahwm commented Oct 31, 2020

That makes sense. I did see some references to serf when I was initially researching the problem. But was confused when neither TortoiseSVN nor Visual SVN included the libapriconv-1.dll

@Jan-E
Copy link
Owner

Jan-E commented Oct 31, 2020

Building serf is best done by 'scons'. From my local build script:
call \python27\Scripts\scons APR=../apr APU=../apr-util ZLIB=../zlib OPENSSL=../openssl TARGET_ARCH=x64 MSVC_VERSION=%VisualStudioVersion% PREFIX=.

@ahwm
Copy link
Contributor Author

ahwm commented Oct 31, 2020

Ah looks like I don't have that on my machine at the moment. I'll have to dig a bit more.

@Jan-E
Copy link
Owner

Jan-E commented Oct 31, 2020

Proof, pudding: https://phpdev.toolsforresearch.com/svn-1.14.0-vs16-x64.zip
That includes Cyrus SASL authentication, which Visual SVN does not have.

@ahwm
Copy link
Contributor Author

ahwm commented Oct 31, 2020

I see that zip also has the libapriconv-1.dll as well.

@Jan-E
Copy link
Owner

Jan-E commented Oct 31, 2020

Yes. My own builds mimic those of Apachelounge, where ibapriconv-1.dll is required.

@ahwm
Copy link
Contributor Author

ahwm commented Oct 31, 2020

Looking forward to seeing an updated AppVeyor build.

@Jan-E
Copy link
Owner

Jan-E commented Oct 31, 2020

Could you test https://phpdev.toolsforresearch.com/svn-1.14.0-vs16-x64.zip now?
It is a new build with a static serf-1.lib. No dependency on serf-1.dll anymore.
I am using a nmake makefile to build the static lib. The serf.mak is also in the zip.
Build command in my local environment:

nmake.exe /s /nologo /f serf.mak CLEAN APR_SRC=..\apr APRUTIL_SRC=..\apr-util  ZLIB_SRC=..\zlib OPENSSL_SRC=\php-sdk\win64build.vc16
nmake.exe /s /nologo /f serf.mak ALL APR_SRC=..\apr APRUTIL_SRC=..\apr-util  ZLIB_SRC=..\zlib OPENSSL_SRC=\php-sdk\win64build.vc16

If it works OK, I can adjust the AppVeyor build a lot easier than with using scons.

@Jan-E
Copy link
Owner

Jan-E commented Nov 1, 2020

@ahwm
Copy link
Contributor Author

ahwm commented Nov 2, 2020

I will give those a try and let you know. Sorry I wasn't able to do much over the weekend. :)

@ahwm
Copy link
Contributor Author

ahwm commented Nov 3, 2020

The latest build works as expected. Yay! Now to see if I can duplicate that for my own local builds...

@ahwm
Copy link
Contributor Author

ahwm commented Nov 27, 2020

FYI - I got my local build script fixed using your changes: https://gist.github.com/ahwm/47dca1ae4290094a539d5dcc30338fb9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants