Error while compiling aprx

I have recently setup the new build environment for Openwrt LEDE and tried to create an image for the asus WL500G router to run aprx (the igate/Digipeater)
The source code is maintained here: https://github.com/PhirePhly/aprx
I have created a git repository for the aprx package here: https://github.com/videobuff/openwrt-aprx

I have updated my feeds with : src-git aprx https://github.com/videobuff/openwrt-aprx.git
When I update the packages list for aprx, I get no errors.

But when I compile aprx | make /package/aprx/compile, I get the following errors:

mipsel-openwrt-linux-musl-gcc -Os -pipe -mno-branch-likely -mips32 -mtune=mips32 -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -iremap/home/erik/source/build_dir/target-mipsel_mips32_musl-1.1.16/aprx-2.9.0:aprx-2.9.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro  -pthread   -DAPRXVERSION="\"17.01.4-302-gfad29d2\"" -DVARRUN="\"/var/run\"" -DVARLOG="\"/var/log/aprx\"" -DCFGFILE="\"/etc/aprx.conf\"" -c netax25.c
netax25.c:27:26: fatal error: netax25/ax25.h: No such file or directory
compilation terminated.
Makefile:142: recipe for target 'netax25.o' failed
make[3]: *** [netax25.o] Error 1
make[3]: Leaving directory '/home/erik/source/build_dir/target-mipsel_mips32_musl-1.1.16/aprx-2.9.0'
Makefile:58: recipe for target '/home/erik/source/build_dir/target-mipsel_mips32_musl-1.1.16/aprx-2.9.0/.built' failed
make[2]: *** [/home/erik/source/build_dir/target-mipsel_mips32_musl-1.1.16/aprx-2.9.0/.built] Error 2
make[2]: Leaving directory '/home/erik/source/feeds/packages/net/aprx'
package/Makefile:105: recipe for target 'package/feeds/packages/aprx/compile' failed
make[1]: *** [package/feeds/packages/aprx/compile] Error 2
make[1]: Leaving directory '/home/erik/source'
/home/erik/source/include/toplevel.mk:205: recipe for target 'package/aprx/compile' failed
make: *** [package/aprx/compile] Error 2

I see the error netax25.c:27:26: fatal error: netax25/ax25.h: No such file or directory.
If I locate the file ax25.h I find it (locating it as sudo:)

root@homeserver:/home/erik/source# locate ax25.h
/home/erik/source/build_dir/target-mipsel_mips32_musl-1.1.16/linux-brcm47xx_generic/linux-4.4.120/include/net/ax25.h
/home/erik/source/build_dir/target-mipsel_mips32_musl-1.1.16/linux-brcm47xx_generic/linux-4.4.120/include/uapi/linux/ax25.h
/home/erik/source/build_dir/target-mipsel_mips32_musl-1.1.16/linux-brcm47xx_generic/linux-4.4.120/net/ax25/ax25.h
/home/erik/source/build_dir/target-mipsel_mips32_musl-1.1.16/linux-brcm47xx_generic/linux-4.4.120/user_headers/include/linux/ax25.h
/home/erik/source/build_dir/toolchain-mipsel_mips32_gcc-5.4.0_musl-1.1.16/linux-4.4.120/include/net/ax25.h
/home/erik/source/build_dir/toolchain-mipsel_mips32_gcc-5.4.0_musl-1.1.16/linux-4.4.120/include/uapi/linux/ax25.h
/home/erik/source/build_dir/toolchain-mipsel_mips32_gcc-5.4.0_musl-1.1.16/linux-dev/include/linux/ax25.h
/home/erik/source/staging_dir/toolchain-mipsel_mips32_gcc-5.4.0_musl-1.1.16/include/linux/ax25.h
/usr/include/linux/ax25.h
/usr/include/netax25/ax25.h
/usr/src/linux-headers-4.4.0-116/include/net/ax25.h
/usr/src/linux-headers-4.4.0-116/include/uapi/linux/ax25.h
/usr/src/linux-headers-4.4.0-116-generic/include/config/ax25.h

Anyone who can point me in the right direction to get it working ?

73’s Erik

In addition, when I entered the directory aprx, created by the Makefile and then executed $ configure --with-embedded and make, the package compiled fine.

