Opened 12 years ago

Closed 12 years ago

#33765 closed defect (fixed)

glw: build fails on PowerPC systems

Reported by: trog24 (Frank J. R. Hanstick) Owned by: cssdev
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: powerpc Cc: ryandesign (Ryan Carsten Schmidt)
Port: glw

Description

An attempt to upgrade glw via:

sudo port upgrade outdated

resulted in the following error for glw:

:info:build make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_glw/glw/work/Mesa-7.8.2/src/glw'
:info:build /bin/sh ../../bin/mklib -o GLw -linker '/usr/bin/gcc-4.0' -ldflags '-L/opt/local/lib -arch ppc' \
:info:build 		-major 1 -minor 0 -patch 0 \
:info:build 		 -install ../../lib \
:info:build 		-id /opt/local/lib/libGLw.1.dylib \
:info:build 		-L../../lib -lGL  -lXm -L/opt/local/lib -lXt -lX11   GLwDrawA.o GLwMDrawA.o
:info:build mklib: Making Darwin shared library:  libGLw.1.0.dylib
:info:build lipo: /var/tmp//ccBN3rou.out and /var/tmp//cciiRsSf.out have the same architectures (ppc7400) and can't be in the same fat output file
:info:build mklib: Installing libGLw.1.0.dylib libGLw.1.dylib libGLw.dylib in ../../lib
:info:build mv: rename libGLw.1.0.dylib to ../../lib/libGLw.1.0.dylib: No such file or directory
:info:build make: *** [../../lib/libGLw.dylib] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_glw/glw/work/Mesa-7.8.2/src/glw'
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_glw/glw/work/Mesa-7.8.2/src/glw" && /usr/bin/make -j2 -w " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
   while executing
"command_exec build"
   (procedure "portbuild::build_main" line 8)
   invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for glw): org.macports.install org.macports.build org.macports.destroot
:notice:build Log for glw is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_glw/glw/main.log

attached is the log file associated with the error.

It should be noted that Mesa was upgraded within the last week via the same upgrade command.

The platform is a dual 1.73 GHz PowerPC G4 Quicksilver running MacOS 10.5.8.

Attachments (2)

main.log (3.5 KB) - added by trog24 (Frank J. R. Hanstick) 12 years ago.
glw failure log
main.2.log (11.4 KB) - added by trog24 (Frank J. R. Hanstick) 12 years ago.
Clean glw failure log

Download all attachments as: .zip

Change History (7)

Changed 12 years ago by trog24 (Frank J. R. Hanstick)

Attachment: main.log added

glw failure log

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

Cc: ryandesign@… added
Owner: changed from macports-tickets@… to css@…

This log does not show a clean build attempt. Please "sudo port clean glw" and try again, then attach the new main.log.

Changed 12 years ago by trog24 (Frank J. R. Hanstick)

Attachment: main.2.log added

Clean glw failure log

comment:2 Changed 12 years ago by trog24 (Frank J. R. Hanstick)

I just noticed the following in the log:

:msg:archivefetch --->  Attempting to fetch glw-7.8.2_0.darwin_9.ppc.tgz from http://packages.macports.org/glw
:debug:archivefetch Fetching archive failed:: The requested URL returned error: 404
:debug:fetch fetch phase started at Mon Mar 26 02:55:02 PDT 2012
:notice:fetch --->  Fetching glw
:debug:fetch Executing org.macports.fetch (glw)

Could the port be fetching the wrong glw?

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

Archive fetch failures are normal and expected and are not a problem. Right now, we only have archives for Snow Leopard for x86_64, for default variants, for ports whose licenses allow them to be distributed.

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

Keywords: powerpc added
Summary: glw failed to buildglw: build fails on PowerPC systems

Ok, I can reproduce the problem on my Leopard G4. The relevant part of the log is:

:info:build /bin/sh ../../bin/mklib -o GLw -linker '/usr/bin/gcc-4.0' -ldflags '-L/opt/local/lib -arch ppc' \
:info:build             -major 1 -minor 0 -patch 0 \
:info:build              -install ../../lib \
:info:build             -id /opt/local/lib/libGLw.1.dylib \
:info:build             -L../../lib -lGL  -lXm -L/opt/local/lib -lXt -lX11   GLwDrawA.o GLwMDrawA.o
:info:build mklib: Making Darwin shared library:  libGLw.1.0.dylib
:info:build lipo: /var/tmp//ccZUGZAl.out and /var/tmp//ccNivMSJ.out have the same architectures (ppc7400) and can't be in the same fat output file

MacPorts requests -arch ppc (generic PowerPC architecture), but since OS X and MacPorts no longer run on G3 processors, the arch that the compiler actually builds for is ppc7400 (G4 and up). The mklib command they're using actually analyzes the library with lipo -info and gathers up the architectures and tries to use them. So the compile command it ends up constructing contains -arch ppc -arch ppc7400. When there are multiple -arch flags the compiler compiles each arch separately, then tries to glue them together with lipo. But since -arch ppc and -arch ppc7400 mean the same thing now, lipo throws an error about trying to combine two same-architecture binaries.

It looks like updating glw to its latest version would solve this problem. Or we could patch mklib.

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

Resolution: fixed
Status: newclosed

Since we resolved #33763, this is fixed as well.

Note: See TracTickets for help on using tickets.