Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 2008 23:46:31 -0800 (PST)
From:      Silver Salonen <silver.salonen@gmail.com>
To:        freebsd-ports@freebsd.org
Subject:   Re: cmake cannot link against libxml++
Message-ID:  <20849140.post@talk.nabble.com>
In-Reply-To: <20849062.post@talk.nabble.com>
References:  <20828880.post@talk.nabble.com> <7d6fde3d0812040143n374c63edyead7aa4f44e7c0f1@mail.gmail.com> <20830760.post@talk.nabble.com> <7d6fde3d0812040320p2df5474av631d9139c1e9f205@mail.gmail.com> <20831657.post@talk.nabble.com> <7d6fde3d0812041205h493da747vffede0a613c390b8@mail.gmail.com> <20849062.post@talk.nabble.com>

next in thread | previous in thread | raw e-mail | index | archive | help


Silver Salonen wrote:
> 
> 
> Garrett Cooper-6 wrote:
>> 
>> On Thu, Dec 4, 2008 at 3:27 AM, Silver Salonen <silver.salonen@gmail.com>
>> wrote:
>>>
>>> Garrett Cooper-6 wrote:
>>>>
>>>> On Thu, Dec 4, 2008 at 2:20 AM, Silver Salonen
>>>> <silver.salonen@gmail.com>
>>>> wrote:
>>>>> Garrett Cooper-6 wrote:
>>>>>>
>>>>>> On Thu, Dec 4, 2008 at 12:02 AM, Silver Salonen
>>>>>> <silver.salonen@gmail.com> wrote:
>>>>>>>
>>>>>>> Hello.
>>>>>>>
>>>>>>> I created a port for Museek+ which is built with cmake now. The
>>>>>>> problem
>>>>>>> is
>>>>>>> that although it gets built OK, cmake cannot link one of its
>>>>>>> executables
>>>>>>> against libxml++:
>>>>>>> =====
>>>>>>> ... [100%] Building CXX object
>>>>>>> museekd/CMakeFiles/museekd.dir/distributedsocket.cpp.o Linking CXX
>>>>>>> executable museekd /usr/bin/ld: cannot find -lxml++-2.6 *** Error
>>>>>>> code
>>>>>>> 1
>>>>>>> =====
>>>>>>>
>>>>>>> Concerning libxml++, cmake seems to find it OK - before building:
>>>>>>> =====
>>>>>>> -- checking for one of the modules 'libxml++-2.6' -- found
>>>>>>> libxml++-2.6,
>>>>>>> version 2.22.0
>>>>>>> =====
>>>>>>>
>>>>>>> Previously I had a problem with cmake finding libiconv.h, but I
>>>>>>> resolved
>>>>>>> it
>>>>>>> with "CMAKE_ARGS+=   
>>>>>>> -DCMAKE_REQUIRED_INCLUDES="${LOCALBASE}/include".
>>>>>>> But
>>>>>>> I guess it's irrelevant and not even similar.
>>>>>>>
>>>>>>> Is there anything to be specified in order to cmake to find libxml++
>>>>>>> correctly?
>>>>>>
>>>>>> 1. Does /usr/local/lib/libxml++-2.6.a and/or
>>>>>> /usr/local/lib/libxml++-2.6.so exist?
>>>>>> 2. What are your CXXFLAGS / LDFLAGS?
>>>>>>
>>>>>
>>>>> 1. Yes:
>>>>> $ ls -1 /usr/local/lib/libxml++*
>>>>> /usr/local/lib/libxml++-2.6.a
>>>>> /usr/local/lib/libxml++-2.6.la
>>>>> /usr/local/lib/libxml++-2.6.so
>>>>> /usr/local/lib/libxml++-2.6.so.2
>>>>>
>>>>> 2. CXXFLAGS: -O2 -fno-strict-aliasing -pipe
>>>>> LDFLAGS: nothing
>>>>
>>>> Sorry -- let me rephrase: what are CXXFLAGS and LDFLAGS set to for the
>>>> port?
>>>> -Garrett
>>>>
>>>
>>> I got the values from pre-everything:
>>>    @${ECHO_MSG} "${CXXFLAGS}"
>>>    @${ECHO_MSG} "${LDFLAGS}"
>>>
>>> So I guess they are valid in this matter?
>> 
>> Eh? It all depends on where you're doing the echo...
>> 
>> Honestly I'd need to see more around where you're running configure,
>> or passing in args for the parent make (if it doesn't use configure).
>> You're probably just missing /usr/local/lib in your LDFLAGS though.
>> 
> 
> I echoed these in "pre-everything" section. Now I set "LDFLAGS+=   
> -L${LOCALBASE}/lib", but it doesn't help much. My Makefile is structured
> smth like that:
> 
> PORTNAME=...
> ...
> USE_CMAKE=      yes
> ...
> LDFLAGS+=       -L${LOCALBASE}/lib
> CMAKE_ARGS+=    -DCMAKE_REQUIRED_INCLUDES="${LOCALBASE}/include"
> ...
> OPTIONS=...
> ...
> .include <bsd.port.pre.mk>
> ...
> pre-everything::
>         @${ECHO_MSG} "${CXXFLAGS}"
>         @${ECHO_MSG} "${LDFLAGS}"
> ...
> post-install:
> ...
> .include <bsd.port.post.mk>
> 

OK, the problem disappeared when I also set: CONFIGURE_ENV+=
CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"

Thanks for your help! :)
-- 
View this message in context: http://www.nabble.com/cmake-cannot-link-against-libxml%2B%2B-tp20828880p20849140.html
Sent from the freebsd-ports mailing list archive at Nabble.com.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20849140.post>