From owner-freebsd-gnome@FreeBSD.ORG Thu Apr 26 00:02:01 2012 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3EF91106567A; Thu, 26 Apr 2012 00:02:01 +0000 (UTC) (envelope-from rfg@tristatelogic.com) Received: from outgoing.tristatelogic.com (segfault.tristatelogic.com [69.62.255.118]) by mx1.freebsd.org (Postfix) with ESMTP id 0DBC18FC14; Thu, 26 Apr 2012 00:02:00 +0000 (UTC) Received: from segfault-nmh-helo.tristatelogic.com (localhost [127.0.0.1]) by segfault.tristatelogic.com (Postfix) with ESMTP id 3984150851; Wed, 25 Apr 2012 17:01:59 -0700 (PDT) To: freebsd-ports@freebsd.org, freebsd-gnome@freebsd.org, pav@FreeBSD.org Date: Wed, 25 Apr 2012 17:01:59 -0700 Message-ID: <32762.1335398519@tristatelogic.com> From: "Ronald F. Guilmette" Cc: Subject: Need a little help with a dynamic linking problem X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Apr 2012 00:02:01 -0000 My question relates to a port that I am doing of gthumb v2.14.3 to FreeBSD. Because gthumb is fundamentally a gnome application, I am cross-posting my question to both the ports and gnome mailing lists. (My apologies if that means that some of you see this twice.) After a modest but unexpected amount of gnashing of teeth and tearing of hair, I have been able to get gthumb 2.14.3 built and installed on my FreeBSD 8.2 system. Now comes to the fun part... I have installed the whole thing under a special (temporary) directory that I created called /usr/local/hacked. When I try to run the gthumb binary that I built and install, I am getting the following perplexing error message: /libexec/ld-elf.so.1: /usr/local/hacked/lib/gthumb/extensions/libfile_viewer.so: Undefined symbol "gth_viewer_page_get_type" Quite obviously, I have been away from working on the GNU software development toolchain (and its friends, like ld-elf.so) for far far too long, because I no longer even know how this stuff is even supposed to work, i.e. when it is (knock on wood) working correctly. So if someone who knows this stuff can take pity on me and pass me a clue about what I need to do to resolve the above dynamic linking failure, I sure would appreciate it. Some relevant background: The main gthumb binary is installed in /usr/local/hacked/bin/gthumb and that's what I am running when I run it. It seems pretty obviously to me that the main gthumb executable, when executed, is then trying to dynamically pull in various of the *.so shared library files that got installed into /usr/local/hacked/lib/gthumb/extensions directory as part of the nominal build+install process for gthumb. One last important point: I've checked, and the symbol "gth_viewer_page_get_type" _is_ in fact defined. It is defined within the main gthumb executable itself: % nm gthumb | fgrep gth_viewer_page_get_type 00000000004aaf10 T gth_viewer_page_get_type So, um, sombody please pass me a clue... How come the dynamic linker doesn't seem to know that the symbol it is looking for was and is defined in the main executable file that the present process originated with? (This specific lack of cognition on the part of the dynamic linker seems to me to be rather reminicent of Alzheimer's.) Regards, rfg P.S. I have already tried both of the following commands prior to executing my gthumb executable and neither of these made a bit of difference to the outcome. I still got the exact same dynamic linker (fatal) error in both cases... setenv LD_LIBRARY_PATH /usr/local/hacked/bin setenv LD_LIBRARY_PATH /usr/local/hacked/lib/gthumb/extensions