c4core icon indicating copy to clipboard operation
c4core copied to clipboard

header for gcc-4-8.hpp not found

Open mprather opened this issue 2 years ago • 10 comments

We are trying to use the library on compilers ranging from gcc 4.8 to modern day. We are incorporating the library through our project's makefiles. The library is the delivered via vcpkg.

We finally got around to testing the new feature set on a platform with gcc 4.8. The build breaks with the following:

/home/vsts/work/1/vcpkg/installed/x64-linux/include/c4/compiler.hpp:105:41: fatal error: c4/gcc-4.8.hpp: No such file or directory
 #               include "c4/gcc-4.8.hpp"

I quickly scanned the file listing in repo to see if the file exists but I could not find it.

Setup:

  1. use vcpkg to install library
  2. use makefiles to build application. in makefile, we simply add library using '-lryml -lc4core'

The app runs on Windows, Linux and macOS. We test on each platform with 8 compilers (msvc, clang, gcc - at least 2-3 versions of each).

Questions:

  • is this file auto-generated?
  • is issue related to how the port was created in vcpkg? if so, i can follow up as needed.
  • we don't use cmake. have I missed a configuration change for the older compiler that needs to be addressed when solely using makefiles?

Thanks.

mprather avatar Feb 24 '23 18:02 mprather

biojppm avatar Feb 25 '23 19:02 biojppm

Thanks for the info. In looking at the vckpg install, there is no folder called compat in the c4core port. I will follow up with package repo to see if they can address the issue (and also publish v0.5.0).

mprather avatar Feb 26 '23 21:02 mprather

@biojppm I think the vcpkg setup has some issues but I also believe there might be a problem with c4core itself. I am following up with that team to address a few different issues.

However, I just tried building the c4core project and installing it to a local folder. In the local folder, I can see two folders -- include and lib. The include folder does not have the gcc-4.8.hpp file that is referenced in compiler.hpp. There is no way to use the install artifacts if/when you hit the conditional that adds the include c4/gcc-4.8.hpp. It seems to me that this test case has been overlooked. Even if the vcpkg team addresses the issues, the c4core cmake scripts are don't seem to be doing the right thing for the compat header.

Can you confirm you see the same?

mprather avatar Sep 02 '23 01:09 mprather

Thanks for reporting. I need to investigate. It will take one or two weeks before I can get to that.

biojppm avatar Sep 02 '23 10:09 biojppm

@mprather There is indeed a problem where the 4.8 header is not installed. In #123 I have a tentative solution that explicitly installs the header.

I'm not sure this will address the downstream problems in the vcpkg package, so for now I will leave this open even after #123 is merged.

biojppm avatar Sep 04 '23 22:09 biojppm

@biojppm thanks for the update. I will follow up with the vcpkg team to get the packaging issues sorted.

mprather avatar Sep 04 '23 23:09 mprather

Is there a plan in the near term to roll the version number? There are quite a few changes, including this one, since the 0.1.11 release.

mprather avatar Oct 19 '23 02:10 mprather

Thanks for reminding me. I've been working on a major feature for rapidyaml and this got somewhat deprioritised. I'll enable to make a release soon.

biojppm avatar Oct 20 '23 14:10 biojppm

Thanks for reminding me. I've been working on a major feature for rapidyaml and this got somewhat deprioritised. I'll endeavour to make a release soon.

biojppm avatar Oct 20 '23 14:10 biojppm

@biojppm i am just touching base. I noticed some releases with the ryml and c4core repos in the past couple of months. However, it seems that ryml is using an interim commit between v 0.2.1 and current. is that intended?

mprather avatar Jul 09 '24 01:07 mprather