problems after upgrading from darwinports

Ryan Schmidt ryandesign at macports.org
Wed Nov 15 23:32:06 PST 2006


On Nov 15, 2006, at 23:59, Dorian Mcfarland wrote:

> actually, after a full reinstall of darwinports(completely  
> removing /opt/local) I still have the same problem with db44

Well thank you for trying that at least; it helps us rule out any  
other part of MacPorts as a culprit!


>> $ gcc_select
>> Current default compiler:
>> gcc version 4.0.1 (Apple Computer, Inc. build 5367)
>
> this is still the case.
>
> I am now at a total loss!
> anyone have any ideas why I might be getting the following:
>
> <snip>
> creating libdb-4.4.la
> (cd .libs && rm -f libdb-4.4.la && ln -s ../libdb-4.4.la libdb-4.4.la)
> rm -f libdb.a
> ln -s .libs/libdb-4.4.a libdb.a
> /bin/sh ./libtool --mode=compile /usr/bin/g++-4.0 -c -I. -I../ 
> dist/..  -O ../dist/../cxx/cxx_db.cpp
> /usr/bin/g++-4.0 -c -I. -I../dist/.. -O ../dist/../cxx/cxx_db.cpp  - 
> fno-common -DPIC -o .libs/cxx_db.o
> In file included from ../dist/../cxx/cxx_db.cpp:15:
> ./db_cxx.h:60:22: error: iostream.h: No such file or directory
> ./db_cxx.h:61:23: error: exception.h: No such file or directory

[snip, since the rest will be because of these two lines]

I hadn't tried to install db44 before (though I had successfully  
installed db43). But db44 installed for me just now with no problems,  
on my G4 running 10.4.8, which you say is what you have also.

Lines 60 and 61 of db_cxx.h do indeed ask for iostream.h and  
exception.h to be included. On your system, db44 apparently can't  
find these files. Can you find them? See if "locate iostream.h" and  
"locate exception.h" produce any output. I've got 'em in /usr/include/ 
c++/4.0.0/backward/iostream.h and /usr/include/mach/exception.h.

I also checked what OS packages might have installed these files:

$ grep -R iostream.h /Library/Receipts/* 2>/dev/null
Binary file /Library/Receipts/BSDSDK.pkg/Contents/Archive.bom matches
Binary file /Library/Receipts/DevSDK.pkg/Contents/Archive.bom matches
Binary file /Library/Receipts/MacOSX10.2.8.pkg/Contents/Archive.bom  
matches
Binary file /Library/Receipts/MacOSX10.3.9.pkg/Contents/Archive.bom  
matches
Binary file /Library/Receipts/MacOSX10.4.Universal.pkg/Contents/ 
Archive.bom matches
Binary file /Library/Receipts/gcc2.95.2.pkg/Contents/Archive.bom matches
Binary file /Library/Receipts/gcc3.3.pkg/Contents/Archive.bom matches
$ grep -R exception.h /Library/Receipts/* 2>/dev/null
Binary file /Library/Receipts/DevSDK.pkg/Contents/Archive.bom matches
Binary file /Library/Receipts/MacOSX10.2.8.pkg/Contents/Archive.bom  
matches
Binary file /Library/Receipts/MacOSX10.3.9.pkg/Contents/Archive.bom  
matches
Binary file /Library/Receipts/MacOSX10.4.Universal.pkg/Contents/ 
Archive.bom matches

Do you also have these packages installed? I'd say you should at  
least have BSDSDK and DevSDK. MacOSX10.4.Universal probably isn't a  
bad idea to have either, as any universal software you build will  
require this, and there has been some talk of having MacPorts build  
universal binaries.

Interesting perhaps that iostream.h seems to be part of gcc2.95.2 and  
gcc3.3 but apparently not gcc4.0. Has anyone with an Intel Mac  
successfully compiled db44? I ask because AFAIK they don't have gcc2  
or gcc3 installed; if someone had compiled db44 on an Intel Mac, we  
should be able to rule out the gcc2 and gcc3 packages.





More information about the macports-users mailing list