Question on compilation/linking

92 views
Skip to first unread message

Hubert Bonnisseur-De-La-Bathe

unread,
May 7, 2024, 1:17:34 PM5/7/24
to KiCad Developers
Hey guys, thanks for welcoming me in this group.

I don't know if it's the right place to ask this question, let me know if another place would suit better.

I was trying to work on integrating math evaluation in variable substitution brackets in eeschema and pcbnew. I dove into the code and write something that looks promising. I wanted to show this to you. I hadn't pulled modifications for 3 months. When pulling and rebasing my code, it wasn't not compiling anymore. Here is the error I got :

Indeed, common/CMakeFiles/common.dir/libeval/numeric_evaluator.cpp.o is compiled with fvisibility=hidden flag and no symbol are exported.

Now i don't understand how my code compiled before. I am a bit lost in the compilation process, can you help me understand or give me some insight on how to debug thos type of things. Mainly i ran ninja -nv | grep numeric_evaluator

Am I using the right strategy to use libeval.cpp ?

Thanks for your time,
Samuel

Mark Roszko

unread,
May 7, 2024, 9:38:46 PM5/7/24
to KiCad Developers, huber...@gmail.com
You were trying to use libeval which lived in `common` inside common.cpp which lives in `kicommon`

`common` -> static library, depends on kicommon
`kicommon` -> shared library, cannot depend on common

So that's just invalid. Yea theres two libraries, they are slowly being moved to kicommon as bad code boundaries are refactored.

In this case, I moved libeval to kicommon for you.

Hubert Bonnisseur-De-La-Bathe

unread,
May 8, 2024, 11:29:41 PM5/8/24
to KiCad Developers, mark....@gmail.com, Hubert Bonnisseur-De-La-Bathe
Thanks Mark, where can I find this modification ?

Stefan Weber

unread,
May 9, 2024, 3:45:06 AM5/9/24
to KiCad Developers, huber...@gmail.com, mark....@gmail.com
Reply all
Reply to author
Forward
0 new messages