Re: [Meep-discuss] Problem with meep configure script

2007-08-03 Thread Steven G. Johnson
On Thu, 26 Jul 2007, Yeo Eng Hee wrote:
 I understand the need to put in the header and library using the
 CPPFLAGS and LDFLAGS parameter, but if all dependencies need a little
 something in these parameters, then the setting of these CPPFLAGS and
 LDFLAGS become complicated.

Only if you install every package in a separate directory.  Generally you 
will install all of your dependencies either via

* prebuilt packages for your OS (e.g. .rpm files for Fedora), which
   install into standard directories like /usr where the compiler
   looks automatically, OR

* for dependencies you compile yourself, you generally want to install
   *all* of the self-compiled packages into a single directory, e.g.
   $HOME/install.  In this case you only need to put a single directory
   in CPPFLAGS and a single directory in LDFLAGS.

Of course, if you install every package in its own directory, scattered 
all over your hard disk, then you will need to specify all of these 
directories separately and the configure command will get quite long. You 
reap what you sow.

 I expect that the configure script should be able to handle this. 
 Since the directory hierachy of libctl is quite fixed, why not let the 
 configure script figure out everything by just specifying the top 
 directory of libctl?

First, because the directory hierarchy of libctl is not fixed.  It is 
perfectly possible to specify completely independent places to install the 
library, header, and other data files (using --libdir, --includedir, etc. 
in configure).  Perhaps you mean the *source* directory of libctl is not 
fixed, but you should not be linking to libctl in its *source* directory. 
You should always run 'make install' to install it somewhere and link to 
that.  This is true for essentially every Unix program.

Second, because LDFLAGS and CPPFLAGS are the standard for specifying where 
to find library and header files.  They are used for every other package, 
and libctl should be no different.

 Anyway, I managed to build by installing libctl in the standard
 /usr/local/lib directory.  However, this is less than ideal in my case,
 as I have more than 60 compute nodes, and I have to install on each one
 (normally, I would just install on a shared directory via NFS).

First of all, it is perfectly possible to share your /usr/local directory 
via NFS.  (This is what we do on our compute cluster.)  Note that sharing 
/usr/local does not require you to share /usr.  In fact, if you read the 
Linux Filesystem Hierarchy Standard, this is precisely what /usr/local is 
intended for:
http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLOCALLOCALHIERARCHY

Second, there is no reason why you can't install libctl (along with any 
other dependencies) into a shared directory and tell the configure script 
where to find it with CPPFLAGS and LDFLAGS.

Regards,
Steven G. Johnson

___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss


Re: [Meep-discuss] Problem with meep configure script

2007-07-29 Thread Yeo Eng Hee
I did that, but the outputs just says that the libctl is not found.  That's why 
I came to the newsgroup.

Regards,

Eng Hee.


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Zheng LI
Sent: Friday, 27 July, 2007 5:39 PM
To: meep-discuss@ab-initio.mit.edu
Subject: Re: [Meep-discuss] Problem with meep configure script

Hi, Yeo Eng Hee

I don't know the details you want to handle. However, a batch script
which calls ./configure itself and analyze the output may help you to
deal with your problem.

Best wishes
Zheng LI

