Okular building help request

Jonathan Schultz jonathan at imatix.com
Fri Mar 4 03:21:02 UTC 2016


Thanks Thomas,

I think I'm making some progress. When I tried your first patch, I found 
that rather than being undefined, the symbols were multiply defined. 
With a bit of experimentation I managed to get rid of this error (though 
perhaps not the underlying problem) with the following patch:

--- a/conf/settings.kcfgc
+++ b/conf/settings.kcfgc
@@ -4,7 +4,7 @@
  Inherits=SettingsCore
  Mutators=true
  Singleton=true
-Visibility=OKULARPART_EXPORT
+#Visibility=OKULARPART_EXPORT
  IncludeFiles=settings_core.h,okularpart_export.h
  SourceIncludeFiles=qdom.h,QStandardPaths
  MemberVariables=dpointer

I could then build and install okular successfully, but still can't run 
it as it fails to find/load the okularpart plugin. I did what I could 
with gdb, and found that the call to d->loader->load() on line 184 of 
kpluginloader.cpp fails. But the debugger refused to step into that 
function call, and at that point I gave up trying to work out where it 
is failing.

Can anyone help me with another pointer?

Thanks,
Jonathan


On 02/03/16 03:33, Thomas Friedrichsmeier wrote:
> Hi Jonathan,
>
> sorry for the other mail, hit "Send" early...
>
> On Tue, 1 Mar 2016 09:43:59 +1100
> Jonathan Schultz <jonathan at imatix.com> wrote:
> [...]
>>> C:/Users/Jonathan/KF5_emerge/k/download/git/okular/mobile/components/documentitem.cpp:38:
>>> undefined reference to
>>> `_imp___ZN6Okular8Settings8instanceERK7QString'
>>>
>>> collect2.exe: error: ld returned 1 exit status
>>
>> I understand the _imp___ prefix on the undefined identifiers is
>> connected with dynamic linking. It is also notable that all the
>> missing identifiers are defined in settings.cpp But beyond that, I'm
>> struggling to know whether the problem is that the identifiers are
>> nowhere defined, or the linker is not able to find them. Can anyone
>> help?
>
> All of these are simply symbols that the linker cannot find (but they
> had been declared in some header). Either the corresponding source was
> not compiled, or failing to link against a library. In this particular
> case, I see that I can get past this using:
>
> diff --git a/mobile/components/CMakeLists.txt
> b/mobile/components/CMakeLists.txt index e09326a..d3ba32f 100644
> --- a/mobile/components/CMakeLists.txt
> +++ b/mobile/components/CMakeLists.txt
> @@ -30,6 +30,7 @@ target_link_libraries(okularplugin
>           Qt5::Xml
>           Qt5::Svg
>           okularcore
> +        okularpart
>           KF5::KDELibs4Support
>           )
>
> Not so sure, whether this is the correct fix, though. My understanding
> is that the definitions are in the _generated_ conf/settings.cpp, and
> that
>     kconfig_add_kcfg_files(okular_SRCS
>         ${CMAKE_SOURCE_DIR}/conf/settings.kcfgc )
> _should_ have added it. However, I've never dealt with the kconfig
> compiler myself.
>
> Also, this does not yet get the build done. Another missing symbol,
> later... Anyway, perhaps some of this helps you find a solution.
>
> Regards
> Thomas
>
>
>
> _______________________________________________
> Kde-windows mailing list
> Kde-windows at kde.org
> https://mail.kde.org/mailman/listinfo/kde-windows
>



More information about the Kde-windows mailing list