Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ArmBian Kernel for OdroidXU4 is failing to compile with -C KERNEL_SOURCES O=SOMEWHERE_ELSE option

Featured Replies

Hi,

 

I'm trying to compile the Odroid-XU4 kernel using a make -C KERNEL_SOURCES O=SOMEWHERE_ELSE/mybuild.

This command will failed when it reaches these drivers in drivers/net/wireless: rtl8188eu, rtl8189es, rtl8189fs, rtl8192eu, rtl8723ds, rtl8723du, rtl8811cu, rtl8812au, rtl8822bs, rtl88x2bu, rtl88x2cs.

To be able to compile the Kernel outside of the source tree I had to modify this list of files below. This is an output of my scipt wich is searching an replacing and replacing "-I$(src)" with "-I$(souce)/$(src)"

 

Fixing compilation for driver rtl8188eu ..
  Makefile
  phydm.mk
  sd4_phydm_2_kernel.mk
  ap_makefile.mk
Fixing compilation for driver rtl8189es ..
  Makefile
Fixing compilation for driver rtl8189fs ..
  Makefile
Fixing compilation for driver rtl8192eu ..
  Makefile
  phydm.mk
  sd4_phydm_2_kernel.mk
  ap_makefile.mk
Fixing compilation for driver rtl8723ds ..
  Makefile
Fixing compilation for driver rtl8723du ..
  Makefile
  phydm.mk
  sd4_phydm_2_kernel.mk
  ap_makefile.mk
Fixing compilation for driver rtl8811cu ..
  Makefile
  phydm.mk
  ap_makefile.mk
  rtl8821c.mk
Fixing compilation for driver rtl8812au ..
  Makefile
  phydm.mk
  sd4_phydm_2_kernel.mk
  ap_makefile.mk
Fixing compilation for driver rtl8822bs ..
  Makefile
  phydm.mk
  rtl8822b.mk
Fixing compilation for driver rtl88x2bu ..
  Makefile
  phydm.mk
  sd4_phydm_2_kernel.mk
  ap_makefile.mk
  halmac.mk
  rtl8822b.mk
Fixing compilation for driver rtl88x2cs ..
  Makefile
  phydm.mk
  sd4_phydm_2_kernel.mk
  ap_makefile.mk
  halmac.mk
  rtl8822c.mk

 

The script I used to fix this issue is this:

 

    for i in rtl8188eu rtl8189es rtl8189fs rtl8192eu rtl8723ds rtl8723du rtl8811cu rtl8812au rtl8822bs rtl88x2bu rtl88x2cs; do
        if [[ -d "${SOURCE_DIR}/drivers/net/wireless/$i" ]]; then
            echo "Fixing compilation for driver $i .."
            if [[ -f "${SOURCE_DIR}/drivers/net/wireless/$i/Makefile" ]]; then
                echo "  Makefile"
                sed -i -e "s/-I\$(src)/-I \$(srctree)\/\$(src)/g" "${SOURCE_DIR}/drivers/net/wireless/$i/Makefile"
            fi

            ### Also there are multiple .mk files with the same issue.
            for j in `find "${SOURCE_DIR}/drivers/net/wireless/$i/" -name *.mk -type f`; do
                echo "  $(basename $j)"
                sed -i "s/-I\$(src)/-I \$(srctree)\/\$(src)/g" "${j}"
            done
        fi
    done

 

There ${SOURCE_DIR} is obviously the Kernel sources from ArmBian.

 

Hope you can fix this issue in the next release of the kernel.

LE: also I had to replace all "include $(src)" with "include $(srctree)/$(src)" and or "include $(TopDIR)" with "include $(srctree)".

8 hours ago, EasyNet said:

Hope you can fix this issue in the next release of the kernel.

 

I am grateful you have found a fix but sadly maintainers are unable to integrate most of the fixes that are found :( 

 

We are trying to improve the situation this way:

Applicants: 0


We are freezing code for next release today:

https://forum.armbian.com/topic/19188-armbian-2202-pig-release-thread/#comment-135629

https://docs.armbian.com/Process_Release-Model/

 

Probably it should be added here:
https://github.com/armbian/build/blob/master/lib/compilation-prepare.sh

 

then https://github.com/armbian/build/pulls

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.