delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/08/17/15:48:53

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <43039496.6040900@zedasoft.com>
Date: Wed, 17 Aug 2005 14:48:38 -0500
From: Rob Hatcherson <rob DOT hatcherson AT zedasoft DOT com>
User-Agent: Mozilla Thunderbird 1.0 (X11/20041206)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Unexpected File Name Too Long Error With #includes
X-IsSubscribed: yes

All,

This issue involves a "File name too long" error being generated by the 
C preprocessor that came along with 1.5.18-1.  The compiler reports 
version 3.4.4, the distro file says 3.4.4-1.


I have a header file whose total path length is 190 characters counting 
drive letters (yeah, I know it's ridiculously long, and I can get around 
this problem by chopping some stuff out, but at the moment I'm wondering 
what I'm missing for future reference).


I can #include this header file directly in a .c file with no problem:

#include "C:/d1/d2/d3/d4/...lots more.../blah.h"


The problem occurs if I provide a part of this path via a -I option, and 
put the remainder inside quotes in the #include.  So say I do this:

gcc -E -I C:/d1/d2/d3/d4 blah.c

...with the source file looking notionally like this:

#include "...lots more.../blah.h"


By experimentation (with this particular file I'm having problems with, 
so this isn't a general observation) when the total length of the stuff 
inside the quotes in the #include statement reaches 82 characters in 
length I get a "File name too long" error from the preprocessor.  Yet as 
noted earlier I can include the entire path inline without a complaint.


I've been using Cygwin for a while now and can't recall ever having a 
path length problem unless the length exceeded the total path limit at 
the Windows level (250, or 253, or 255, or whatever it is).  So... this 
makes me wonder if perhaps some feature has been introduced that I'm 
missing, and/or there's some magic option I need to be using.

Has anybody else encountered this behavior?

Sorry if this is a well-known issue.  I've been poking around a bit and 
haven't seen anything relevant (yet).  I'm currently digging in the 
gcc-core source, but thought I'd ping the group in the meantime.

TIA,

Rob Hatcherson
ZedaSoft, Inc.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019