From: Warren Young Date: August 16 2008 7:29am Subject: Re: Unable to build MySQL++ on Solaris List-Archive: http://lists.mysql.com/plusplus/7873 Message-Id: <1795ADD8-CED8-4577-82A5-9E4B73FCF7D6@etr-usa.com> MIME-Version: 1.0 (Apple Message framework v928.1) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit On Aug 15, 2008, at 11:25 PM, Kartik Mahajan wrote: > mysql_next_result ./libmysqlpp.so > mysql_more_results ./libmysqlpp.so > mysql_set_server_option ./libmysqlpp.so There's two possibilities here. One is that you're mixing headers and libraries from two different versions of MySQL. These three are relatively new functions in the C API library, all added in the 4.1 series. MySQL++ has #ifdef guards to prevent using these if you build it against older headers, but if you use new headers with old libraries, you'll get this symptom. On Solaris, I'd only use the mysql5 package (not the 'mysql' one...that's from the 4.x series) that's available through the Package Manager. That's what I tested 3.0.5 against. The other possibility is that the linker is sensitive to the order of the -lmysqlclient and -lmysqlpp flags on that command line. Technically, the order of libraries as you see them should be swapped end-for-end, with the most generic ones at the end, since Unix linkers often collect right-to-left only. But, if that were the problem, I don't see why it would be complaining only about these three functions, or why it worked for me.