Topic Title: Catalyst 13.8 Beta 2 for Linux x86_64 building kernel module on openSuSE 12.2 fails
Topic Summary: reporting an error after generating .rpm from downloaded package
Created On: 08/29/2013 10:36 AM
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
View similar topics View similar topics
View topic in raw text format. Print this topic.
 08/29/2013 10:36 AM
User is offline View Users Profile Print this message

Author Icon
freighter
Peon

Posts: 3
Joined: 08/29/2013

********************************************************************************
*   Build date: Thu Aug 29 15:42:38 CEST 2013                                  *
********************************************************************************

Used CPUs/Cores for compilation  =>  [ 8 ]


********************************************************************************
*                                                                              *
*   Kernel:    3.4.47-2.38-desktop                                             *
*   Source:    /lib/modules/3.4.47-2.38-desktop/build                          *
*   Include:   /lib/modules/3.4.47-2.38-desktop/source/include                 *
*                                                                              *
********************************************************************************



file /lib/modules/3.4.47-2.38-desktop/source/include/../arch/x86/include/asm/compat.h says:COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
/usr/src/kernel-modules/fglrx/2.6.x /
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make: Entering directory `/usr/src/linux-3.4.47-2.38-obj/x86_64/desktop'
  LD      /usr/src/kernel-modules/fglrx/2.6.x/built-in.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/firegl_public.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_acpi.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_agp.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_debug.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_ioctl.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_io.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_pci.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_str.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_iommu.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl.o
  CC [M]  /usr/src/kernel-modules/fglrx/2.6.x/kcl_wait.o
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'KCL_GetInitKerPte':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2624:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2627:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2632:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'KCL_GetPageTableByVirtAddr':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2691:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2696:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2702:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'KCL_GetPageSizeByVirtAddr':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2760:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2765:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:2771:5: warning: return makes integer from pointer without a cast [enabled by default]
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c: In function 'KCL_EFI_IS_ENABLED':
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:3296:23: error: called object 'efi_enabled' is not a function
/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.c:3303:1: warning: control reaches end of non-void function [-Wreturn-type]
make[3]: *** [/usr/src/kernel-modules/fglrx/2.6.x/firegl_public.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [_module_/usr/src/kernel-modules/fglrx/2.6.x] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
make: Leaving directory `/usr/src/linux-3.4.47-2.38-obj/x86_64/desktop'

******************************
Build of kernel module failed!
******************************

rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
/
Calling 'depmod -a 3.4.47-2.38-desktop' this may take a while...


Summary report:
================================================================================

   Kernel     => 3.4.47-2.38-desktop
   Detected   => RPM package
   Build      => [ FAILURE ]
   Install    => [ FAILURE ]
fglrx-build.log lines 612-685/685 (END)

 

Here is the source snippet from firegl_public.c ( line 3290 - 3303) :

// UEFI specific support

int ATI_API_CALL KCL_EFI_IS_ENABLED(void)
{
#ifdef CONFIG_EFI
#ifdef EFI_BOOT
    return efi_enabled(EFI_BOOT);
#else
    return efi_enabled;
#endif
#else
    return 0;
#endif
}

 

Here is the source snippet from openSuSE 12.2   /usr/src/linux/include/linux/efi.h (line 556 - 573 ) :

#ifdef CONFIG_EFI
# ifdef CONFIG_X86
extern int efi_enabled;
extern int efi_enabled_f(int facility);
# else
#  define efi_enabled 1
static inline int efi_enabled_f(int facility)
{
    return 1;
}
# endif
#else
# define efi_enabled 0
static inline int efi_enabled_f(int facility)
{
    return 0;
}
#endif

 

Hopefully now enough detail to see what's wrong (guess a typo?).

 

 09/06/2013 05:42 PM
User is offline View Users Profile Print this message

Author Icon
jowa
Peon

Posts: 1
Joined: 09/06/2013

It could possibly be a typo in line 3296 of firegl_public.c where it says

   return efi_enabled(EFI_BOOT);

Looking at your efi.h, that should be a call to the function named efi_enabled_f(), like so:

   return efi_enabled_f(EFI_BOOT);

That said, I do not know if such a change would break kernels older than or newer than 3.4.47...

 

 09/14/2013 09:53 AM
User is offline View Users Profile Print this message

Author Icon
freighter
Peon

Posts: 3
Joined: 08/29/2013

At least using efi_enabled_f() helps temporarily, because at the (volunteering) maintainers page http://www.sebastian-siebert.de the problem is discussed in more detail. Also that person has filed a bug report for beta1 which also is relevant for beta2.

looking at his description, it seems to be more complicated than a typo, more like some organisational problem between kernel and driver developers.

Statistics
85330 users are registered to the AMD Support and Game forum.
There are currently 4 users logged in.

FuseTalk Hosting Executive Plan v3.2 - © 1999-2014 FuseTalk Inc. All rights reserved.