在 2007-07-26四的 10:19 +0800,Yeo Eng Hee写道:
 On Mon, 23 Jul 2007, Ulrich Dobramysl wrote:
  I am having difficulty using the configure script to build meep.  I
 have
  built and installed all the dependent packages, and at the final step
 of
  putting it all together in meep, but hte configure script cannot seem
 to
  find the libctl location, even though I used the --with-libctl=dir
  flag.  The output of the configure script is below.
 
  I would be grateful if anyone can help tell me where I went wrong.
 
  Thanks in advance.
 
  It seems you do not have the libctl.a in /usr/lib or some other
 standard
  library path. With the config option --with-libctl you specify the
  location of the scheme files used by libctl whereas you need to have
 the
  library in a known lib path. Try to specify
  LIBDIR=${LIBDIR}:/directory/containing/libctl.a/ on your configure
  commandline.
 
 This is not quite right.  You also need to tell it where to find the 
 header files, and LIBDIR is not the documented way to tell it about 
 library directories in any case.
 
 In general, suppose you have installed stuff in /my/dir, i.e. you have 
 libraries in /my/dir/lib and header files in /my/dir/include, etcetera. 
 (Here, I'm assuming you actually ran 'make install' like you are
 supposed 
 to.)  Then, you always tell the configure scrip where to find libraries 
 by:
 
   ./configure CPPFLAGS=-I/my/dir/include LDFLAGS=-I/my/dir/lib
 
 This is not specific to MPB; it is true for *all* software that uses 
 configure scripts and depends on libraries you installed in nonstandard 
 locations.
 
 However, libctl needs some additional information, because it has some 
 additional files that it installs in /my/dir/share/libctl  ...you tell
 it 
 where to find these with --with-libctl-dir=/my/dir/share/libctl
 
 Steven
 
 ===
 
 Hi all,
 
 I understand the need to put in the header and library using the
 CPPFLAGS and LDFLAGS parameter, but if all dependencies need a little
 something in these parameters, then the setting of these CPPFLAGS and
 LDFLAGS become complicated.  I expect that the configure script should
 be able to handle this.  Since the directory hierachy of libctl is quite
 fixed, why not let the configure script figure out everything by just
 specifying the top directory of libctl?
 
 Anyway, I managed to build by installing libctl in the standard
 /usr/local/lib directory.  However, this is less than ideal in my case,
 as I have more than 60 compute nodes, and I have to install on each one
 (normally, I would just install on a shared directory via NFS).
 
 Eng Hee.
 
 ___
 meep-discuss mailing list
 meep-discuss@ab-initio.mit.edu
 http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
 


___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Problem with meep configure script

2007-07-27 Thread Zheng LI
Hi, Yeo Eng Hee

I don't know the details you want to handle. However, a batch script
which calls ./configure itself and analyze the output may help you to
deal with your problem.

Best wishes
Zheng LI

在 2007-07-26四的 10:19 +0800,Yeo Eng Hee写道:
 On Mon, 23 Jul 2007, Ulrich Dobramysl wrote:
  I am having difficulty using the configure script to build meep.  I
 have
  built and installed all the dependent packages, and at the final step
 of
  putting it all together in meep, but hte configure script cannot seem
 to
  find the libctl location, even though I used the --with-libctl=dir
  flag.  The output of the configure script is below.
 
  I would be grateful if anyone can help tell me where I went wrong.
 
  Thanks in advance.
 
  It seems you do not have the libctl.a in /usr/lib or some other
 standard
  library path. With the config option --with-libctl you specify the
  location of the scheme files used by libctl whereas you need to have
 the
  library in a known lib path. Try to specify
  LIBDIR=${LIBDIR}:/directory/containing/libctl.a/ on your configure
  commandline.
 
 This is not quite right.  You also need to tell it where to find the 
 header files, and LIBDIR is not the documented way to tell it about 
 library directories in any case.
 
 In general, suppose you have installed stuff in /my/dir, i.e. you have 
 libraries in /my/dir/lib and header files in /my/dir/include, etcetera. 
 (Here, I'm assuming you actually ran 'make install' like you are
 supposed 
 to.)  Then, you always tell the configure scrip where to find libraries 
 by:
 
   ./configure CPPFLAGS=-I/my/dir/include LDFLAGS=-I/my/dir/lib
 
 This is not specific to MPB; it is true for *all* software that uses 
 configure scripts and depends on libraries you installed in nonstandard 
 locations.
 
 However, libctl needs some additional information, because it has some 
 additional files that it installs in /my/dir/share/libctl  ...you tell
 it 
 where to find these with --with-libctl-dir=/my/dir/share/libctl
 
 Steven
 
 ===
 
 Hi all,
 
 I understand the need to put in the header and library using the
 CPPFLAGS and LDFLAGS parameter, but if all dependencies need a little
 something in these parameters, then the setting of these CPPFLAGS and
 LDFLAGS become complicated.  I expect that the configure script should
 be able to handle this.  Since the directory hierachy of libctl is quite
 fixed, why not let the configure script figure out everything by just
 specifying the top directory of libctl?
 
 Anyway, I managed to build by installing libctl in the standard
 /usr/local/lib directory.  However, this is less than ideal in my case,
 as I have more than 60 compute nodes, and I have to install on each one
 (normally, I would just install on a shared directory via NFS).
 
 Eng Hee.
 
 ___
 meep-discuss mailing list
 meep-discuss@ab-initio.mit.edu
 http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
 


