Opened 10 years ago

Closed 9 years ago

#17471 closed defect (fixed)

kdiff3 0.9.92_0 - Build failure

Reported by: nick@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: kdiff3 build linker failure Cc:
Port: kdiff3

Description

kdiff3 repeatedly fails to build, with the following stdout:

Failure build

Dragon:my-new-hello fabry$ sudo port install kdiff3
Password:
s--->  Building kdiff3 with target all
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_kdiff3/work/kdiff3-0.9.92" && make all " returned error 2
Command output: Making all in en
make[3]: Nothing to be done for `all'.
Making all in da
make[3]: Nothing to be done for `all'.
Making all in it
make[3]: Nothing to be done for `all'.
Making all in sv
make[3]: Nothing to be done for `all'.
Making all in et
make[3]: Nothing to be done for `all'.
Making all in pt
make[3]: Nothing to be done for `all'.
Making all in de
make[3]: Nothing to be done for `all'.
Making all in fr
make[3]: Nothing to be done for `all'.
Making all in nl
make[3]: Nothing to be done for `all'.
Making all in es
make[3]: Nothing to be done for `all'.
Making all in po
make[2]: Nothing to be done for `all'.
Making all in src
/bin/sh ../libtool --silent --tag=CXX --mode=link /usr/bin/g++-4.0  -Wno-long-long -Wundef -Wall -W -Wpointer-arith -O2 -O2 -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common   -L/opt/local/lib -o libkdiff3part.la -rpath /opt/local/lib/kde3 -module -avoid-version -module -no-undefined  -R /opt/local/lib -R /opt/local/lib -R /opt/local/lib/qt3/lib -R /usr/X11/lib -R /opt/local/lib  -L/opt/local/lib -L/opt/local/lib/qt3/lib -L/usr/X11/lib    -L/opt/local/lib kdiff3_part.lo kdiff3.lo directorymergewindow.lo merger.lo pdiff.lo difftextwindow.lo diff.lo optiondialog.lo mergeresultwindow.lo fileaccess.lo gnudiff_analyze.lo gnudiff_io.lo gnudiff_xmalloc.lo common.lo smalldialogs.lo -lkdeprint -lkparts -lkio 
ld: warning, duplicate dylib /usr/X11R6/lib/libGL.dylib
ld: cycle in dylib re-exports with /usr/X11R6/lib/libGL.dylib
collect2: ld returned 1 exit status
make[2]: *** [libkdiff3part.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Error: Status 1 encountered during processing.

This appears to be a known problem with Leopard's linker, according to http://trac.macports.org/wiki/LeopardProblems - so, I created a local portfile repository with the following local portfile, and kdiff3 then built successfully.

Modified Portfile

# $Id$

PortSystem          1.0

name                kdiff3
version             0.9.92
categories          devel
platforms           darwin
maintainers         simon openmaintainer
description         kdiff3 is a file comparing and merging tool.
long_description    kdiff3 compares two or three input files and shows the \
                    differences line by line and character by character. It \
                    provides an automatic merge facility and an integrated \
                    editor for comfortable solving of merge conflicts. \
                    kdiff3 allows recursive directory comparison and merging \
                    as well.

homepage            http://kdiff3.sourceforge.net/
master_sites        sourceforge

checksums           md5 c7b52bfee6a085393de0c4f83732e8f0 \
                    sha1 c97b98150a1f5de16736a399affe1b4243d1e6c2 \
                    rmd160 3757fe678e944755164cdc62bfca9f0214acdbb8

depends_lib         port:kdelibs3

configure.env       HOME=${workpath}
configure.args      --with-qt-dir=${prefix}/lib/qt3 \
                    --without-arts \
                    --with-extra-includes=${prefix}/include \
                    --with-extra-libs=${prefix}/lib
configure.ldflags-append    -dylib_file \
                    /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:\
                    /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib


pre-configure {
  reinplace "s|doc/HTML|doc/kde|" ${worksrcpath}/configure
}

build.env           ${configure.env}

livecheck.check     regex
livecheck.regex     "Current version: (\\d+(?:\\.\\d+)*)"

Successful install commands

Dragon:Ports fabry$ portindex
Creating software index in /Users/fabry/Library/Ports
Adding port devel/kdiff3

Total number of ports parsed:	1 
Ports successfully parsed:	1	 
Ports failed:			0

Dragon:Ports fabry$ sudo port install kdiff3
--->  Fetching kdiff3
--->  Verifying checksum(s) for kdiff3
--->  Extracting kdiff3
--->  Configuring kdiff3
--->  Building kdiff3 with target all
--->  Staging kdiff3 into destroot
--->  Installing kdiff3 0.9.92_0
--->  Activating kdiff3 0.9.92_0
--->  Cleaning kdiff3
Dragon:Ports fabry$ kdiff3

<etc.>

I would appreciate it if the official Macports port of kdiff3 was updated to fix this problem! Thanks for all of your hard work.

Change History (5)

comment:1 Changed 10 years ago by nick@…

Just to be utterly pedantic, I should mention under 'Successful install commands' that I created the local portfile repository first by modifying /opt/local/etc/macports/sources.conf to the following:

# MacPorts system wide sources configuration file
# $Id: sources.conf 26177 2007-06-15 10:11:22Z jmpp@macports.org $
#
# To enable your local ports repository, uncomment and customize the
# following line to point at your local ports directory
# Example: file:///Users/landonf/misc/MacPorts/ports
file:///Users/fabry/Library/Ports
#
# To prevent a source from synchronizing when `port sync` is used,
# append [nosync] to the end of the line
# Example: file:///Users/landonf/misc/MacPorts/dports [nosync]
#
# To get the ports tree from the MacPorts rsync.macports.org server use:
# rsync://rsync.macports.org/release/ports/
rsync://rsync.macports.org/release/ports/

...and then placed the modified portfile in /Users/fabry/Library/Ports/devel/kdiff3 as PortFile.

comment:2 Changed 10 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to simon@…

Assigning to maintainer.

comment:3 Changed 10 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:4 Changed 9 years ago by simon@…

Owner: changed from simon@… to macports-tickets@…

comment:5 Changed 9 years ago by jmroot (Joshua Root)

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