Bug 453941

Summary: Git repository has many case errors such as "KCDDB/Client" when it's "KCddb/Client"
Product: [Applications] k3b Reporter: Michael Freeman <michael>
Component: Audio ProjectAssignee: k3b developers <k3b>
Status: RESOLVED NOT A BUG    
Severity: normal CC: aacid, michalm, trueg
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Michael Freeman 2022-05-17 16:41:04 UTC
Hi,

I should have pulled on the tag "v22.04.1" so I'm probably getting some ongoing development error. Thought I'd report anyway.

[  5%] Building CXX object libk3b/CMakeFiles/k3blib.dir/jobs/k3bcdcopyjob.cpp.o
/home/michaelzfreeman/UseTheSourceLuke/k3b/libk3b/jobs/k3bcdcopyjob.cpp:44:10: fatal error: KCDDB/Client: No such file or directory
   44 | #include <KCDDB/Client>
      |          ^~~~~~~~~~~~~~
compilation terminated.

SOFTWARE/OS VERSIONS

Linux/KDE Plasma: Ubuntu Jammy 22.04
Comment 1 Albert Astals Cid 2022-05-17 20:26:55 UTC
Are you using some kind of weird file system?

https://invent.kde.org/multimedia/k3b/-/blob/release/22.04/libk3b/jobs/k3bcdcopyjob.cpp#L44

There's no KCDDB/Client there.
Comment 2 Michael Freeman 2022-05-18 05:29:59 UTC
(In reply to Albert Astals Cid from comment #1)
> Are you using some kind of weird file system?
> 
> https://invent.kde.org/multimedia/k3b/-/blob/release/22.04/libk3b/jobs/
> k3bcdcopyjob.cpp#L44
> 
> There's no KCDDB/Client there.

I don't know what you mean. Your link goes to it. The build script checks for "Client.h" in directory "KCDDB". However on my Ubuntu system this library installs to the directory "KCddb" so there is a case mismatch and the build fails.
Comment 3 Albert Astals Cid 2022-05-18 19:51:04 UTC
>  I don't know what you mean. Your link goes to it. 

No, my link clearly shows the include is KCddb/Client not KCDDB/Client, you say you're getting an error on the second, not on the first.
Comment 4 Michael Freeman 2022-05-19 07:36:13 UTC
(In reply to Albert Astals Cid from comment #3)
> >  I don't know what you mean. Your link goes to it. 
> 
> No, my link clearly shows the include is KCddb/Client not KCDDB/Client, you
> say you're getting an error on the second, not on the first.

Apologies for any confusion. I had the error on the master branch - https://invent.kde.org/multimedia/k3b/-/blob/master/libk3b/jobs/k3bcdcopyjob.cpp#L44
Comment 5 Albert Astals Cid 2022-05-19 21:11:14 UTC
k3b master requires kcddb 5.1 also known as 22.04.0 which probably you don't have, right?
Comment 6 Michael Freeman 2022-05-20 08:10:47 UTC
(In reply to Albert Astals Cid from comment #5)
> k3b master requires kcddb 5.1 also known as 22.04.0 which probably you don't
> have, right?

Well, there you go. The Ubuntu Jammy 21.12.3 has only "KCddb" directory ...

/usr/include/KF5/KCddb/Categories
/usr/include/KF5/KCddb/Cdinfo
/usr/include/KF5/KCddb/Client
/usr/include/KF5/KCddb/Genres
/usr/include/KF5/KCddb/Kcddb
/usr/include/KF5/KCddb/KcddbConfig
/usr/include/KF5/KCddb/categories.h
/usr/include/KF5/KCddb/cdinfo.h
/usr/include/KF5/KCddb/client.h
/usr/include/KF5/KCddb/configbase.h
/usr/include/KF5/KCddb/genres.h
/usr/include/KF5/KCddb/kcddb.h
/usr/include/KF5/KCddb/kcddb_export.h
/usr/include/KF5/KCddb/kcddbconfig.h

https://packages.ubuntu.com/jammy/amd64/libkf5cddb-dev/filelist

The Ubuntu Kinetic 22.04.1 has both the "KCDDB" and "kcddb" directories,

/usr/include/KCddb5/KCDDB/CDInfo
/usr/include/KCddb5/KCDDB/Categories
/usr/include/KCddb5/KCDDB/Client
/usr/include/KCddb5/KCDDB/Config
/usr/include/KCddb5/KCDDB/Genres
/usr/include/KCddb5/KCDDB/KCDDB
/usr/include/KCddb5/kcddb/categories.h
/usr/include/KCddb5/kcddb/cdinfo.h
/usr/include/KCddb5/kcddb/client.h
/usr/include/KCddb5/kcddb/config.h
/usr/include/KCddb5/kcddb/configbase.h
/usr/include/KCddb5/kcddb/genres.h
/usr/include/KCddb5/kcddb/kcddb.h
/usr/include/KCddb5/kcddb/kcddb_export.h

https://packages.ubuntu.com/kinetic/amd64/libkf5cddb-dev/filelist

Whatever happened to consistent naming conventions ? Anyway, problem solved I guess.