Opened 12 years ago

Closed 12 years ago

#36043 closed defect (fixed)

quartz-wm fails to build on Tiger PPC because of an unknown cmd field

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc:
Port: xorg-server-devel

Description

The build dies very early:

Making all in src
make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_quartz-wm/quartz-wm/work/quartz-wm-1.3.1/src'
  OBJCLD   quartz-wm
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: ../lib/libquartz-wm-ds.dylib load command 7 unknown cmd field
collect2: ld returned 1 exit status
make[2]: *** [quartz-wm] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_quartz-wm/quartz-wm/work/quartz-wm-1.3.1/src'

Before I again invoked the upgrade command, now in debug mode, I invoked the clean function, which did not seem to work correctly, leaving almost 2.5 MB on disk…

Attachments (2)

main.log (5.8 KB) - added by ballapete (Peter "Pete" Dyballa) 12 years ago.
main.log
main.2.log (56.3 KB) - added by ballapete (Peter "Pete" Dyballa) 12 years ago.
New main.log

Download all attachments as: .zip

Change History (12)

Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

main.log

comment:1 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Cleaning manually (rm -rf …) delivers a new main.log.

Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.2.log added

New main.log

comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

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

Try the xorg-server port; at the moment, it's newer than the xorg-server-devel port.

comment:3 in reply to:  2 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to ryandesign@…:

Try the xorg-server port; at the moment, it's newer than the xorg-server-devel port.

It shows the same behaviour… Actually it's not the X server that does not build, but quartz-wm @1.3.1. Both X servers depend on that package which was not installed before in some earlier version, on Tiger obviously the standard quartz-wm was used.

I'll open a new ticket quartz-wm, this one can be closed.

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

Summary: xorg-server-devel 1.12.99.905_1 fails to build on Tiger PPC because of an unknown cmd fieldquartz-wm fails to build on Tiger PPC because of an unknown cmd field

I don't actually have a Tiger box any more ...

This looks like a case of Tiger's linker not unerstanding some load commands in the dylib. Please try using a MacPorts compiler (like gcc-apple-4.2) instead of the default compiler.

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

I'm curious though, what load command is it complaining about? Use otool -l to list all the load commands.

comment:6 in reply to:  5 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

I'm curious though, what load command is it complaining about? Use otool -l to list all the load commands.

otool -l /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_quartz-wm/quartz-wm/work/quartz-wm-1.3.1/lib/libquartz-wm-ds.dylib
/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_x11_quartz-wm/quartz-wm/work/quartz-wm-1.3.1/lib/libquartz-wm-ds.dylib:
Load command 0
      cmd LC_SEGMENT
  cmdsize 328
  segname __TEXT
   vmaddr 0x00000000
   vmsize 0x00004000
  fileoff 0
 filesize 16384
  maxprot 0x00000007
 initprot 0x00000005
   nsects 4
    flags 0x0
Section
  sectname __text
   segname __TEXT
      addr 0x00002a50
      size 0x00000d80
    offset 10832
     align 2^4 (16)
    reloff 0
    nreloc 0
     flags 0x80000400
 reserved1 0
 reserved2 0
Section
  sectname __picsymbolstub1
   segname __TEXT
      addr 0x000037d0
      size 0x00000460
    offset 14288
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x80000408
 reserved1 0 (index into indirect symbol table)
 reserved2 32 (size of stubs)
Section
  sectname __cstring
   segname __TEXT
      addr 0x00003c30
      size 0x000003bf
    offset 15408
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000002
 reserved1 0
 reserved2 0
Section
  sectname __const
   segname __TEXT
      addr 0x00003ff0
      size 0x00000004
    offset 16368
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Load command 1
      cmd LC_SEGMENT
  cmdsize 396
  segname __DATA
   vmaddr 0x00004000
   vmsize 0x00001000
  fileoff 16384
 filesize 4096
  maxprot 0x00000007
 initprot 0x00000003
   nsects 5
    flags 0x0
Section
  sectname __dyld
   segname __DATA
      addr 0x00004000
      size 0x00000008
    offset 16384
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __nl_symbol_ptr
   segname __DATA
      addr 0x00004008
      size 0x00000018
    offset 16392
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000006
 reserved1 35 (index into indirect symbol table)
 reserved2 0
Section
  sectname __la_symbol_ptr
   segname __DATA
      addr 0x00004020
      size 0x0000008c
    offset 16416
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000007
 reserved1 41 (index into indirect symbol table)
 reserved2 0
