Bug 68191
Summary: | Enabling CONFIG_DVB_DDBRIDGE=y (DigitalDevices dvb card) breaks build | ||
---|---|---|---|
Product: | v4l-dvb | Reporter: | Christian Schneider (christian) |
Component: | dvb-core | Assignee: | dvb-core (v4l-dvb_dvb-core) |
Status: | NEW --- | ||
Severity: | blocking | CC: | alan, christian, szg00000 |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.12.4 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | making definitions of m_StandardTable static |
Description
Christian Schneider
2014-01-05 20:21:31 UTC
update: building ddbridge (and needed frontends also) as module works fine. Shouldn't it be prevented that ddbridge is compiled in? When you build it as a module the symbols are not public so the clash is not seen. Probably in both cases m_StandardTable should be marked "static" in the source. Created attachment 122571 [details] making definitions of m_StandardTable static Thanks, that works out. If added a patch-file with the changes. Hope it's the right format? A little of topic: I don't really understand, why "static" fixes the issue. from http://en.cppreference.com/w/c/language/storage_class_specifiers: static storage duration. The variable is allocated when the program begins and deallocated when the program ends. Only one instance of the variable can exist. Variables declared with static or extern have this storage duration. I'm not sure, what "program" means in kernel terms. I would think the whole kernel. but that still means, that there are to symbols with the same name. could you please explain that a little? static changes the variable scope to be per file not global - so the two copies are not confused but privave to the drivers OK, thx. didn't know, that static also affects a variables scope. |