cmake cannot link against libxml++

Silver Salonen silver.salonen at gmail.com
Thu Dec 4 23:35:46 PST 2008



Garrett Cooper-6 wrote:
> 
> On Thu, Dec 4, 2008 at 3:27 AM, Silver Salonen <silver.salonen at gmail.com>
> wrote:
>>
>> Garrett Cooper-6 wrote:
>>>
>>> On Thu, Dec 4, 2008 at 2:20 AM, Silver Salonen
>>> <silver.salonen at gmail.com>
>>> wrote:
>>>> Garrett Cooper-6 wrote:
>>>>>
>>>>> On Thu, Dec 4, 2008 at 12:02 AM, Silver Salonen
>>>>> <silver.salonen at 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>
-- 
View this message in context: http://www.nabble.com/cmake-cannot-link-against-libxml%2B%2B-tp20828880p20849062.html
Sent from the freebsd-ports mailing list archive at Nabble.com.



More information about the freebsd-ports mailing list