Master Branch Compile Error

Thomas Baumgart thb at net-bembel.de
Sun Oct 6 09:36:16 BST 2024


On Samstag, 5. Oktober 2024 16:40:51 CEST Brendan Coupe via KMyMoney-devel wrote:

> On 2024-10-05 1:17 AM, Thomas Baumgart via KMyMoney-devel wrote:
> > On Freitag, 4. Oktober 2024 14:52:46 CEST Thomas Baumgart via KMyMoney-devel wrote:
> >
> > [...]
> >
> >> Reading the whole history, it seems that on your master branch there
> >> are no Makefiles. If you don't specify the generator with the -G option
> >> to cmake, it uses "Unix Makefiles" as the default on Linux. So to me
> >> it seems, that cmake does not generate them for whatever reason.
> >>
> >> The following line which I found in Brendan's first mail proofs that:
> >>
> >>> -- Configuring incomplete, errors occurred!
> >> Can you run the following in the build directory from the command line:
> >>
> >>    cmake <your-source-dir> --trace-expand 2>&1 | gzip > cmake.log.gz
> >>
> >> and provide the resulting cmake.log.gz file? In case cmake encounters
> >> some problems and cannot write Makefiles it usually writes a few more
> >> lines to the console that contain names of files with information.
> >> Those might also be helpful.
> > Brendan supplied me the request logfile via PM. Here's what I found out
> > (for reference I leave the line numbers in parens for Brendan):
> >
> > As a result of KMyMoney's CMake statement
> >
> >     find_package(libofx ${KMM_LIBOFX_MIN_SOVERSION} NAMES LibOFX libofx)
> >
> > CMake finds libofx and assigns the target "libofx::libofx" (16777) but it
> > does not find its required dependency OpenSP (17318):
> >
> >    /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake(94):  return()
> >    CMake Warning at CMakeLists.txt:184 (find_package):
> >      Found package configuration file:
> >
> >        /usr/lib64/cmake/libofx/LibOFXConfig.cmake
> >
> >      but it set libofx_FOUND to FALSE so package "libofx" is considered to be
> >      NOT FOUND.  Reason given by package:
> >
> >      libofx could not be found because dependency OpenSP could not be found.
> >
> > which causes KMyMoney's CMake to proceed with the alternative path to use
> > PkgConfig to look for libofx. Since it is installed it tries to set the
> > target "libofx::libofx" again which causes the reported error (18227):
> >
> >    CMake Error at CMakeLists.txt:193 (add_library):
> >      add_library cannot create imported target "libofx::libofx" because another
> >      target with the same name already exists.
> >
> > Due to that error it seems that the Makefiles are not generated.
> >
> > @Brendan: can you check the availability of OpenSP development files
> > on your system? It seems that they are missing/not found.
> >
> > Hope that helps.
> 
> opensp was installed. opensp-devel was not installed. I installed it and 
> the build completed.

Glad we found the problem.

> 
> Thanks Thomas. Can you explain why this did not affect the 5.1 branch?

Short answer: different cmake instructions :)

Long answer: the 5.1 branch only uses the (older) pkg_check_modules variant
to detect libofx while master branch uses the (newer) find_package variant
to locate libofx. Apparently (and I am not a cmake expert) the former does
not check for opensp but latter does.

> I have not installed the build yet but will do it later today when I 
> have time to test it on all of my systems.

-- 

Regards

Thomas Baumgart

-------------------------------------------------------------
A sufficient amount of googling is indistinguishable
from actual knowledge. -- unknown source
-------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 868 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20241006/724485f6/attachment.sig>


More information about the KMyMoney-devel mailing list