Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#34828 closed defect (fixed)

sudo port install apple-gcc42 fails on 10.5.8, PPC

Reported by: wrfunk@… Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.1.1
Keywords: Cc:
Port: apple-gcc42

Description (last modified by ryandesign (Ryan Schmidt))

sudo port install apple-gcc42
--->  Computing dependencies for apple-gcc42
--->  Fetching archive for apple-gcc42
--->  Attempting to fetch apple-gcc42-5666.3_7.darwin_9.ppc.tbz2 from http://packages.macports.org/apple-gcc42
--->  Fetching distfiles for apple-gcc42
--->  Verifying checksum(s) for apple-gcc42
--->  Extracting apple-gcc42
--->  Applying patches to apple-gcc42
--->  Configuring apple-gcc42
--->  Building apple-gcc42
Error: org.macports.build for port apple-gcc42 returned: command execution failed
Please see the log file for port apple-gcc42 for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_apple-gcc42/apple-gcc42/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port apple-gcc42 failed

NB: This is similar to Ticket #33087 (closed defect: worksforme) which was closed, apparently due to no response from plaintiff.

This case seems to fail with Intel assumptions in the Makefile/configuration

Attachments (2)

main.log.gz (244.5 KB) - added by wrfunk@… 8 years ago.
main.log.gz
main.log.2.gz (244.3 KB) - added by wrfunk@… 8 years ago.

Download all attachments as: .zip

Change History (19)

Changed 8 years ago by wrfunk@…

Attachment: main.log.gz added

main.log.gz

comment:1 Changed 8 years ago by ryandesign (Ryan Schmidt)

Cc: wrfunk@… removed
Description: modified (diff)
Owner: changed from macports-tickets@… to jeremyhu@…

I see no similarity with #33087. That ticket was on a MacBook Pro running Lion and had this error message:

no such file or directory: 'gengtype-yacc.c'

It was an unclean build, and the user did not respond to requests to do a clean build.

You on the other hand are using a PowerPC Mac with Leopard, and the error in your log is:

:info:build /opt/local/bin/strip: object: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_apple-gcc42/apple-gcc42/work/objroot/obj-powerpc-i686/gcc/libgcc_s.1.dylib.tmp malformed object (unknown load command 5)

comment:2 Changed 8 years ago by wrfunk@…

Right. So why / how did libgcc_s.1.dylib.tmp become malformed?

comment:3 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

What is the output of:

sudo otool -l /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_apple-gcc42/apple-gcc42/work/objroot/obj-powerpc-i686/gcc/libgcc_s.1.dylib.tmp

My guess is that ld64-97.17 is adding a load command that the old cctools-698.1 doesn't understand.

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

Resolution: fixed
Status: newclosed

I suspect r94187 should fix this. I was able to build the 806 for ppc on Leopard/x86_64

comment:5 Changed 8 years ago by wrfunk@…

I will ensure cctools is updated to 806, try again, and confirm.

comment:6 Changed 8 years ago by wrfunk@…

806 does not appear available. Trying with 822.

Changed 8 years ago by wrfunk@…

Attachment: main.log.2.gz added

comment:7 Changed 8 years ago by wrfunk@…

Nope. -- sudo port clean apple-gcc42 ---> Cleaning apple-gcc42

20 12:04:27 PM 192.168.1.6 20 /Users/bfunk/tools 20 bfunk on /dev/ttys001 20 -> sudo port install apple-gcc42 ---> Computing dependencies for apple-gcc42 ---> Fetching archive for apple-gcc42 ---> Attempting to fetch apple-gcc42-5666.3_7.darwin_9.ppc.tbz2 from http://packages.macports.org/apple-gcc42 ---> Fetching distfiles for apple-gcc42 ---> Verifying checksum(s) for apple-gcc42 ---> Extracting apple-gcc42 ---> Applying patches to apple-gcc42 ---> Configuring apple-gcc42 ---> Building apple-gcc42 Error: org.macports.build for port apple-gcc42 returned: command execution failed Please see the log file for port apple-gcc42 for details:

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_apple-gcc42/apple-gcc42/main.log

To report a bug, follow the instructions in the guide:

http://guide.macports.org/#project.tickets

Error: Processing of port apple-gcc42 failed -- Fails in same step as previously. :info:build /opt/local/bin/strip: object: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_apple-gcc42/apple-gcc42/work/objroot/obj-powerpc-i686/gcc/libgcc_s.1.dylib.tmp malformed object (unknown load command 5)

comment:8 Changed 8 years ago by wrfunk@…

Resolution: fixed
Status: closedreopened

comment:9 in reply to:  6 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Replying to wrfunk@…:

806 does not appear available. Trying with 822.

Please port sync and try again.

