[Coin-discuss] Compile BCP 1.0 on SunOS 5.10

Lou Hafer lou at cs.sfu.ca
Thu Nov 2 15:40:44 EST 2006


Dan,

	config_coinutils.h.in is not the file that you want. In fact, this file
should exist only in CoinUtils/inc. It should not exist in build/CoinUtils/inc.
	
	Here's a bit more explanation of what's happening (I hope this will 
help, and not just confuse :-).
	
	The instructions for BCP tell you to mkdir build, cd into build, and
then execute ../configure, make, make test, etc., all from within the build
directory.  What you're doing is something called a VPATH build.  The nice
feature is that the original distribution is not contaminated with the object
files, libraries, and other generated files.  All of this is kept within the
build directory.  If you want to start over, you can just remove the build
directory and start again with `mkdir build'.

	The file CoinUtils/inc/config_coinutils.h.in is a prototype. When you
run configure, it generates build/CoinUtils/inc/config_coinutils.h from
CoinUtils/inc/config_coinutils.h.in, with definitions appropriate for your 
platform. (Compare the two, and you'll see what I mean.)

	In a similar way, the Makefile's that you see in the build directory are 
generated from the Makefile.in's that you see in the distribution directories.
	
	To complete the picture, move back one more step: All the various *.in
files are generated from *.ac files using Gnu autotools.
	
	The problem that I saw, when I tried `make test', is that one of the
Makefiles did not specify build/CoinUtils/inc/ as the place to find
config_coinutils.h. To fix this properly, you'd need to start by correcting
one of the Makefile.am files, run autotools, run configure, and then do the
make. I'm assuming that you probably don't want to get into this. The next best 
thing is to put build/CoinUtils/inc/config_coinutils.h someplace where it can be 
found. Hence my suggestion to copy build/CoinUtils/inc/config_coinutils.h to
CoinUtils/src/config_coinutils.h, with the other include files for CoinUtils.

	I notice that the trace that you sent to me contains the lines

make: Fatal error: Don't know how to make target 
`/home/dchen/largescratch/coin-Bcp/seqbuild/CoinUtils/src/libCoinUtils.la'
Current working directory 
/net/nfs1-data/scratchLarge/tmp/dchen/coin-Bcp/seqbuild2/Clp/src
*** Error code 1

	I'm puzzled that the target directory is different from the working
directory. Are you trying the build in a different location, without running
configure again? This will definitely cause problems.

								Lou




More information about the Coin-discuss mailing list