Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 705516 - media-libs/vulkan-loader-1.1.125 - In file included from .../work/Vulkan-Loader-1.1.125/loader/asm_offset.c:24: .../work/Vulkan-Loader-1.1.125/loader/vk_loader_layer.h:32:5: error: unknown type name ‘VkDebugUtilsMessengerEXT’
Summary: media-libs/vulkan-loader-1.1.125 - In file included from .../work/Vulkan-Load...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-16 02:54 UTC by 27
Modified: 2020-05-06 22:33 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (vulkan-loader_build_4.log,94.41 KB, text/plain)
2020-01-16 02:54 UTC, 27
Details
vulkan_core.h (vulkan_core.h,483.60 KB, text/x-chdr)
2020-01-21 00:40 UTC, 27
Details
vulkan build.log with CMAKE_MAKEFILE_GENERATOR="emake" (build.log,98.95 KB, text/x-log)
2020-01-23 03:56 UTC, 27
Details
vulkan build.log with CMAKE_MAKEFILE_GENERATOR="emake" and GCC 8.3.0 (build.log,95.36 KB, text/x-log)
2020-01-23 04:01 UTC, 27
Details

Note You need to log in before you can comment on or make changes to this bug.
Description 27 2020-01-16 02:54:29 UTC
Created attachment 603430 [details]
build.log

When emerging vulkan-loader, lots of errors about unknown type names occur, with no clear solution. 

"emerge -pqv '=media-libs/vulkan-loader-1.1.114::gentoo'" info: 

[ebuild  N    ] media-libs/vulkan-loader-1.1.114  USE="X wayland -layers" ABI_X86="32 (64) (-x32)"
Comment 1 Nick Sarnie gentoo-dev 2020-01-16 23:34:00 UTC
Please upload /usr/include/vulkan/vulkan_core.h
Comment 2 27 2020-01-18 05:06:01 UTC
/usr/include/vulkan/vulkan-core.h does not exist. Maybe something didn't install correctly? According to emerge, I have dev-util/vulkan-headers version 1.1.125 installed.
Comment 3 Matt Turner gentoo-dev 2020-01-18 06:04:59 UTC
It should be

> /usr/include/vulkan/vulkan_core.h

with an underscore.
Comment 4 27 2020-01-21 00:40:09 UTC
Created attachment 603846 [details]
vulkan_core.h

Ah! Now I see it; here it is.
Comment 5 Nick Sarnie gentoo-dev 2020-01-21 00:54:55 UTC
Strange, it's the same as mine. Not sure what could be wrong. Some wild guesses:


1) Try re-emerging vulkan-headers 1.1.125 and try again

2) Try CMAKE_MAKEFILE_GENERATOR="emake" emerge vulkan-headers vulkan-tools

3) Try another gcc version? Shot in the dark
Comment 6 Nick Sarnie gentoo-dev 2020-01-21 00:55:17 UTC
Sorry, for 2)

CMAKE_MAKEFILE_GENERATOR="emake" emerge vulkan-headers vulkan-loader
Comment 7 27 2020-01-23 03:56:57 UTC
Created attachment 604034 [details]
vulkan build.log with CMAKE_MAKEFILE_GENERATOR="emake"

>1) Try re-emerging vulkan-headers 1.1.125 and try again

Re-emerging vulkan-headers does not do anything at all. I believe I had tried that multiple times in the past, but just to be sure, I tried again, and it still failed. 

>2) Try CMAKE_MAKEFILE_GENERATOR="emake" emerge vulkan-headers vulkan-tools

For vulkan-tools, it seems that it wants abi_x86_32, which I was advised to disable: 

# required by dev-util/vulkan-tools-1.1.124::gentoo
# required by vulkan-tools (argument)
>=media-libs/vulkan-loader-1.1.125 abi_x86_32

I now have it explicitly enabled instead of explicitly disabled, and the log after trying it again, which still results in failure, is attached to this message.
Comment 8 27 2020-01-23 04:01:10 UTC
Created attachment 604036 [details]
vulkan build.log with CMAKE_MAKEFILE_GENERATOR="emake" and GCC 8.3.0

Switching from GCC 9.1.0 to GCC 8.3.0 and running the same command (`CMAKE_MAKEFILE_GENERATOR="emake" emerge vulkan-headers vulkan-tools`), I still get the same error, log for this one also attached. I believe I had tried changing the compiler before as well. Has anyone successfully built this package yet? Maybe my system could be compared to it.
Comment 9 Nick Sarnie gentoo-dev 2020-01-23 04:30:37 UTC
Thanks for trying.

Many people have built this successfully, including myself.

asm_offset.c includes loader.h which includes vulkan.h which includes vulkan_loader.h which has the variables it's complaining about.

I don't know what to try. The header file that defines this variable exists and is correct.

Can you see if /usr/include/vulkan/vulkan.h contains the following lines:

#include "vk_platform.h"
#include "vulkan_core.h"


Thanks,
Sarnex
Comment 10 27 2020-02-03 03:27:39 UTC
It does: 

 # head -n 25 /usr/include/vulkan/vulkan.h
#ifndef VULKAN_H_
#define VULKAN_H_ 1

/*
** Copyright (c) 2015-2019 The Khronos Group Inc.
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/

#include "vk_platform.h"
#include "vulkan_core.h"

#ifdef VK_USE_PLATFORM_ANDROID_KHR
#include "vulkan_android.h"
#endif
Comment 11 Nick Sarnie gentoo-dev 2020-02-04 00:18:59 UTC
I'm out of ideas.
Comment 12 Matt Turner gentoo-dev 2020-03-15 21:29:55 UTC
Fixed in 1.2.xxx?
Comment 13 27 2020-05-06 22:33:44 UTC
My large update has finally got to this package, and it works now. 

However, the underlying issue may have also been something that I had forgotten about: I already had a bunch of vulkan files from a custom installation in /usr/local. I just moved a bunch of things in /usr/local to a disabled folder in order to fix another issue, and a lot of things seem to be working a lot better now. Vulkan-loader didn't actually get pulled in until after this change, so maybe the update fixed it rather than /usr/local changes, but if you are reading this and still have this issue even after the update, maybe try cleaning out /usr/local? It can get pretty messy when not managed by a package manager. 

I will mark this as fixed, because whatever fixed it, everything works now.