OMG!!!

YES!!!! SOMEONE WHO NEEDS libax25 too!!!

YES, YOU NEED libax25...and now I can have someone test to see if it works!!!

I already have a makfile and patch file for libax25; and I'm able to compile it and prodice an IPK file...but I have issues with compiling ax25-tools and ax25-utils...perhaps you can help, later.

seventy three kilo bravo three victor whiskey golf

You may end up the the same issue...as I cannot seem to compile the other two, because there's a dependency on the libraries libax25 creates...

Hello,
I did have libax25 installed, so that is not the problem.
Could you post your Makefile here ?
I am using Ubuntu 16.04 as development platform.
I have installed all ax25 packages, but aprx does not need them.

I did post, see above. The linked thread shows my progress with the software I mentioned...

So you're saying that you did have libax25...and you ARE having the same issue:

So why is your compile environment asking for libax25...??? AND WHAT DO YOU MEAN...ALL THE AX.25 PACKAGES DON'T EXIST FOR OpenWRT...THAT'S THE POINT OF THE THREADS AND LINKS NOTED IN IT.

Just to let you know...most APRS software DOES require libax25 (the packets are in AX.25 format)...and I'm talking about libax25 in the development environment, not on the Ubuntu system.

:grinning:Temporary solved the issue.:grinning:
The compile errors indicated that ax25 files were not found.
By placing the /usr/include/netax25 directory in ~/staging_dir/toolchain-mipsel_mips32_gcc-5.4.0_musl-1.1.16/include/
After that the package aprx compiled fine because the dependances were then found, and aprx is currently working (version aprx: 17.01.4-302-gfad29d2). I had already a asus wl500g prepared for that with the latest OpenWrtLEDE.
B.t.w. I installed the ax25 packages using apt-get install.

  • ax25-apps
  • ax25-tools
  • libax25
  • libax25-dev
1 Like

How did you install libax25 on the router, though...are you saying, its only a dependency to build???

Temporarily??? What!?! Are you saying that you used libax25-dev on the host Ubuntu to compile files requesting the headers?

I did not have to install ax25 on the router, i installed it on the development machine, placed the correct directory in the buildroot, and then could compile the package aprx, including all the ax25 dependencies.
With temporary I mean that I have to add these ax25 files to my git repository, so that anyone who wishes to compile aprx themselfes does not run into the same problem. For the moment i can compile and help other hams with either the package or the complete firmware.
73's
Erik - PA0ESH

1 Like

Apologize I'm reviving an old thread, but I'm having a problem on the compile as I need a version of APRX on a new TL-MR3420 V5 box (I'm upgrading from the old MR3420 V1 box that has been running flawlessly for 9 years).

Erik, could you explain how to use your git repository? My build machine is Ubuntu 16.04 or Ubuntu 20.05.

Yono - YD0NXX

Hello Yono, I even forgot i have a login here. Your new router hs to be compiled as per this page : https://openwrt.org/toh/hwdata/tp-link/tp-link_tl-mr3420_v5.

The issue is thatyou have to do either solution:

1: install the old-packages repostory, from which there is a aprx module. That however is an old one so you then have to replace it by a makefile pointing to Phurefly's latest current version.
2. Clone Phirefly's aprx locally and create your own package.

Openwrt wiki describes both ways in genreric instructions.

I will see if i can make a firmware package for you for the new router. Howeve, I have to update my build machine first because it has been a long time ago that i did

73's

Erik, PA0ESH

Hi Erik,
thanks for the reply.

  1. The new router box has been loaded with openwrt and looks like it is working good.

  2. On my build machine, I "git clone" from PhirePhly, and on the same ax25 error I followed your solution that you mention in this page.

  3. Then I got further error, which is related to "#include bits/sockaddr.h" in file /usr/include/netax25.h
    My solution in this problem is edit that file and comment out the line of
    #include bits/sockaddr.h

I got the app finally compiled fine, and has been running fine on the MR3420 V5 box, thru manual start.

I still need to figure out how to make a complete package, so I can also have the /etc/init.d/aprx init script.

73 de Yono - YD0NXX
Jakarta - Indonesia