Re: What is CPP's real default include path?

2008-05-05 Thread Mel
On Monday 05 May 2008 10:12:05 Walt Pawley wrote:
 I've been fiddling with compiling nzbget-0.4.0 on a 6.3 system.
 My initial efforts failed the configuration process for not
 finding iconv.h. This, despite /usr/local/include/iconv.h being
 present and supposedly in the include search path if the info
 documentation can be believed.

 Just to see if I could learn something, I copied the
 /usr/local/include/iconv.h to /usr/include/ and tried again.
 After this, the configuration process completed and the
 application seemed to make and make install just fine.

 Is there some way to ascertain what the set of default include
 paths actually is?

Even though cc has a million options, there's none that I know that prints the 
system include path (not even in -dumpspecs). However, in practice you can 
assume it's /usr/include.

To make configure scripts believe you have something installed, it's not a 
good idea to copy headers.
Look for a --with-iconv=/usr/local option and failing that, change CFLAGS and 
LDFLAGS in the environment when configuring.

-- 
Mel

Problem with today's modular software: they start with the modules
and never get to the software part.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: What is CPP's real default include path?

2008-05-05 Thread Walt Pawley
At 12:06 PM +0200 5/5/08, Mel wrote:
On Monday 05 May 2008 10:12:05 Walt Pawley wrote:
 I've been fiddling with compiling nzbget-0.4.0 on a 6.3 system.
 My initial efforts failed the configuration process for not
 finding iconv.h. This, despite /usr/local/include/iconv.h being
 present and supposedly in the include search path if the info
 documentation can be believed.

 Just to see if I could learn something, I copied the
 /usr/local/include/iconv.h to /usr/include/ and tried again.
 After this, the configuration process completed and the
 application seemed to make and make install just fine.

 Is there some way to ascertain what the set of default include
 paths actually is?

Even though cc has a million options, there's none that I know that prints the
system include path (not even in -dumpspecs). However, in practice you can
assume it's /usr/include.

To make configure scripts believe you have something installed, it's not a
good idea to copy headers.
Look for a --with-iconv=/usr/local option and failing that, change CFLAGS and
LDFLAGS in the environment when configuring.

Admonition understood - I was just experimenting and wanted the
file to be in a specific place without any uncertainty about
just what various look over there options actually do. The
reason for such a mind set is that actual behavior of cpp seems
to differ from its documentation, to wit:

  info cpp :: Header Files::Search Path reads:

  GCC looks in several different places for headers.  On a normal Unix
  system, if you do not instruct it otherwise, it will look for headers
  requested with `#include FILE' in:

 /usr/local/include
 LIBDIR/gcc/TARGET/VERSION/include
 /usr/TARGET/include
 /usr/include

I'm either missing something very fundamental (which I doubt
not at all) or this should be a somewhat serious problem. There
are 4944 header files in /usr/local/include/ branch on this
system that should be accessible by default but, if my
experience with nzbget is any guide, do not seem to be.
-- 

Walter M. Pawley [EMAIL PROTECTED]
Wump Research  Company
676 River Bend Road, Roseburg, OR 97470
 541-672-8975
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: What is CPP's real default include path?

2008-05-05 Thread Mel
On Monday 05 May 2008 20:42:23 Walt Pawley wrote:
 At 12:06 PM +0200 5/5/08, Mel wrote:
 On Monday 05 May 2008 10:12:05 Walt Pawley wrote:
  I've been fiddling with compiling nzbget-0.4.0 on a 6.3 system.
  My initial efforts failed the configuration process for not
  finding iconv.h. This, despite /usr/local/include/iconv.h being
  present and supposedly in the include search path if the info
  documentation can be believed.
 
  Just to see if I could learn something, I copied the
  /usr/local/include/iconv.h to /usr/include/ and tried again.
  After this, the configuration process completed and the
  application seemed to make and make install just fine.
 
  Is there some way to ascertain what the set of default include
  paths actually is?
 
 Even though cc has a million options, there's none that I know that prints
  the system include path (not even in -dumpspecs). However, in practice
  you can assume it's /usr/include.
 
 To make configure scripts believe you have something installed, it's not a
 good idea to copy headers.
 Look for a --with-iconv=/usr/local option and failing that, change CFLAGS
  and LDFLAGS in the environment when configuring.

 Admonition understood - I was just experimenting and wanted the
 file to be in a specific place without any uncertainty about
 just what various look over there options actually do. The
 reason for such a mind set is that actual behavior of cpp seems
 to differ from its documentation, to wit:

   info cpp :: Header Files::Search Path reads:

FreeBSD uses a modified version of GCC. Info files haven't been updated to 
reflect that.

   GCC looks in several different places for headers.  On a normal Unix
   system, if you do not instruct it otherwise, it will look for headers
   requested with `#include FILE' in:

  /usr/local/include

Nope.

  LIBDIR/gcc/TARGET/VERSION/include
  /usr/TARGET/include

No idea really.

  /usr/include
Yep.

-- 
Mel

Problem with today's modular software: they start with the modules
and never get to the software part.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: What is CPP's real default include path?

2008-05-05 Thread Walt Pawley
At 12:06 PM +0200 5/5/08, Mel wrote:
On Monday 05 May 2008 10:12:05 Walt Pawley wrote:
 I've been fiddling with compiling nzbget-0.4.0 on a 6.3 system.
 My initial efforts failed the configuration process for not
 finding iconv.h. This, despite /usr/local/include/iconv.h being
 present and supposedly in the include search path if the info
 documentation can be believed.

 Just to see if I could learn something, I copied the
 /usr/local/include/iconv.h to /usr/include/ and tried again.
 After this, the configuration process completed and the
 application seemed to make and make install just fine.

 Is there some way to ascertain what the set of default include
 paths actually is?

Even though cc has a million options, there's none that I know that prints the
system include path (not even in -dumpspecs). However, in practice you can
assume it's /usr/include.

I bumped into the description of the -v flag whilst perusing
the cpp info docs and did this ... after removing the ersatz
/usr/include/iconv.h mentioned above. Apparently these paths are
compiled in (???).

%cat  x
#include iconv.h
%cpp -v x
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.6 [FreeBSD] 20060305
 /usr/libexec/cc1 -E -quiet -v -D_LONGLONG x
ignoring duplicate directory /usr/include
#include ... search starts here:
#include ... search starts here:
 /usr/include
End of search list.
# 1 x
# 1 built-in
# 1 command line
# 1 x
x:1:19: iconv.h: No such file or directory

-- 

Walter M. Pawley [EMAIL PROTECTED]
Wump Research  Company
676 River Bend Road, Roseburg, OR 97470
 541-672-8975
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]