Opened 10 years ago

Closed 9 years ago

Last modified 9 years ago

#45637 closed defect (fixed)

ld64 @97.17_3 build fails on Leopard - can't find libunwind headers

Reported by: khepler Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.3.2
Keywords: Cc:
Port: ld64

Description

Build of ld64 aborts due to "File not found" errors for the libunwind includes. This is a clean install of Leopard on a PowerMac G5.

/usr/bin/g++-4.2 -Os -Os  -arch ppc -I/opt/local/libexec/llvm-3.3/include -DLTO_SUPPORT -Isrc/abstraction -Isrc/ld -I/opt/local/include  -c -o src/other/dyldinfo.o src/other/dyldinfo.cpp
In file included from src/ld/MachOReaderRelocatable.hpp:37,
                 from src/other/ObjectDump.cpp:31:
src/abstraction/MachOFileAbstraction.hpp:36:44: error: mach-o/compact_unwind_encoding.h: No such file or directory
In file included from src/other/ObjectDump.cpp:31:
src/ld/MachOReaderRelocatable.hpp:43:43: error: libunwind/DwarfInstructions.hpp: No such file or directory
src/ld/MachOReaderRelocatable.hpp:44:38: error: libunwind/AddressSpace.hpp: No such file or directory
src/ld/MachOReaderRelocatable.hpp:45:35: error: libunwind/Registers.hpp: No such file or directory
In file included from src/other/dyldinfo.cpp:38:
src/abstraction/MachOFileAbstraction.hpp:36:44: error: mach-o/compact_unwind_encoding.h: No such file or directory

The headers are definitely installed:

[PowerMacG5:~] kris% port installed libunwind-headers
The following ports are currently installed:
  libunwind-headers @35.3_0 (active)
[PowerMacG5:~] kris% port contents libunwind-headers
Port libunwind-headers contains:
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind.h
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/AddressSpace.hpp
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/CompactUnwinder.hpp
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/DwarfInstructions.hpp
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/DwarfParser.hpp
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/FileAbstraction.hpp
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/InternalMacros.h
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/Registers.hpp
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/UnwindCursor.hpp
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/dwarf2.h
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/libunwind/libunwind_priv.h
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/mach-o/compact_unwind_encoding.h
  /opt/local/Developer/SDKs/Darwin9.sdk/usr/include/unwind.h
[PowerMacG5:~] kris% 

Looks like the Macports SDKs aren't in the paths.

Attachments (2)

main.log (56.6 KB) - added by khepler 10 years ago.
full build log
ld64-leopard.patch (502 bytes) - added by larryv (Lawrence Velázquez) 9 years ago.

Download all attachments as: .zip

Change History (7)

Changed 10 years ago by khepler

Attachment: main.log added

full build log

comment:1 Changed 10 years ago by larryv (Lawrence Velázquez)

Cc: jeremyhu removed
Owner: changed from macports-tickets@… to jeremyhu@…

comment:2 Changed 9 years ago by khepler

Was able to build by adding the following line to a relevant section of the portfile:

    configure.cppflags-append   "-I/opt/local/Developer/SDKs/Darwin9.sdk/usr/include"

What's the proper way to add this include path to the port? I can supply an updated Portfile once I figure out how to avoid that absolute path.

Changed 9 years ago by larryv (Lawrence Velázquez)

Attachment: ld64-leopard.patch added

comment:3 in reply to:  2 Changed 9 years ago by larryv (Lawrence Velázquez)

Replying to khepler@…:

What's the proper way to add this include path to the port?

Probably something like what I just attached. Can you try it?

comment:4 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

r127972 thanks.

comment:5 Changed 9 years ago by khepler

Build succeeds with the changes. Thanks!

Note: See TracTickets for help on using tickets.