This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Seemingly identical gcc versions, except one searches subdirectories with -I


I have come across this problem and despite my searches I have been unable to find a solution. I have two Fedora Core 6 machines. Both have the same version of gcc/g++ and the development programs/libraries installed. Both are x86_64. When I run the command:

[rbanfiel@localhost BobBackup]$ g++ -v -Ijasper-uuid/src/libjasper/include -Iinclude -Igdal/port -Igdal/gcore -Igdal/alg -Igdal/ogr -Igdal/frmts -Izlib -Ipoco/XML/include -Ipoco/Foundation/include -Iinfo-zip -DUSE_ZLIB -DNO_CRYPT -DHAVE_JASPER_UUID -D_unzip_H -Dcimg_display_type=0 -c abc.cpp -o abc.o

I get largely the same output, except for the result. On one machine, it compiles (yay!). On the other machine, it complains about a missing header file. The header file cpl_config.h is located in gdal/ogr/ogrsf_frmts/dgn/dist which is a subdirectory of gdal/ogr which is specified on the command line above. I can successfully get it to compile by using -Igdal/ogr/ogrsf_frmts/dgn/dist. Unfortunately there are tons of subdirectories in the various libraries I am including, and I'd love to not have to specify each and every one.

A diff on the outputs of both versions with the -v flag shows the following:

7c7
< /usr/libexec/gcc/x86_64-redhat-linux/4.1.1/cc1plus -quiet -v -Ijasper-uuid/src/libjasper/include -Iinclude -Igdal/port -Igdal/gcore -Igdal/alg -Igdal/ogr -Igdal/frmts -Izlib -Ipoco/XML/include -Ipoco/Foundation/include -Iinfo-zip -D_GNU_SOURCE -DUSE_ZLIB -DNO_CRYPT -DHAVE_JASPER_UUID -D_unzip_H -Dcimg_display_type=0 abc.cpp -quiet -dumpbase abc.cpp -mtune=generic -auxbase-strip abc.o -version -o /tmp/ccwnikzF.s
---
> /usr/libexec/gcc/x86_64-redhat-linux/4.1.1/cc1plus -quiet -v -Ijasper-uuid/src/libjasper/include -Iinclude -Igdal/port -Igdal/gcore -Igdal/alg -Igdal/ogr -Igdal/frmts -Izlib -Ipoco/XML/include -Ipoco/Foundation/include -Iinfo-zip -D_GNU_SOURCE -DUSE_ZLIB -DNO_CRYPT -DHAVE_JASPER_UUID -D_unzip_H -Dcimg_display_type=0 abc.cpp -quiet -dumpbase abc.cpp -mtune=generic -auxbase-strip abc.o -version -o /tmp/ccsoGgbf.s


// The only difference is the /tmp/cc??????.s file

31c31
< GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
---
> GGC heuristics: --param ggc-min-expand=46 --param ggc-min-heapsize=31513

// I tried specifying these parameters manually on the second machine with no change in result

33,35c33,37
< as -V -Qy -o abc.o /tmp/ccwnikzF.s
< GNU assembler version 2.17.50.0.6-2.fc6 (x86_64-redhat-linux) using BFD version 2.17.50.0.6-2.fc6 20061020
---
> In file included from gdal/port/cpl_vsi.h:87,
> from gdal/port/cpl_string.h:84,
> from abc.h:25,
> from abc.cpp:24:
> gdal/port/cpl_port.h:148:24: error: cpl_config.h: No such file or directory


// One compiles, the other doesn't.

I have checked my environment also and come up with nothing which would explain the difference in behaviors. Finally, here is a log from the compile on the machine in which it worked.

Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.1 20070105 (Red Hat 4.1.1-51)
/usr/libexec/gcc/x86_64-redhat-linux/4.1.1/cc1plus -quiet -v -Ijasper-uuid/src/libjasper/include -Iinclude -Igdal/port -Igdal/gcore -Igdal/alg -Igdal/ogr -Igdal/frmts -Izlib -Ipoco/XML/include -Ipoco/Foundation/include -Iinfo-zip -D_GNU_SOURCE -DUSE_ZLIB -DNO_CRYPT -DHAVE_JASPER_UUID -D_unzip_H -Dcimg_display_type=0 weokml.cpp -quiet -dumpbase weokml.cpp -mtune=generic -auxbase-strip weokml.o -version -o /tmp/ccOGy0G5.s
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.1.1/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
jasper-uuid/src/libjasper/include
include
gdal/port
gdal/gcore
gdal/alg
gdal/ogr
gdal/frmts
zlib
poco/XML/include
poco/Foundation/include
info-zip
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/../../../../include/c++/4.1.1
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/../../../../include/c++/4.1.1/x86_64-redhat-linux
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/../../../../include/c++/4.1.1/backward
/usr/local/include
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
/usr/include
End of search list.
GNU C++ version 4.1.1 20070105 (Red Hat 4.1.1-51) (x86_64-redhat-linux)
compiled by GNU C version 4.1.1 20070105 (Red Hat 4.1.1-51).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: c1be8c277545876a2f11bc40e8290a2f
as -V -Qy -o weokml.o /tmp/ccOGy0G5.s
GNU assembler version 2.17.50.0.6-2.fc6 (x86_64-redhat-linux) using BFD version 2.17.50.0.6-2.fc6 20061020


Thank you very much for your time and assistance,
Robert


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]