Page MenuHome GnuPG

MacOSX: link step for gpg2 generates "duplicate symbol _iobuf_debug_mode in server.o and gpg.o"
Closed, InvalidPublic

Description

Hi,

I've been trying to build gnupg-2.0.16 from source.
Running OSX 10.5.8 here, all updates from Apple, etc.
I do have the latest requisites successfully built, also,
for this end-product.
(I do not use pkg-mgrs such as Macports, Fink, etc;
besides, they are back-level in some of this).

The 'make' stops on the link step for gpg2:

[…]
gcc-4.2 -I/usr/local/include -I/usr/local/include -I/usr/local/include -fast

-mtune=core2 -march=core2 -force_cpusubtype_ALL  -arch i386  -Wall

-Wcast-align -Wshadow -Wstrict-prototypes -Wformat -Wno-format-y2k
-Wformat-security -W -Wno-sign-compare -Wno-missing-field-initializers
-Wdeclaration-after-statement -Wno-pointer-sign -Wpointer-arith -fast
-mtune=core2 -march=core2 -force_cpusubtype_ALL -arch i386 -o gpg2 gpg.o
server.o build-packet.o compress.o compress-bz2.o free-packet.o getkey.o keydb.o
keyring.o seskey.o kbnode.o mainproc.o armor.o mdfilter.o textfilter.o
progress.o misc.o rmd160.o openfile.o keyid.o parse-packet.o cpr.o plaintext.o
sig-check.o keylist.o pkglue.o pkclist.o skclist.o pubkey-enc.o passphrase.o
seckey-cert.o encr-data.o cipher.o encode.o sign.o verify.o revoke.o decrypt.o
keyedit.o dearmor.o import.o export.o trustdb.o tdbdump.o tdbio.o delkey.o
keygen.o helptext.o keyserver.o photoid.o call-agent.o card-util.o exec.o
../common/libcommon.a ../jnlib/libjnlib.a ../gl/libgnu.a ../common/libgpgrl.a
-lz -lbz2 -lreadline -L/usr/local/lib -lintl -liconv -lc -Wl,-framework
-Wl,CoreFoundation -L/usr/local/lib -lgcrypt -lgpg-error -lassuan
-L/usr/local/lib -lgpg-error -L/usr/local/lib -lgpg-error -L/usr/local/lib
-liconv -L/usr/local/ssl/lib -L/usr/local/lib/libquicktime -L/usr/local/lib
-L/usr/X11/lib -L/usr/lib
ld: duplicate symbol _iobuf_debug_mode in server.o and gpg.o
collect2: ld returned 1 exit status
make[2]: *** [gpg2] Error 1
make[2]: Leaving directory `/Volumes/RamDisk/Safari/gnupg-2.0.16/g10'
[…]
<<<<

It seems this centers on the common/iobuf.h around lines 74-81 therein,
the "hack" for EXTERN_UNLESS_MAIN_MODULE it seems
(for lack of appropriate word in my vocabulary ;) ).

FWIW ./configure ended up with this listing for me:

[…]

GnuPG v2.0.16 has been configured as follows:

Platform:  Darwin (i386-apple-darwin9.8.0)

OpenPGP:   yes
S/MIME:    yes
Agent:     yes 
Smartcard: yes 

Protect tool:      (default)
Default agent:     (default)
Default pinentry:  (default)
Default scdaemon:  (default)
Default dirmngr:   (default)

<<<<

I cannot find a way around the link problem.
In previous Apple systems, we could use the -m switch on ld,
but won't work with these current systems anymore.

I'm hoping a simple workaround can be done.
Does anyone have any ideas, please?
Thank you.

Details

Version
2.0.16

Event Timeline

SciFi set Version to 2.0.16.
SciFi added a subscriber: SciFi.
werner lowered the priority of this task from Unbreak Now! to Normal.
werner added a subscriber: werner.

Please ask on the ML for advise.