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