Compiling error

please i need help. when ever i run make to build i get this error below

time: package/utils/ip/compile#0.13#0.06#0.18
make[3]: Entering directory '/home/this-pc/openwrt/package/utils/myos'
Makefile:76: *** DESCRIPTION:= is obsolete, use Package/PKG_NAME/description.  Stop.
make[3]: Leaving directory '/home/this-pc/openwrt/package/utils/myos'
time: package/utils/myos/compile#0.08#0.05#0.13
make[2]: *** [package/Makefile:113: package/utils/myos/compile] Error 2
make[2]: Leaving directory '/home/this-pc/openwrt'
make[1]: *** [package/Makefile:107: /home/this-pc/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/this-pc/openwrt'
make: *** [/home/this-pc/openwrt/include/toplevel.mk:227: world] Error 2

There is no package/utils/myos in the official OpenWrt. That is apparently something that you have created...

Based on the following error message the Makefile contains outdated fields:

Likely you need to at least remove the DESCRIPTION top-level item, if you have placed that there.

Unless you show us the actual Makefile, is it pretty imposssible to guess what you have created (or copied some ancient stuff from somewhere)

2 Likes

here is the makefile: include $(TOPDIR)/rules.mk

# Name and release number of this package
PKG_NAME:=myos
PKG_RELEASE:=1


# This specifies the directory where we're going to build the program.  
# The root build directory, $(BUILD_DIR), is by default the build_mipsel 
# directory in your OpenWrt SDK directory
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)


include $(INCLUDE_DIR)/package.mk



# Specify package information for this program. 
# The variables defined here should be self explanatory.
# If you are running Kamikaze, delete the DESCRIPTION 
# variable below and uncomment the Kamikaze define
# directive for the description below
define Package/myos
	SECTION:=utils
	CATEGORY:=Utilities
	TITLE:=myos -- prints a snarky message
	DESCRIPTION:=\
	If you can't figure out what this program does, \\\
	you're probably brain-dead and need immediate \\\
	medical attention.
endef


# Uncomment portion below for Kamikaze and delete DESCRIPTION variable above
#define Package/myos/description
#	If you can't figure out what this program does, you're probably
#	brain-dead and need immediate medical attention.
#endef



# Specify what needs to be done to prepare for building the package.
# In our case, we need to copy the source files to the build directory.
# This is NOT the default.  The default uses the PKG_SOURCE_URL and the
# PKG_SOURCE which is not defined here to download the source from the web.
# In order to just build a simple program that we have just written, it is
# much easier to do it this way.
define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	$(CP) ./src/* $(PKG_BUILD_DIR)/
endef


# We do not need to define Build/Configure or Build/Compile directives
# The defaults are appropriate for compiling a simple program such as this one


# Specify where and how to install the program. Since we only have one file, 
# the myos executable, install it by copying it to the /bin directory on
# the router. The $(1) variable represents the root directory on the router running 
# OpenWrt. The $(INSTALL_DIR) variable contains a command to prepare the install 
# directory if it does not already exist.  Likewise $(INSTALL_BIN) contains the 
# command to copy the binary file from its current location (in our case the build
# directory) to the install directory.
define Package/myos/install
	$(INSTALL_DIR) $(1)/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/myos $(1)/bin/
endef

$(eval $(call BuildPackage,myos))

You apparently have not followed the advice in Makefile, given in year 2008 given for trying to compile with versions like Kamikaze (of 2008) or later...

Uncomment portion below for Kamikaze and delete DESCRIPTION variable above

Ps. formatting code snippets is possible...

Pps. really friendly Makefile :frowning:

2 Likes