Please run the otool command above on the problematic binary.

comment:10 Changed 8 years ago by wrfunk@…

Here is the output of otool -l /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_apple-gcc42/apple-gcc42/work/objroot/obj-powerpc-i686/gcc/libgcc_s.1.dylib.tmp /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_apple-gcc42/apple-gcc42/work/objroot/obj-powerpc-i686/gcc/libgcc_s.1.dylib.tmp: Load command 0

cmd LC_SEGMENT

cmdsize 532 segname TEXT

vmaddr 0x00000000 vmsize 0x00009000

fileoff 0

filesize 36864

maxprot 0x00000007

initprot 0x00000005

nsects 7

flags 0x0

Section

sectname text

segname TEXT

addr 0x00001250 size 0x0000720d

offset 4688

align 24 (16)

reloff 0 nreloc 0

flags 0x80000400

reserved1 0 reserved2 0

Section

sectname const

segname TEXT

addr 0x00008460 size 0x000003cc

offset 33888

align 25 (32)

reloff 0 nreloc 0

flags 0x00000000

reserved1 0 reserved2 0

Section

sectname cstring

segname TEXT

addr 0x0000882c size 0x00000012

offset 34860

align 20 (1)

reloff 0 nreloc 0

flags 0x00000002

reserved1 0 reserved2 0

Section

sectname symbol_stub

segname TEXT

addr 0x0000883e size 0x0000005a

offset 34878

align 21 (2)

reloff 0 nreloc 0

flags 0x80000508

reserved1 0 (index into indirect symbol table) reserved2 6 (size of stubs)

Section

sectname stub_helper

segname TEXT

addr 0x00008898 size 0x00000114

offset 34968

align 20 (1)

reloff 0 nreloc 0

flags 0x80000500

reserved1 0 reserved2 0

Section

sectname unwind_info

segname TEXT

addr 0x000089b0 size 0x000000d8

offset 35248

align 24 (16)

reloff 0 nreloc 0

flags 0x00000000

reserved1 0 reserved2 0

Section

sectname eh_frame

segname TEXT

addr 0x00008a88 size 0x00000564

offset 35464

align 22 (4)

reloff 0 nreloc 0

flags 0x6000000b

reserved1 0 reserved2 0

Load command 1

cmd LC_SEGMENT

cmdsize 396 segname DATA

vmaddr 0x00009000 vmsize 0x00001000

fileoff 36864

filesize 4096

maxprot 0x00000007

initprot 0x00000003

nsects 5

flags 0x0

Section

sectname dyld

segname DATA

addr 0x00009000 size 0x00000008

offset 36864

align 22 (4)

reloff 0 nreloc 0

flags 0x00000000

reserved1 0 reserved2 0

Section

sectname nl_symbol_ptr

segname DATA

addr 0x00009008 size 0x00000010

offset 36872

align 22 (4)

reloff 0 nreloc 0

flags 0x00000006

reserved1 15 (index into indirect symbol table) reserved2 0

Section

sectname la_symbol_ptr

segname DATA

addr 0x00009018 size 0x0000003c

offset 36888

align 22 (4)

reloff 0 nreloc 0

flags 0x00000007

reserved1 19 (index into indirect symbol table) reserved2 0

Section

sectname data

segname DATA

addr 0x00009054 size 0x0000000c

offset 36948

align 22 (4)

reloff 0 nreloc 0

flags 0x00000000

reserved1 0 reserved2 0

Section

sectname bss

segname DATA

addr 0x00009060 size 0x00000028

offset 0

align 22 (4)

reloff 0 nreloc 0

flags 0x00000001

reserved1 0 reserved2 0

Load command 2

cmd LC_SEGMENT

cmdsize 56 segname LINKEDIT

vmaddr 0x0000a000 vmsize 0x00009000

fileoff 40960

filesize 36468

maxprot 0x00000007

initprot 0x00000001

nsects 0

flags 0x0

Load command 3

cmd LC_ID_DYLIB

cmdsize 52

name /usr/lib/libgcc_s.1.dylib (offset 24)

time stamp 1 Wed Dec 31 19:00:01 1969

current version 1.0.0

compatibility version 1.0.0 Load command 4

cmd LC_UUID

cmdsize 24

uuid 0xed 0xb6 0x8b 0x53 0x36 0xd2 0x89 0x47

0x38 0x82 0x1f 0xe6 0x5a 0xf9 0x4c 0xea

Load command 5

cmd ?(0x00000022) Unknown load command

cmdsize 48

0000a000 0000001c 0000a01c 00000030 00000000 00000000 0000a04c 0000014c 0000a198 000005f0 Load command 6

cmd LC_SYMTAB

cmdsize 24

symoff 43364

