Re: [blfs-support] nouveau driver "implicit declaration of function error" (Mesa-12.0.1 package)
2017-01-13 13:36 GMT-03:00 Pierre Labastie: > On 13/01/2017 17:12, Jamenson Ferreira Espindula de Almeida Melo wrote: >> >> -BEGIN PGP SIGNED MESSAGE- >> Hash: SHA256 >> >> >> >> Jaboatão dos Guararapes, Pernambuco, Brazil, January, 13 2017. >> >> >> = = = = = = = = = = >> = = = = = = = = = = >> >> Subject: nouveau driver implicit declaration of function error >> (Mesa-12.0.1 package) >> >> = = = = = = = = = = >> = = = = = = = = = = >> >> >> Hi, everyone. >> >> Error trying to compile Mesa-12.0.1 package: >> >> >> = = = = Begin log transcription = = = = >> >> Making all in nouveau >> make[6]: Entering directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri/nouveau' >> >>CC nouveau_array.lo >>CC nouveau_bufferobj.lo >>CC nouveau_context.lo >>CC nouveau_driver.lo >>CC nouveau_fbo.lo >>CC nouveau_scratch.lo >>CC nouveau_screen.lo >> nouveau_screen.c: In function 'nouveau_init_screen2': >> nouveau_screen.c:105:2: error: implicit declaration of function / >> 'nouveau_drm_new' [-Werror=implicit-function-declaration] >> >>ret = nouveau_drm_new(dri_screen->fd, >drm); >>^ >> nouveau_screen.c:111:2: error: implicit declaration of function / >> 'nouveau_device_new' [-Werror=implicit-function-declaration] >> >>ret = nouveau_device_new(>drm->client, NV_DEVICE, >>^ >> nouveau_screen.c:111:39: error: dereferencing pointer to incomplete / >> type >> >>ret = nouveau_device_new(>drm->client, NV_DEVICE, >> ^ >> nouveau_screen.c: In function 'nouveau_destroy_screen': >> nouveau_screen.c:229:2: error: implicit declaration of function / >> 'nouveau_drm_del' [-Werror=implicit-function-declaration] >> >>nouveau_drm_del(>drm); >>^ >> cc1: some warnings being treated as errors >> Makefile:690: recipe for target 'nouveau_screen.lo' failed >> make[6]: *** [nouveau_screen.lo] Error 1 >> make[6]: Leaving directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri/nouveau' >> >> Makefile:765: recipe for target 'all-recursive' failed >> make[5]: *** [all-recursive] Error 1 >> make[5]: Leaving directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri' >> >> Makefile:3023: recipe for target 'all-recursive' failed >> make[4]: *** [all-recursive] Error 1 >> make[4]: Leaving directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa' >> >> Makefile:1863: recipe for target 'all' failed >> make[3]: *** [all] Error 2 >> make[3]: Leaving directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa' >> >> Makefile:691: recipe for target 'all-recursive' failed >> make[2]: *** [all-recursive] Error 1 >> make[2]: Leaving directory '/home/jamenson/Downloads/mesa-12.0.1/src' >> Makefile:568: recipe for target 'all' failed >> make[1]: *** [all] Error 2 >> make[1]: Leaving directory '/home/jamenson/Downloads/mesa-12.0.1/src' >> Makefile:635: recipe for target 'all-recursive' failed >> make: *** [all-recursive] Error 1 >> >> >> = = = = End log transcription = = = = >> >> >> I searched for with Google, but other sites relate similar problem. >> BLFS support seems not to know it. >> >> Any ideas? >> >> Platform: LFS 7.6 (systemd edition) >> Kernel: 4.9.1 >> >> > Hmm, I guess nobody at BLFS has tried mesa 12 with such an old version of > LFS. According to the answer to this bug report [1], > it looks like a recent version of libdrm is needed for this version of mesa, > because "A header moved in libdrm, if you don't have proper package > management, you may be pulling in an old version of nouveau.h". If you have > updated libdrm, maybe the old header file has not been removed, and is > picked up by gcc even if a more recent one is elsewhere. > Pierre > > [1] https://bugs.freedesktop.org/show_bug.cgi?id=97900 > > -- > http://lists.linuxfromscratch.org/listinfo/blfs-support > FAQ: http://www.linuxfromscratch.org/blfs/faq.html > Unsubscribe: See the above information page OK. Compilation success. Some observations. noveau driver was looking for nouveau.h on [/usr/include/libdrm] and [/usr/include/libdrm/nouveau], in that order (according to Cflags information in /usr/lib/pkgconfig/libdrm_nouveau.pc): = = = = Begin transcription = = = = prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: libdrm_nouveau Description: Userspace interface to nouveau kernel DRM services Version: 2.4.70 Libs: -L${libdir} -ldrm_nouveau Cflags: -I${includedir} -I${includedir}/libdrm / -I${includedir}/libdrm/nouveau Requires.private: libdrm = = = = End transcription = = = = Surprise is in the libdrm-2.4.70 install log: /usr/bin/install -c -m 644 nouveau.h '/usr/include/libdrm/nouveau' Before, libdrm-2.4.56 (from BLFS 7.6-systemd) used to install all files in [/usr/include/libdrm]. Considering that in that directory already has a "nouveau.h", so the system end up with two files: /usr/include/libdrm/nouveau.h
Re: [blfs-support] nouveau driver "implicit declaration of function error" (Mesa-12.0.1 package)
2017-01-13 13:36 GMT-03:00 Pierre Labastie: > On 13/01/2017 17:12, Jamenson Ferreira Espindula de Almeida Melo wrote: >> >> -BEGIN PGP SIGNED MESSAGE- >> Hash: SHA256 >> >> >> >> Jaboatão dos Guararapes, Pernambuco, Brazil, January, 13 2017. >> >> >> = = = = = = = = = = >> = = = = = = = = = = >> >> Subject: nouveau driver implicit declaration of function error >> (Mesa-12.0.1 package) >> >> = = = = = = = = = = >> = = = = = = = = = = >> >> >> Hi, everyone. >> >> Error trying to compile Mesa-12.0.1 package: >> >> >> = = = = Begin log transcription = = = = >> >> Making all in nouveau >> make[6]: Entering directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri/nouveau' >> >>CC nouveau_array.lo >>CC nouveau_bufferobj.lo >>CC nouveau_context.lo >>CC nouveau_driver.lo >>CC nouveau_fbo.lo >>CC nouveau_scratch.lo >>CC nouveau_screen.lo >> nouveau_screen.c: In function 'nouveau_init_screen2': >> nouveau_screen.c:105:2: error: implicit declaration of function / >> 'nouveau_drm_new' [-Werror=implicit-function-declaration] >> >>ret = nouveau_drm_new(dri_screen->fd, >drm); >>^ >> nouveau_screen.c:111:2: error: implicit declaration of function / >> 'nouveau_device_new' [-Werror=implicit-function-declaration] >> >>ret = nouveau_device_new(>drm->client, NV_DEVICE, >>^ >> nouveau_screen.c:111:39: error: dereferencing pointer to incomplete / >> type >> >>ret = nouveau_device_new(>drm->client, NV_DEVICE, >> ^ >> nouveau_screen.c: In function 'nouveau_destroy_screen': >> nouveau_screen.c:229:2: error: implicit declaration of function / >> 'nouveau_drm_del' [-Werror=implicit-function-declaration] >> >>nouveau_drm_del(>drm); >>^ >> cc1: some warnings being treated as errors >> Makefile:690: recipe for target 'nouveau_screen.lo' failed >> make[6]: *** [nouveau_screen.lo] Error 1 >> make[6]: Leaving directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri/nouveau' >> >> Makefile:765: recipe for target 'all-recursive' failed >> make[5]: *** [all-recursive] Error 1 >> make[5]: Leaving directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri' >> >> Makefile:3023: recipe for target 'all-recursive' failed >> make[4]: *** [all-recursive] Error 1 >> make[4]: Leaving directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa' >> >> Makefile:1863: recipe for target 'all' failed >> make[3]: *** [all] Error 2 >> make[3]: Leaving directory / >> '/home/jamenson/Downloads/mesa-12.0.1/src/mesa' >> >> Makefile:691: recipe for target 'all-recursive' failed >> make[2]: *** [all-recursive] Error 1 >> make[2]: Leaving directory '/home/jamenson/Downloads/mesa-12.0.1/src' >> Makefile:568: recipe for target 'all' failed >> make[1]: *** [all] Error 2 >> make[1]: Leaving directory '/home/jamenson/Downloads/mesa-12.0.1/src' >> Makefile:635: recipe for target 'all-recursive' failed >> make: *** [all-recursive] Error 1 >> >> >> = = = = End log transcription = = = = >> >> >> I searched for with Google, but other sites relate similar problem. >> BLFS support seems not to know it. >> >> Any ideas? >> >> Platform: LFS 7.6 (systemd edition) >> Kernel: 4.9.1 >> >> > Hmm, I guess nobody at BLFS has tried mesa 12 with such an old version of > LFS. According to the answer to this bug report [1], > it looks like a recent version of libdrm is needed for this version of mesa, > because "A header moved in libdrm, if you don't have proper package > management, you may be pulling in an old version of nouveau.h". If you have > updated libdrm, maybe the old header file has not been removed, and is > picked up by gcc even if a more recent one is elsewhere. > Pierre > > [1] https://bugs.freedesktop.org/show_bug.cgi?id=97900 > > -- > http://lists.linuxfromscratch.org/listinfo/blfs-support > FAQ: http://www.linuxfromscratch.org/blfs/faq.html > Unsubscribe: See the above information page Thank you, Pierre. Sounds like great idea. I notice that, even after installing libdrm-2.4.70, the file [usr/include/libdrm/nouveau.h] still remained untouched. I pretend to go on that clue. -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
Re: [blfs-support] nouveau driver "implicit declaration of function error" (Mesa-12.0.1 package)
On 13/01/2017 17:12, Jamenson Ferreira Espindula de Almeida Melo wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Jaboatão dos Guararapes, Pernambuco, Brazil, January, 13 2017. = = = = = = = = = = = = = = = = = = = = Subject: nouveau driver implicit declaration of function error (Mesa-12.0.1 package) = = = = = = = = = = = = = = = = = = = = Hi, everyone. Error trying to compile Mesa-12.0.1 package: = = = = Begin log transcription = = = = Making all in nouveau make[6]: Entering directory / '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri/nouveau' CC nouveau_array.lo CC nouveau_bufferobj.lo CC nouveau_context.lo CC nouveau_driver.lo CC nouveau_fbo.lo CC nouveau_scratch.lo CC nouveau_screen.lo nouveau_screen.c: In function 'nouveau_init_screen2': nouveau_screen.c:105:2: error: implicit declaration of function / 'nouveau_drm_new' [-Werror=implicit-function-declaration] ret = nouveau_drm_new(dri_screen->fd, >drm); ^ nouveau_screen.c:111:2: error: implicit declaration of function / 'nouveau_device_new' [-Werror=implicit-function-declaration] ret = nouveau_device_new(>drm->client, NV_DEVICE, ^ nouveau_screen.c:111:39: error: dereferencing pointer to incomplete / type ret = nouveau_device_new(>drm->client, NV_DEVICE, ^ nouveau_screen.c: In function 'nouveau_destroy_screen': nouveau_screen.c:229:2: error: implicit declaration of function / 'nouveau_drm_del' [-Werror=implicit-function-declaration] nouveau_drm_del(>drm); ^ cc1: some warnings being treated as errors Makefile:690: recipe for target 'nouveau_screen.lo' failed make[6]: *** [nouveau_screen.lo] Error 1 make[6]: Leaving directory / '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri/nouveau' Makefile:765: recipe for target 'all-recursive' failed make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory / '/home/jamenson/Downloads/mesa-12.0.1/src/mesa/drivers/dri' Makefile:3023: recipe for target 'all-recursive' failed make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory / '/home/jamenson/Downloads/mesa-12.0.1/src/mesa' Makefile:1863: recipe for target 'all' failed make[3]: *** [all] Error 2 make[3]: Leaving directory / '/home/jamenson/Downloads/mesa-12.0.1/src/mesa' Makefile:691: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/jamenson/Downloads/mesa-12.0.1/src' Makefile:568: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/home/jamenson/Downloads/mesa-12.0.1/src' Makefile:635: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 = = = = End log transcription = = = = I searched for with Google, but other sites relate similar problem. BLFS support seems not to know it. Any ideas? Platform: LFS 7.6 (systemd edition) Kernel: 4.9.1 Hmm, I guess nobody at BLFS has tried mesa 12 with such an old version of LFS. According to the answer to this bug report [1], it looks like a recent version of libdrm is needed for this version of mesa, because "A header moved in libdrm, if you don't have proper package management, you may be pulling in an old version of nouveau.h". If you have updated libdrm, maybe the old header file has not been removed, and is picked up by gcc even if a more recent one is elsewhere. Pierre [1] https://bugs.freedesktop.org/show_bug.cgi?id=97900 -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
Re: [blfs-support] nouveau driver "implicit declaration of function error" (Mesa-12.0.1 package)
Jamenson Ferreira Espindula de Almeida Melo wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Jaboatão dos Guararapes, Pernambuco, Brazil, January, 13 2017. = = = = = = = = = = = = = = = = = = = = Subject: nouveau driver implicit declaration of function error (Mesa-12.0.1 package) Error trying to compile Mesa-12.0.1 package: I searched for with Google, but other sites relate similar problem. BLFS support seems not to know it. Try using Mesa-13.0.3 http://www.linuxfromscratch.org/blfs/view/systemd/x/mesa.html -- Bruce -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page