Section
  sectname __data
   segname __DATA
      addr 0x000040ac
      size 0x00000004
    offset 16556
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000000
 reserved1 0
 reserved2 0
Section
  sectname __bss
   segname __DATA
      addr 0x000040b0
      size 0x00000018
    offset 0
     align 2^2 (4)
    reloff 0
    nreloc 0
     flags 0x00000001
 reserved1 0
 reserved2 0
Load command 2
      cmd LC_SEGMENT
  cmdsize 56
  segname __LINKEDIT
   vmaddr 0x00005000
   vmsize 0x00001000
  fileoff 20480
 filesize 2888
  maxprot 0x00000007
 initprot 0x00000001
   nsects 0
    flags 0x0
Load command 3
          cmd LC_ID_DYLIB
      cmdsize 72
         name @executable_path/../lib/libquartz-wm-ds.1.dylib (offset 24)
   time stamp 1 Thu Jan  1 01:00:01 1970
      current version 1.0.0
compatibility version 1.0.0
Load command 4
     cmd LC_SYMTAB
 cmdsize 24
  symoff 20792
   nsyms 69
  stroff 21924
 strsize 1444
Load command 5
            cmd LC_DYSYMTAB
        cmdsize 80
      ilocalsym 0
      nlocalsym 21
     iextdefsym 21
     nextdefsym 10
      iundefsym 31
      nundefsym 38
         tocoff 0
           ntoc 0
      modtaboff 0
        nmodtab 0
   extrefsymoff 0
    nextrefsyms 0
 indirectsymoff 21620
  nindirectsyms 76
      extreloff 0
        nextrel 0
      locreloff 20480
        nlocrel 36
Load command 6
     cmd LC_UUID
 cmdsize 24
   uuid 0x03 0x7b 0x5a 0x22 0xed 0xde 0x3f 0x29
        0x92 0xfe 0xbf 0x81 0x93 0x89 0x8c 0x62
Load command 7
      cmd ?(0x00000024) Unknown load command
  cmdsize 16
000a0400 00000000 
Load command 8
          cmd LC_LOAD_WEAK_DYLIB
      cmdsize 52
         name /usr/lib/libXplugin.1.dylib (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 1.0.0
compatibility version 1.0.0
Load command 9
          cmd LC_LOAD_DYLIB
      cmdsize 112
         name /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 38.0.0
compatibility version 1.0.0
Load command 10
          cmd LC_LOAD_DYLIB
      cmdsize 52
         name /usr/lib/libgcc_s.1.dylib (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 832.0.0
compatibility version 1.0.0
Load command 11
          cmd LC_LOAD_DYLIB
      cmdsize 52
         name /usr/lib/libSystem.B.dylib (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 125.2.0
compatibility version 1.0.0
Load command 12
          cmd LC_LOAD_DYLIB
      cmdsize 104
         name /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 550.29.0
compatibility version 150.0.0
Load command 13
      cmd ?(0x00000026) Unknown load command
  cmdsize 16
00005120 00000018 

comment:7 in reply to:  4 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

I don't actually have a Tiger box any more ...

This looks like a case of Tiger's linker not unerstanding some load commands in the dylib. Please try using a MacPorts compiler (like gcc-apple-4.2) instead of the default compiler.

What is the diff or patch? I don't understand the Portfile language…

comment:8 in reply to:  4 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

I don't actually have a Tiger box any more ...

This looks like a case of Tiger's linker not unerstanding some load commands in the dylib. Please try using a MacPorts compiler (like gcc-apple-4.2) instead of the default compiler.

I took from xorg-xcb-util's Portfile this block (with vi line numbers from quartz-wm's Portfile):

     31 if {${configure.compiler} == "gcc-4.0"} {
     32     configure.compiler gcc-4.2
     33     if {![file exists ${configure.cc}]} {
     34         depends_build-append port:apple-gcc42
     35         configure.compiler apple-gcc-4.2
     36     }
     37 }

The build succeeded but the installation first failed because an unrecorded /opt/local/bin/quartz-wm of version 1.0.1 already existed. I renamed it manually and the installation then succeeded. Otool still reports:

Load command 7
      cmd ?(0x00000024) Unknown load command
  cmdsize 16
000a0400 00000000 

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

Yeah, because the otool you have is too old. Thanks, I'll get that setup...

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

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.