Will Sappington wrote:
Thanks Dave, that did the trick.  At first I just modified the Makefile
and reran the make and got the same error so I went back and did a
runConfigure again, ran the make and everything built OK.

There was another problem though with the install.  When it tried to
create the 'lib' directory for the install, the path it was using had a
double slash at the beginning and mkdir failed with a "network path not
found" type of error.  I've backtracked through as many of the makefiles
as I can and can't find how 'DESTDIR' in the line
        $(MKINSTALLDIRS) $(DESTDIR)/$(libdir)
gets set.
On the chance that rebuilding the makefiles with runConfigure might be
part of the problem I went back, wiped everything, patched the
(...)/Util makefile, and rebuilt the libraries from scratch with just
"make".  That went OK, but then when I did a "make install" I got the
problem.  Transcript below.  And again, thanks much for all the help.

<much build output snipped>

make[1]: Leaving directory
`/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c/src/xalanc'

[EMAIL PROTECTED]
/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c
$ make install
make -C src/xalanc install
make[1]: Entering directory
`/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c/src/xalanc'
Preparing the directory structure for a build ...
mkdir -p ../../obj
mkdir -p ../../lib
mkdir -p ../../bin
make -C Utils prepare
make[2]: Entering directory
`/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c/src/xalanc/
Utils
'
mkdir -p ../../../nls
mkdir -p ../../../nls/include
make[2]: Leaving directory
`/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c/src/xalanc/
Utils'

make -C Utils locale
make[2]: Entering directory
`/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c/src/xalanc/
Utils
'
make[2]: Nothing to be done for `locale'.
make[2]: Leaving directory
`/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c/src/xalanc/
Utils'

make -C Utils install
make[2]: Entering directory
`/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c/src/xalanc/
Utils
'
/usr/bin/install -c -m 644 ../../../nls/include/LocalMsgIndex.hpp
/cygdrive/c/proj/3rdParty/libs/xalan-c_
1_10_0-C/xml-xalan/c//src/xalanc/PlatformSupport
make -C XalanMsgLib install
make[3]: Entering directory
`/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/xml-xalan/c/src/xalanc/
Utils
/XalanMsgLib'
mkdir -p //cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/package/lib
mkdir: cannot create directory `//cygdrive': No such host or network
path

OK, it's not very intuitive, but you need to provide a relative path for the prefix. I'm not sure why this was done, or if it's easy to fix, but it certainly is broken. For now, here's what you can do:

1. specify the prefix you want as a configure option to the runConfigure script:

./runConfigure -p cygwin -c gcc -x g++ -C --prefix=/cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/package

2. Do the build (although you don't have to rebuild if you don't want to, since this won't affect the binaries.

3. Open Makefile.incl and search for the prefix you specified. You'll see something like this:

prefix = /cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/package/

4. Just remove the leading "/" from the definition:

prefix = cygdrive/c/proj/3rdParty/libs/xalan-c_1_10_0-C/package/

That should take care of the problem. Can you please create a Jira defect so we can track this issue? You can follow this link to create it:

http://issues.apache.org/jira/browse/XALANC

Dave

Reply via email to