Opened 12 years ago

Closed 12 years ago

#33014 closed defect (fixed)

vstr build failure with clang: ld: duplicate symbol _vstr_ref_del in .libs/fix.o and .libs/assert_loop.o

Reported by: djcc04@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: clang Cc:
Port: vstr

Description (last modified by ryandesign (Ryan Carsten Schmidt))

On running sudo port install vstr, I receive an error linked to a duplicate object in the build. Find the output in the terminal below. I have attached the main.log file.

207:~ ab$ sudo port install vstr
--->  Fetching archive for vstr
--->  Attempting to fetch vstr-1.0.15_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/vstr
--->  Fetching vstr
--->  Verifying checksum(s) for vstr
--->  Extracting vstr
--->  Configuring vstr
--->  Building vstr
Error: Target org.macports.build returned: shell command failed (see log for details)
Log for vstr is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_vstr/vstr/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>
207:~ ab$ 

Attachments (2)

main.log (46.9 KB) - added by djcc04@… 12 years ago.
main.log file as created by the sudo port install vstr command.
main_new.log (5.1 KB) - added by djcc04@… 12 years ago.
new main.log of vstr

Download all attachments as: .zip

Change History (7)

Changed 12 years ago by djcc04@…

Attachment: main.log added

main.log file as created by the sudo port install vstr command.

comment:1 Changed 12 years ago by djcc04@…

Cc: djcc04@… added

Cc Me!

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

Cc: djcc04@… removed
Description: modified (diff)
Keywords: clang added
Milestone: MacPorts 2.0.4
Owner: changed from macports-tickets@… to ryandesign@…
Port: vstr added
Status: newassigned
Summary: VSTR Not working.vstr build failure with clang: ld: duplicate symbol _vstr_ref_del in .libs/fix.o and .libs/assert_loop.o

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

Resolution: fixed
Status: assignedclosed

comment:4 Changed 12 years ago by djcc04@…

Resolution: fixed
Status: closedreopened

Hi Ryan,

I installed macports clang, and added the modification to the Portfile. I still get a build error. It is still the duplicate object, however it is reported by clang. I've added my Portfile below the break to make sure I've added the lines correctly.

:info:build ld: duplicate symbol _vstr_ref_del in .libs/fix.o and .libs/assert_loop.o for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

Portfile:

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 55144 2009-08-07 03:10:31Z toby@macports.org $

PortSystem 1.0

name                vstr
version             1.0.15
categories          devel
maintainers         nomaintainer
description         Vstr string library
long_description    Vstr is a safe and fast string library for C.
homepage            http://www.and.org/vstr/
platforms           darwin
master_sites        ${homepage}${version}/ \
                    ftp://ftp.and.org/pub/james/vstr/${version}/

use_bzip2           yes
use_parallel_build  yes

checksums           md5 578061d198bfe2d30b28b75ef8d92ceb \
                    sha1 4d2c19cb83f30239b3800abc5c9eda4f24dd0b78 \
                    rmd160 4b10b3b62a86e9c910f3e45439b9cb862e6f8eba

# ld: duplicate symbol _vstr_ref_del in .libs/fix.o and .libs/assert_loop.o 
if {${configure.compiler} == "llvm-gcc-4.2"} { 
    configure.compiler clang 
} 

configure.args      --mandir=${prefix}/share/man

Changed 12 years ago by djcc04@…

Attachment: main_new.log added

new main.log of vstr

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

Resolution: fixed
Status: reopenedclosed

Sorry, I committed the wrong block in r89327. Fixed in r89343.

You don't need to manually modify your Portfile, nor install a MacPorts clang port (unless you want to use MacPorts clang for your own compilation needs outside of MacPorts; MacPorts itself does not use the compilers installed by the MacPorts clang ports). All you need to do is wait 30 minutes, then run "sudo port selfupdate" and "sudo port clean vstr" and try again.

Note: See TracTickets for help on using tickets.