Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#19237 closed defect (fixed)

libtool uses gsed but does not declare dependency

Reported by: ryandesign (Ryan Schmidt) Owned by: boeyms@…
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: libtool

Description

I can't seem to install xorg-libXt @1.0.5_2, even though 1.0.5_1 worked fine. This is on Mac OS X 10.4.11 Intel with Xcode 2.5 and MacPorts 1.7.1.

$ port installed xorg-libxt
The following ports are currently installed:
  xorg-libXt @1.0.5_1
$ sudo port install xorg-libxt
--->  Fetching xorg-libXt
--->  Verifying checksum(s) for xorg-libXt
--->  Extracting xorg-libXt
--->  Applying patches to xorg-libXt
--->  Configuring xorg-libXt
--->  Building xorg-libXt
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_x11_xorg-libXt/work/libXt-1.0.5" && nice -n 10 make -j3 all " returned error 2
Command output: make  all-recursive
Making all in util
/usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I..   -I/opt/local/include -I/opt/local/include   -O2 -MT makestrs-makestrs.o -MD -MP -MF .deps/makestrs-makestrs.Tpo -c -o makestrs-makestrs.o `test -f 'makestrs.c' || echo './'`makestrs.c
sed -e 's|__xorgversion__|"libXt 1.0.5" "X Version 11"|' < makestrs.man > makestrs.1
mv -f .deps/makestrs-makestrs.Tpo .deps/makestrs-makestrs.Po
/bin/sh ../libtool --tag=CC   --mode=link /usr/bin/gcc-4.0 -I/opt/local/include   -O2  -L/opt/local/lib -Wl,-flat_namespace -o makestrs makestrs-makestrs.o  
../libtool: line 1: X--tag=CC: command not found
../libtool: line 823: libtool: ignoring unknown tag : command not found
../libtool: line 1: X--mode=link: command not found
../libtool: line 956: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 957: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
../libtool: line 987: libtool: warning: cannot infer operation mode from `/usr/bin/gcc-4.0': No such file or directory
../libtool: line 7014: libtool: you must specify a MODE: command not found
../libtool: line 7015: Try `libtool --help' for more information.: command not found
make[2]: *** [makestrs] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Error: Status 1 encountered during processing.
$ 

Change History (6)

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

That's odd... the only thing that changed was the addition of -flat_namespace...

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

Cc: jeremyhu@… added
Owner: changed from jeremyhu@… to boeyms@…
Port: libtool added; xorg-libXt removed
Summary: xorg-libXt: ../libtool: line 1: X--tag=CC: command not foundlibtool uses gsed but does not declare dependency

Ok, you're right, 1.0.5_1 doesn't work anymore either. Looks like a libtool issue. If I show the debug output I get:

--->  Configuring xorg-libXt
DEBUG: Using compiler 'Mac OS X gcc 4.0'
DEBUG: Executing org.macports.configure (xorg-libXt)
DEBUG: Environment: MACOSX_DEPLOYMENT_TARGET='10.4'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_x11_xorg-libXt/work/libXt-1.0.5" && autoreconf --install -fvi'
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: running: glibtoolize --copy --force
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
/opt/local/bin/glibtoolize: line 1: /opt/local/bin/gsed: No such file or directory
autoreconf: running: /opt/local/bin/autoconf --force
autoreconf: running: /opt/local/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
[snip]

So libtool is hardcoding the path to gsed into glibtoolize if gsed is present at build time, though it does not declare a dependency on gsed, therefore MacPorts did not tell me I was not supposed to uninstall gsed. Since gsed has a few dependencies of its own, might be better to make libtool always use the system's sed, even if gsed is present. (None of those dependencies currently depend on libtool, but I'm worried one of them might want to at some point, and that would be a circular dependency.)

comment:3 Changed 12 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

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

Resolution: fixed
Status: newclosed
  • r64311: Adding dependency on gsed and grep (which is in the same situation).

comment:5 Changed 11 years ago by danielluke (Daniel J. Luke)

I think it would be preferable to make libtool use the system sed and grep - it's probably possible to do by doing something similar to the approach used by apr to prevent picking up gawk

comment:6 in reply to:  5 Changed 11 years ago by jmroot (Joshua Root)

Replying to dluke@…:

I think it would be preferable to make libtool use the system sed and grep - it's probably possible to do by doing something similar to the approach used by apr to prevent picking up gawk

Done in r64469.

Note: See TracTickets for help on using tickets.