___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Re: [Meep-discuss] Problem with meep configure script

2007-07-25 Thread Yeo Eng Hee
On Mon, 23 Jul 2007, Ulrich Dobramysl wrote:
 I am having difficulty using the configure script to build meep.  I
have
 built and installed all the dependent packages, and at the final step
of
 putting it all together in meep, but hte configure script cannot seem
to
 find the libctl location, even though I used the --with-libctl=dir
 flag.  The output of the configure script is below.

 I would be grateful if anyone can help tell me where I went wrong.

 Thanks in advance.

 It seems you do not have the libctl.a in /usr/lib or some other
standard
 library path. With the config option --with-libctl you specify the
 location of the scheme files used by libctl whereas you need to have
the
 library in a known lib path. Try to specify
 LIBDIR=${LIBDIR}:/directory/containing/libctl.a/ on your configure
 commandline.

This is not quite right.  You also need to tell it where to find the 
header files, and LIBDIR is not the documented way to tell it about 
library directories in any case.

In general, suppose you have installed stuff in /my/dir, i.e. you have 
libraries in /my/dir/lib and header files in /my/dir/include, etcetera. 
(Here, I'm assuming you actually ran 'make install' like you are
supposed 
to.)  Then, you always tell the configure scrip where to find libraries 
by:

./configure CPPFLAGS=-I/my/dir/include LDFLAGS=-I/my/dir/lib

This is not specific to MPB; it is true for *all* software that uses 
configure scripts and depends on libraries you installed in nonstandard 
locations.

However, libctl needs some additional information, because it has some 
additional files that it installs in /my/dir/share/libctl  ...you tell
it 
where to find these with --with-libctl-dir=/my/dir/share/libctl

Steven

===

Hi all,

I understand the need to put in the header and library using the
CPPFLAGS and LDFLAGS parameter, but if all dependencies need a little
something in these parameters, then the setting of these CPPFLAGS and
LDFLAGS become complicated.  I expect that the configure script should
be able to handle this.  Since the directory hierachy of libctl is quite
fixed, why not let the configure script figure out everything by just
specifying the top directory of libctl?

Anyway, I managed to build by installing libctl in the standard
/usr/local/lib directory.  However, this is less than ideal in my case,
as I have more than 60 compute nodes, and I have to install on each one
(normally, I would just install on a shared directory via NFS).

Eng Hee.

___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss


Re: [Meep-discuss] Problem with meep configure script

2007-07-23 Thread Ulrich Dobramysl
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


Yeo Eng Hee schrieb:
 Hi,
  
 I am having difficulty using the configure script to build meep.  I have
 built and installed all the dependent packages, and at the final step of
 putting it all together in meep, but hte configure script cannot seem to
 find the libctl location, even though I used the --with-libctl=dir
 flag.  The output of the configure script is below.
  
 I would be grateful if anyone can help tell me where I went wrong.
  
 Thanks in advance.
  

Hi,

It seems you do not have the libctl.a in /usr/lib or some other standard
library path. With the config option --with-libctl you specify the
location of the scheme files used by libctl whereas you need to have the
library in a known lib path. Try to specify
LIBDIR=${LIBDIR}:/directory/containing/libctl.a/ on your configure
commandline.

Uli
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGpFdgvlTvENIKkvMRAkNkAJ9dl06yH49PoSbKAZDORrje+AOk6QCeOr8+
SeuYJr4lr1Iv2w/y665ZFEY=
=cU24
-END PGP SIGNATURE-

___
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss