Return-Path: Delivered-To: apmail-stdcxx-dev-archive@www.apache.org Received: (qmail 27778 invoked from network); 15 Nov 2008 17:16:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 15 Nov 2008 17:16:33 -0000 Received: (qmail 63761 invoked by uid 500); 15 Nov 2008 17:16:41 -0000 Delivered-To: apmail-stdcxx-dev-archive@stdcxx.apache.org Received: (qmail 63741 invoked by uid 500); 15 Nov 2008 17:16:41 -0000 Mailing-List: contact dev-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list dev@stdcxx.apache.org Received: (qmail 63730 invoked by uid 99); 15 Nov 2008 17:16:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 15 Nov 2008 09:16:41 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of msebor@gmail.com designates 209.85.198.239 as permitted sender) Received: from [209.85.198.239] (HELO rv-out-0506.google.com) (209.85.198.239) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 15 Nov 2008 17:15:19 +0000 Received: by rv-out-0506.google.com with SMTP id g37so1877225rvb.23 for ; Sat, 15 Nov 2008 09:15:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=PSfi6uPiBeD1rxqITmNzggYxufOTdj7txcKr4mQQ/uk=; b=mkg+zRfJTLj0uu55VSm6VXEXG/6MDjYS9BnykQiC5PT3+jBz7tPZXHyOGUuhtln413 drLSXHcLsCdHjxtPzCwz+t1RUZhsVxQjxXlvUC7jLfpuLuPCbQZ79xcip8AhNMc5qKJQ fKnemalC3coczvjam7QA/rasrJh9E2S3xsdus= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=e3ztoGXRMK7Iivo428eSx1/MGh0Z9YxhnFUe0hJ8oTWqNjzaQMoYRsJSRhkG+5/xOG G7mB6nphO2gpbGWcBEodY20alHXFkArPS/IEe5IctO9ajUn4BIv6BqNEZhzv+81rVZGI W5xnKmA/+0Xua/B0FrDgyZ603xTfCjFIDBAj4= Received: by 10.141.210.13 with SMTP id m13mr1232695rvq.181.1226769353263; Sat, 15 Nov 2008 09:15:53 -0800 (PST) Received: from bugsy.net (c-71-229-200-170.hsd1.co.comcast.net [71.229.200.170]) by mx.google.com with ESMTPS id k41sm3353373rvb.4.2008.11.15.09.15.52 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 15 Nov 2008 09:15:52 -0800 (PST) Message-ID: <491F03C7.9070103@gmail.com> Date: Sat, 15 Nov 2008 10:15:51 -0700 From: Martin Sebor User-Agent: Thunderbird 2.0.0.16 (X11/20080723) MIME-Version: 1.0 To: dev@stdcxx.apache.org Subject: Re: Missing ostream<< symbol w/SUNWspro References: <20514769.post@talk.nabble.com> In-Reply-To: <20514769.post@talk.nabble.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org richardjm wrote: > I have compiled stdcxx 4.2.1 with SUNWspro (using build flags > debug,shared,threads and the sunpro.config) and when I try to run a simple > helloworld application I get a missing symbol for the ostream<< operator. If > I remove the inline keyword from the operator<< templates in include/ostream > then this symbol is no longer missing but I get an assert failure about a > null facet. > > Is removing inline from the function templates the way to solve the missing > symbol? If so, how do I ensure that the facets are not null? If not, what is > the correct way to ensure that the inline operator<< symbol are visible? Making a function defined in a header out-of-line is not the right solution. Linker errors for this simple use case sound more like either a configuration/usage problem in your code or a bug in the compiler. stdcxx 4.2.1 was tested with several versions of Sun C++ on both Solaris (SPARC and x86) and Linux (x86). I'm not aware of any problems like the one you describe. You can the 4.2.1 test results on this page: http://stdcxx.apache.org/builds/4.2.1/ My advice to you is to find the compiler/OS on the page above that matches yours the closest, open the log for your configuration (12d or 12D, depending on if you did a 32-bit or 64-bit build), and see if your command line options are different and how. If you can't find anything of use post the source of a small test case along with the full command line (compiler + linker) needed to reproduce the problem, as well as the exact compiler version (the output of CC -V) as well as the name and version of the OS and the hardware you're using (the output of uname -spr). Btw., you can also see the compiler and linker options we use by making one of the example programs that come with stdcxx. E.g., make -C$(BUILDDIR)/examples ostream. Martin > > Apologies if this is not the correct mailing list for this question, and > thanks in advance for any help you may be able to offer. > > Richard.