does 3.4 truncate include paths?

sean darcy seandarcy@hotmail.com
Tue Apr 6 01:26:00 GMT 2004


>----Original Message Follows----
>From: Zack Weinberg <zack@codesourcery.com>
>To: "sean darcy" <seandarcy@hotmail.com>
>CC: drow@false.org,  gcc@gcc.gnu.org
>Subject: Re: does 3.4 truncate include paths?
>Date: Sun, 04 Apr 2004 19:40:14 -0700
>
>
>I don't know what your mailer thinks it's doing, but this is what it
>looks like when I get it.
>
>"sean darcy" <seandarcy@hotmail.com> writes:
........................

I don't know either, but I assume it's ms hotmail sending weird stuff that 
mozilla doesn't know. In any case, I'll try to fix it manually.

................................................

>Your original error message was
>
>In file included from stlport_prefix.h:28,
>from dll_main.cpp:34:
>../stlport/ctime:25:44:
>/usr/lib/gcc/i386-redhat-1/3.4.0/../../../../include/c++ /3.4.0/ctime:
>No such file or directory
>
>This is somewhat confusing wording on gcc's part - the offending
>#include is not in stlport_prefix.h, it's in ../stlport/ctime.  Was
>that file included in your recursive grep?

yes

>Could you please quote, say, lines 20-30 of that file?
>
>zw


ctime is short, so here's all of it - less the license. Starts on line 16. 
I've inserted line numbers  30 - 40.

I'm no c++ maven, but here's the only macro expansion I could find:

STLport-4.5/stlport/config/stl_gcc.h:#  define 
_STLP_NATIVE_CPP_C_HEADER(header) <../g++/##header##>


thanks a lot for all the help

sean


16   #ifndef _STLP_CTIME
     # define _STLP_CTIME

     # ifndef _STLP_OUTERMOST_HEADER_ID
     #  define _STLP_OUTERMOST_HEADER_ID 0x118
     #  include <stl/_prolog.h>
     # endif

     # if defined (_STLP_USE_NEW_C_HEADERS)
     #  include _STLP_NATIVE_CPP_C_HEADER(ctime)
    # else
   #  include _STLP_NATIVE_C_HEADER(time.h)
   # endif

30     # ifdef _STLP_IMPORT_VENDOR_CSTD
31          _STLP_BEGIN_NAMESPACE
32            using _STLP_VENDOR_CSTD::size_t;
33             using _STLP_VENDOR_CSTD::clock_t;
34             using _STLP_VENDOR_CSTD::time_t;
35                 using _STLP_VENDOR_CSTD::tm;
36            #  ifndef _STLP_NO_CSTD_FUNCTION_IMPORTS
37               using _STLP_VENDOR_CSTD::clock;
38              using _STLP_VENDOR_CSTD::asctime;
39                 using _STLP_VENDOR_CSTD::ctime;
40                  using _STLP_VENDOR_CSTD::gmtime;
                   using _STLP_VENDOR_CSTD::difftime;
                  using _STLP_VENDOR_CSTD::mktime;
                  using _STLP_VENDOR_CSTD::localtime;
                    using _STLP_VENDOR_CSTD::strftime;
                  using _STLP_VENDOR_CSTD::time;
              #  endif /* _STLP_NO_CSTD_FUNCTION_IMPORTS */
              _STLP_END_NAMESPACE
                #endif /* _STLP_IMPORT_VENDOR_CSTD */

               # if (_STLP_OUTERMOST_HEADER_ID == 0x118)
               #  include <stl/_epilog.h>
              #  undef _STLP_OUTERMOST_HEADER_ID
             # endif

              #endif /* _STLP_CTIME */
                // Local Variables:
              // mode:C++
              // End:


Now I have two scripts to build openoffice - one for gcc-3.3 and another for 
gcc-3.4.

cat /opt/openoffice/1.1.1/build-oo1.1.1-gcc33-test.sh
cd /opt/openoffice/1.1.1
rm -rf oo_1.1.1_src
tar xjf OOo_1.1.1_source.tar.bz2
cd /opt/openoffice/1.1.1/oo_1.1.1_src
export "CFLAGS=-march=athlon-xp   -mfpmath=sse -Os"
export "CXXFLAGS=-march=athlon-xp  -mfpmath=sse -Os"
cd config_office
./configure --with-ant-home=/usr/java/ant 
--with-jdk-home=/usr/java/j2sdk1.4.2_04 --prefix=/opt/openoffice/oo1.1.1 
--with-dict=EN
cd ..
source LinuxIntelEnv.Set.sh
./bootstrap
dmake/dmake

cat build-1.1.1-gcc34-test.sh
cd /opt/openoffice/1.1.1
rm -rf oo_1.1.1_src
tar xjf OOo_1.1.1_source.tar.bz2
cd /opt/openoffice/1.1.1/oo_1.1.1_src
export "CFLAGS=-march=athlon-xp  -funit-at-a-time -mfpmath=sse -Os"
export "CXXFLAGS=-march=athlon-xp -funit-at-a-time -mfpmath=sse -Os"
cd config_office
./configure --with-ant-home=/usr/java/ant 
--with-jdk-home=/usr/java/j2sdk1.4.2_04 --prefix=/opt/openoffice/oo1.1.1 
--with-dict=EN
cd ..
source LinuxIntelEnv.Set.sh
./bootstrap
dmake/dmake


gcc-3.3 works. gcc-3.4 fails.

Here's the gcc-3.3 version of where gcc-3.4 fails:

g++ -D_REENTRANT -DGXX_INCLUDE_PATH=/usr/include/c++/3.3.3 -fexceptions 
-I../stlport -Wall -W -Wno-sign-compare -Wno-unused -Wno-uninitialized 
-ftemplate-depth-32 -O2 -fPIC dll_main.cpp -c -o 
../lib/obj/GCC/ReleaseD/dll_main.o


We don't have the convoluted include path of gcc-3.4. But convoluted or not, 
it's still a vaild path:

ls /usr/lib/gcc/i386-redhat-linux/3.4.0/../../../../include/c++/3.4.0/ctime
/usr/lib/gcc/i386-redhat-linux/3.4.0/../../../../include/c++/3.4.0/ctime


Maybe stlport or openoffice is taking all occurrences of "linux" and making 
them "1".  And I've crossposted there, but it sure sems odd.

sean

_________________________________________________________________
Tax headache? MSN Money provides relief with tax tips, tools, IRS forms and 
more! http://moneycentral.msn.com/tax/workshop/welcome.asp



More information about the Gcc mailing list