Re: FW: Error running make for subversion
Joseph, Anselm wrote on Wed, 14 Jun 2017 01:30 +: > Hello all, > For linking to shared libraries, is "libstdc++.so" required in gcc. Both svn and httpd are written in C, not in C++. I would expect C++ stdlibs to not be required for C projects. (but perhaps on your system svn gets compiled as C++ code, for some reason) > My install path only shows : > ~:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.8.3 --> > $ ls > include libstdc++.a libstdc++.a-gdb.py ppc64 pthread > just the static library. > Could this be why mod_dav_svn.so cannot be built? If this is the problem, it would affect all httpd modules, not just mod_*_svn. Are you able to compile, link, and load (with LoadModule) a Hello World httpd module in your environment? Cheers, Daniel
RE: FW: Error running make for subversion
Hello all, For linking to shared libraries, is "libstdc++.so" required in gcc. My install path only shows : ~:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.8.3 --> $ ls include libstdc++.a libstdc++.a-gdb.py ppc64 pthread just the static library. Could this be why mod_dav_svn.so cannot be built? Thanks, Anselm -Original Message- From: Philip Martin [mailto:phi...@codematters.co.uk] Sent: Thursday, June 08, 2017 8:23 PM To: Joseph, Anselm Cc: Philip Martin; users@subversion.apache.org; Daniel Shahaf Subject: Re: FW: Error running make for subversion CAUTION - EXTERNAL EMAIL "Joseph, Anselm"writes: > FYI, > I upgraded to httpd-2.4.25, but still getting the same error. > Are your other Apache modules .so or .a? All .so under > ../httpd-2.4.25/apache/modules > > There are older versions of mod_authz_svn.so mod_dav_svn.so from a > previous/older subversion install in the system (separate directory). > I am tempted to copy them into the directory and give it a try. > Thank you for the suggestions. Here is an old email that suggests which linker flags are needed to create .so, rather than .a, shared libraries: https://gcc.gnu.org/ml/gcc-help/2002-05/msg00065.html Perhaps edit your Makefile and add -Wl,-G to the end of the LINK_APACHE_MOD line. -- Philip
svn status merges intersected external records into single row
Here is the batch script for the windows: ``` @echo off set REPODIR=test_repo set "REPOROOT=%~dp0%REPODIR%" set "REPOURL=file:///%REPOROOT:\=/%" set WCROOT=%REPODIR%_root if exist "%REPOROOT%\" rmdir /S /Q "%REPOROOT%" if exist "%WCROOT%\" rmdir /S /Q "%WCROOT%" mkdir "%REPOROOT%" svnadmin create "%REPOROOT%" mkdir "%WCROOT%" svn co "%REPOURL%" "%WCROOT%" rem creating tree w/o externals mkdir "%WCROOT%/dir1/dir1_subdir1" || goto :EOF mkdir "%WCROOT%/dir1/dir1_subdir2" || goto :EOF mkdir "%WCROOT%/dir2/dir2_subdir1" || goto :EOF mkdir "%WCROOT%/dir2/dir2_subdir2" || goto :EOF svn add "%WCROOT%/*.*" || goto :EOF svn ci "%WCROOT%" -m "rev1" || goto :EOF rem update to the head svn up "%WCROOT%" || goto :EOF rem creating externals type nul > "$externals.txt" ( echo.^^/dir1/dir1_subdir1 ext/dir1_subdir1 echo.^^/dir1/dir1_subdir2 ext/dir1_subdir2 echo.^^/dir2/dir2_subdir1 dir2_subdir1 echo.^^/dir2/dir2_subdir2 dir2_subdir2 ) >> "$externals.txt" svn pset svn:externals -F "$externals.txt" "%WCROOT%" || goto :EOF svn ci "%WCROOT%" -m "rev2" || goto :EOF rem update to the head svn up "%WCROOT%" || goto :EOF rem show status svn status "%WCROOT%" ``` The output: ``` Checked out revision 0. svn: Skipping argument: E200025: 'test_repo_root/.svn' ends in a reserved name A test_repo_root\dir1 A test_repo_root\dir1\dir1_subdir1 A test_repo_root\dir1\dir1_subdir2 A test_repo_root\dir2 A test_repo_root\dir2\dir2_subdir1 A test_repo_root\dir2\dir2_subdir2 Adding test_repo_root\dir1 Adding test_repo_root\dir1\dir1_subdir1 Adding test_repo_root\dir1\dir1_subdir2 Adding test_repo_root\dir2 Adding test_repo_root\dir2\dir2_subdir1 Adding test_repo_root\dir2\dir2_subdir2 Committing transaction... Committed revision 1. Updating 'test_repo_root': At revision 1. property 'svn:externals' set on 'test_repo_root' Sendingtest_repo_root Committing transaction... Committed revision 2. Updating 'test_repo_root': Fetching external item into 'test_repo_root\ext\dir1_subdir1': External at revision 2. Fetching external item into 'test_repo_root\ext\dir1_subdir2': External at revision 2. Fetching external item into 'test_repo_root\dir2_subdir1': External at revision 2. Fetching external item into 'test_repo_root\dir2_subdir2': External at revision 2. At revision 2. X test_repo_root\dir2_subdir1 X test_repo_root\dir2_subdir2 X test_repo_root\ext Performing status on external item at 'test_repo_root\dir2_subdir1': Performing status on external item at 'test_repo_root\dir2_subdir2': Performing status on external item at 'test_repo_root\ext\dir1_subdir1': Performing status on external item at 'test_repo_root\ext\dir1_subdir2': ``` The externals list is: ``` X test_repo_root\dir2_subdir1 X test_repo_root\dir2_subdir2 X test_repo_root\ext ``` instead of: ``` X test_repo_root\dir2_subdir1 X test_repo_root\dir2_subdir2 X test_repo_root\ext\dir1_subdir1 X test_repo_root\ext\dir1_subdir2 ``` This forces to use `svn pget svn:externals` + `a parser` instead of `svn status` + `a filter` in scripting to extract the records set.