Help wanted for new port: linking error in FreeCAD

Kyle Evans kevans91 at ksu.edu
Thu Aug 11 17:49:45 UTC 2016


On Thu, Aug 11, 2016 at 11:50 AM, Pedro Giffuni <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> 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 mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
>>> To unsubscribe, send any mail to "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
* 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.


More information about the freebsd-ports mailing list