Help wanted for new port: linking error in FreeCAD

Pedro Giffuni pfg at FreeBSD.org
Thu Aug 11 20:06:45 UTC 2016



On 08/11/16 12:16, Kyle Evans wrote:
> On Thu, Aug 11, 2016 at 11:50 AM, Pedro Giffuni <pfg at freebsd.org
> <mailto:pfg at freebsd.org>> wrote:
>>
>>
>> On 08/11/16 10:43, Kyle Evans wrote:
>>>
>>> On Thu, Aug 11, 2016 at 10:25 AM, Pedro Giffuni <pfg at freebsd.org
> <mailto:pfg at freebsd.org>> wrote:
>>>>
>>>> Hello guys;
>>>>
>>>> I wanted to take a look at bringing back some old engineering glory to
>>>> the
>>>> ports trees by porting FreeCAD (from the Wanted Ports wiki).
>>>>
>>>> My initial attempt is here:
>>>> https://people.freebsd.org/~pfg/ports/freecad.tgz
>>>>
>>>> Unfortunately it only reaches 71 % of the build and I would need the
>>>> help of a CMake/linker expert to continue.
>>>>
>>>> The complete build log is here:
>>>> https://people.freebsd.org/~pfg/ports/freecad-log.txt
>>>>
>>>> The relevant failure:
>>>>
>>>> ... [snip]
>>>>
>>>> Regards,
>>>>
>>>> Pedro.
>>>> _______________________________________________
>>>> freebsd-ports at freebsd.org <mailto:freebsd-ports at freebsd.org> mailing
> list
>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
>>>> To unsubscribe, send any mail to
> "freebsd-ports-unsubscribe at freebsd.org
> <mailto:freebsd-ports-unsubscribe at freebsd.org>"
>>>
>>>
>>> Looks like a missing declared dependency of libCoin.so from
>>> graphics/Coin, which will likely/hopefully solve the problem --
>>> graphics/Coin does include some pkgconfig magic.
>>>
>>
>> Hmm .. I will add it explicitly but it is already installed
>> through SoQt:
>>
>> % ls /usr/local/lib/libCoin*
>> /usr/local/lib/libCoin.so /usr/local/lib/libCoinMP.so.1.8.3
>> /usr/local/lib/libCoin.so.60 /usr/local/lib/libCoinUtils.so
>> /usr/local/lib/libCoin.so.60.1.3 /usr/local/lib/libCoinUtils.so.3
>> /usr/local/lib/libCoinMP.so /usr/local/lib/libCoinUtils.so.3.10.10
>> /usr/local/lib/libCoinMP.so.1
>>
>> :(
>>
>> Pedro.
>
> Hi,
>
> Without diving too deeply into it for lack of time at the moment, I
> suspect it's because of the stuff around /CMakeLists.txt:721 -- if I
> recall correctly, find_package(Coin3D...) will do two things:
>
> * Search for Coin3D.pc (in this case, in /usr/local/libdata/pkgconfig)
> to aide in configuring it properly

OK, it's
  /usr/local/libdata/pkgconfig/Coin.pc

And I notice now that it is being build with gcc.

> * Set COIN3D_* variables, also based on this name
>
> However, FreeCAD is expecting it to be Coin3D, where graphics/Coin gives
> us Coin. As a first step, I would attempt a replacement on all
> CMakeLists.txt in this project to replace COIN3D_ with COIN_, and then
> replace the find_package Coin3D with Coin, see if that solves it.
>

I tried that now, but it becomes a mess as CMake is not able to find the 
library. Currently when configuring it finds it fine:

-- Checking for module 'Coin'
--   Found Coin, version 3.1.3

I suspect the issue will solve relatively fast by building with GCC (and 
an updated linker) to build FreeCAD but I will try first with
the Coin3D built using clang.

Thanks!

Pedro.


More information about the freebsd-ports mailing list