enzo1982 / smooth

The smooth Class Library
http://www.smooth-project.org/
Artistic License 2.0
28 stars 11 forks source link

Build fails with current libcpuid #1

Closed lgbaldoni closed 6 years ago

lgbaldoni commented 6 years ago

smooth v0.8.74.0-pre3 and libcpuid 0.4.0 on openSUSE Tumbleweed. smooth_conflicting_declaration.txt

enzo1982 commented 6 years ago

Looks like libcpuid is at fault here.

libcpuid_types.h just declares int64_t without checking if it already exists. It should instead include stdint.h if available (which it is on all modern systems) or at least check if int64_t is already defined when libcpuid_types.h is included.

smooth simply includes stdint.h before libcpuid.h. This should not be causing any issues with well written libraries, but does here.

I'll see if I can find a work-around or get the libcpuid maintainer to fix this.

enzo1982 commented 6 years ago

So, it looks like this is already fixed in upstream libcpuid with commit anrieff/libcpuid@1331b6e9b8ac09124d724032bca7f547a7fbedeb from June 23rd.

There is no updated release yet, but as soon as one is available and openSUSE updates thir libcpuid package, this will be fixed.

lgbaldoni commented 6 years ago

Thanks for tracking this down, will submit that patch or wait for a new release.