Summary: | sys-apps/v86d-0.1.10 : /.../uvesafb.h:134:2: error: unknown type name ‘atomic_t’ | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | john.blbec, rene.rheaume, treecleaner, xaviermiller |
Priority: | Normal | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=659186 | ||
Whiteboard: | Pending removal: 2017-08-14 | ||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.portage.tbz2 sys-apps:v86d-0.1.10:20170118-031719.log v86d-0.1.10-atomict.patch Ebuild with fixed atomic_t problem undefined references after atomic_t problem fix patch to fix duplicate definition of struct vbe_mode_ib |
Description
Toralf Förster
![]() Created attachment 460510 [details]
emerge-info.txt
Created attachment 460512 [details]
emerge-history.txt
Created attachment 460514 [details]
environment
Created attachment 460516 [details]
etc.portage.tbz2
Created attachment 460518 [details]
sys-apps:v86d-0.1.10:20170118-031719.log
Workaround # emerge -C klibc # echo "=dev-libs/klibc-2.0.4" >> /etc/portage/package.accept_keywords # echo "=dev-libs/klibc-2.0.4-r2" >> /etc/portage/package.mask # emerge -1 =dev-libs/klibc-2.0.4 v86d The workaround does'nt work with GCC 5 (see bug #556142) v86d is dead for ages, maybe we should treeclean if nobody tries to revive it :/ Created attachment 462460 [details, diff] v86d-0.1.10-atomict.patch I was able to build v86d after I added a typedef for atomic_t, based on what I found on https://www.mjmwired.net/kernel/Documentation/atomic_ops.txt . However, when trying to get back the page reference, I stumbled on LXR pages stating it is defined in linux/types.h . I also needed to filter-flag -static-libgcc in the ebuild (In reply to René Rhéaume from comment #9) > However, when trying to get back the page reference, I stumbled on LXR pages > stating it is defined in linux/types.h . This was defined for old versions of Linux headers. atomic_t is not found in current headers. (In reply to René Rhéaume from comment #10) > This was defined for old versions of Linux headers. atomic_t is not found in > current headers. Thanks! Your patch helped, and uvesafb is working now. Hi! The patch is working against kernel 4.10 (and nvidia geforce 210) (In reply to Pacho Ramos from comment #8) > v86d is dead for ages, maybe we should treeclean if nobody tries to revive > it :/ What other option would there be to get a large resolution framebuffer console using nvidia's binary drivers? v86 is not dead! I am still forced to use it with my Nvidia card. Can this patch be put into mainstream so I don't have to manually mess with it? (In reply to René Rhéaume from comment #10) > (In reply to René Rhéaume from comment #9) > > However, when trying to get back the page reference, I stumbled on LXR pages > > stating it is defined in linux/types.h . > This was defined for old versions of Linux headers. atomic_t is not found in > current headers. If this still make sence... atomic_t is defined in private version: /usr/src/linux/include/linux/types.h These two files seem to be same: /usr/src/linux/include/uapi/linux/types.h /usr/include/linux/types.h Created attachment 474744 [details, diff]
Ebuild with fixed atomic_t problem
Created attachment 474746 [details]
undefined references after atomic_t problem fix
Problem about atomic_t is fixed by couple if cflags, affecting include order. But it still fails due to numerous undefined references. Created attachment 485364 [details, diff]
patch to fix duplicate definition of struct vbe_mode_ib
I managed to fix build errors and using the same ebuild that is in portage by adding also the testvbe.patch.
In file included from testvbe.c:10:0:
testvbe.h:14:8: error: redefinition of ‘struct vbe_mode_ib’
struct vbe_mode_ib {
^
In file included from v86.h:24:0,
from testvbe.c:9:
/usr/src/linux/include/video/uvesafb.h:31:8: note: originally defined here
struct vbe_mode_ib {
^
testvbe.c: In function ‘main’
I managed to build by only using v86d-0.1.10-atomict.patch, and using EGIT_REPO_URI="git://github.com/mjanusz/v86d.git" as source. Ebuild at https://github.com/tsjk/gentoo-ebuilds/tree/master/sys-apps/v86d. Just make sure your klibc installation is fine. Mine had its links to the kernel source tree (in /usr/lib64/klibc/include) replaced with empty dirs. I know this is being taken out of the tree, but I still have an old laptop which has an uvesafb configuration, so I'm keeping this for a while. commit 30c31bfe86f048a443baa523e9f487c38d950f24 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: Mon Aug 14 09:56:21 2017 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: Mon Aug 14 10:02:53 2017 sys-apps/v86d: Remove last-rited pkg, #606154 profiles/arch/amd64/package.use.force | 4 --- profiles/package.mask | 5 ---- sys-apps/v86d/Manifest | 1 - sys-apps/v86d/metadata.xml | 8 ----- sys-apps/v86d/v86d-0.1.10.ebuild | 56 ----------------------------------- 5 files changed, 74 deletions(-) |