nsyms 1038

stroff 57120

strsize 20308

Load command 7

cmd LC_DYSYMTAB

cmdsize 80

ilocalsym 0 nlocalsym 934

iextdefsym 934 nextdefsym 87

iundefsym 1021 nundefsym 17

tocoff 55956

ntoc 87

modtaboff 56652

nmodtab 1

extrefsymoff 56704

nextrefsyms 104

indirectsymoff 55820

nindirectsyms 34

extreloff 0

nextrel 0

locreloff 42888

nlocrel 49

Load command 8

cmd LC_SEGMENT_SPLIT_INFO

cmdsize 16

dataoff 43280 datasize 84

Load command 9

cmd LC_LOAD_DYLIB

cmdsize 52

name /usr/lib/libSystem.B.dylib (offset 24)

time stamp 2 Wed Dec 31 19:00:02 1969

current version 111.1.7

compatibility version 1.0.0

comment:11 Changed 8 years ago by wrfunk@…

Yep. Load command 5 is unknown.

comment:12 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

That is LC_DYLD_INFO (grep LC_DYLD_INFO /opt/local/include/mach-o/loader.h)

comment:13 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

And cctools-806 certainly supports it:

~/src/macports/dports/devel/cctools/work $ grep -R LC_DYLD_INFO .
./cctools-806/include/mach-o/loader.h:#define	LC_DYLD_INFO 	0x22	/* compressed dyld information */
./cctools-806/include/mach-o/loader.h:#define	LC_DYLD_INFO_ONLY (0x22|LC_REQ_DYLD)	/* compressed dyld information only */
./cctools-806/include/mach-o/loader.h:   uint32_t   cmd;		/* LC_DYLD_INFO or LC_DYLD_INFO_ONLY */
./cctools-806/include/stuff/breakout.h:	*dyld_info;		    /* the LC_DYLD_INFO command,if any */
./cctools-806/libstuff/checkout.c:	    else if((lc->cmd == LC_DYLD_INFO) ||(lc->cmd == LC_DYLD_INFO_ONLY)){
./cctools-806/libstuff/checkout.c:			"LC_DYLD_INFO load command): ");
./cctools-806/libstuff/notes:  LC_DYLD_INFO_ONLY which caused that load command to not actually get swapped.
./cctools-806/libstuff/notes:  - Handle LC_DYLD_INFO in check_object() and dyld_order() in checkout.c .
./cctools-806/libstuff/ofile.c:	    case LC_DYLD_INFO:
./cctools-806/libstuff/ofile.c:	    case LC_DYLD_INFO_ONLY:
./cctools-806/libstuff/ofile.c:				 LC_DYLD_INFO ? "LC_DYLD_INFO" :
./cctools-806/libstuff/ofile.c:				 "LC_DYLD_INFO_ONLY", i);
./cctools-806/libstuff/ofile.c:		    Mach_O_error(ofile, "malformed object (LC_DYLD_INFO"
./cctools-806/libstuff/ofile.c:			"(rebase_off field of LC_DYLD_INFO command %u "
./cctools-806/libstuff/ofile.c:			    "(rebase_off plus rebase_size of LC_DYLD_INFO "
./cctools-806/libstuff/ofile.c:			"(bind_off field of LC_DYLD_INFO command %u "
./cctools-806/libstuff/ofile.c:			    "(bind_off plus bind_size of LC_DYLD_INFO command "
./cctools-806/libstuff/ofile.c:			"(weak_bind_off field of LC_DYLD_INFO command %u "
./cctools-806/libstuff/ofile.c:			    "(weak_bind_off plus weak_bind_size of LC_DYLD_INFO"
./cctools-806/libstuff/ofile.c:			"(lazy_bind_off field of LC_DYLD_INFO command %u "
./cctools-806/libstuff/ofile.c:			    "(lazy_bind_off plus lazy_bind_size of LC_DYLD_INFO"
./cctools-806/libstuff/ofile.c:			"(export_off field of LC_DYLD_INFO command %u "
./cctools-806/libstuff/ofile.c:			    "(export_off plus export_size of LC_DYLD_INFO "
./cctools-806/libstuff/swap_headers.c:	    case LC_DYLD_INFO:
./cctools-806/libstuff/swap_headers.c:	    case LC_DYLD_INFO_ONLY:
./cctools-806/libstuff/swap_headers.c:			  "(LC_DYLD_INFO command %lu has incorrect "
./cctools-806/libstuff/swap_headers.c:	    case LC_DYLD_INFO:
./cctools-806/libstuff/swap_headers.c:	    case LC_DYLD_INFO_ONLY:
./cctools-806/misc/strip.c:	    case LC_DYLD_INFO_ONLY:
./cctools-806/misc/strip.c:	    case LC_DYLD_INFO:
./cctools-806/otool/ofile_print.c:	    case LC_DYLD_INFO:
./cctools-806/otool/ofile_print.c:	    case LC_DYLD_INFO_ONLY:
./cctools-806/otool/ofile_print.c: * print an LC_DYLD_INFO command.  The dyld_info_command structure
./cctools-806/otool/ofile_print.c:	if(dc->cmd == LC_DYLD_INFO)
./cctools-806/otool/ofile_print.c:	    printf("            cmd LC_DYLD_INFO\n");
./cctools-806/otool/ofile_print.c:	    printf("            cmd LC_DYLD_INFO_ONLY\n");

Are you *SURE* you are using cctools-806?

What is the output of:

/opt/local/bin/otool -l /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_apple-gcc42/apple-gcc42/work/objroot/obj-powerpc-i686/gcc/libgcc_s.1.dylib.tmp
/opt/local/bin/as -v < /dev/null

comment:14 Changed 8 years ago by wrfunk@…

After this sequence of commands cc-tools is in use. 24 -> sudo port sync

---> Updating the ports tree

25 -> sudo port clean apple-gcc42 26 -> sudo port install apple-gcc42 -- This is where the build is as of this writing: sudo port install apple-gcc42 ---> Computing dependencies for cctools ---> Fetching archive for cctools ---> Attempting to fetch cctools-806_1+llvm30.darwin_9.ppc.tbz2 from http://packages.macports.org/cctools ---> Fetching distfiles for cctools ---> Attempting to fetch cctools-806.tar.gz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/cctools ---> Verifying checksum(s) for cctools ---> Extracting cctools ---> Applying patches to cctools ---> Configuring cctools ---> Building cctools ---> Staging cctools into destroot ---> Installing cctools @806_1+llvm30 ---> Cleaning cctools ---> Computing dependencies for cctools ---> Deactivating cctools @698.1_2+llvm30 ---> Cleaning cctools ---> Activating cctools @806_1+llvm30 ---> Cleaning cctools ---> Computing dependencies for apple-gcc42 ---> Fetching archive for apple-gcc42 ---> Attempting to fetch apple-gcc42-5666.3_7.darwin_9.ppc.tbz2 from http://packages.macports.org/apple-gcc42 ---> Fetching distfiles for apple-gcc42 ---> Verifying checksum(s) for apple-gcc42 ---> Extracting apple-gcc42 ---> Applying patches to apple-gcc42 ---> Configuring apple-gcc42 ---> Building apple-gcc42 -- So, 806 is in use

comment:15 Changed 8 years ago by wrfunk@…

I might add you have been _extremely_ helpful. Thank you.

comment:16 in reply to:  15 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: reopenedclosed

Replying to wrfunk@…:

I might add you have been _extremely_ helpful. Thank you.

You're welcome. I'm going to close this as fixed now that you have cctools-806 and apple-gcc42.

comment:17 Changed 8 years ago by wrfunk@…

Winner! Proof point: -- sudo port install apple-gcc42 ---> Computing dependencies for cctools ---> Fetching archive for cctools ---> Attempting to fetch cctools-806_1+llvm30.darwin_9.ppc.tbz2 from http://packages.macports.org/cctools ---> Fetching distfiles for cctools ---> Attempting to fetch cctools-806.tar.gz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/cctools ---> Verifying checksum(s) for cctools ---> Extracting cctools ---> Applying patches to cctools ---> Configuring cctools ---> Building cctools ---> Staging cctools into destroot ---> Installing cctools @806_1+llvm30 ---> Cleaning cctools ---> Computing dependencies for cctools ---> Deactivating cctools @698.1_2+llvm30 ---> Cleaning cctools ---> Activating cctools @806_1+llvm30 ---> Cleaning cctools ---> Computing dependencies for apple-gcc42 ---> Fetching archive for apple-gcc42 ---> Attempting to fetch apple-gcc42-5666.3_7.darwin_9.ppc.tbz2 from http://packages.macports.org/apple-gcc42 ---> Fetching distfiles for apple-gcc42 ---> Verifying checksum(s) for apple-gcc42 ---> Extracting apple-gcc42 ---> Applying patches to apple-gcc42 ---> Configuring apple-gcc42 ---> Building apple-gcc42 ---> Staging apple-gcc42 into destroot ---> Installing apple-gcc42 @5666.3_7 ---> Activating apple-gcc42 @5666.3_7 ---> Cleaning apple-gcc42 ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> No broken files found.

28 12:04:27 PM 192.168.1.6 28 /Users/bfunk/tools 28 bfunk on /dev/ttys001 28 ->

Note: See TracTickets for help on using tickets.