Spksrc: [Package Request] Mosh

Created on 3 Oct 2016  ·  9Comments  ·  Source: SynoCommunity/spksrc

Name: Mosh
Description: Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes.
Website: https://mosh.org/
Software documentation: https://mosh.org/#usage
Build/Installation documentation: https://mosh.org/#getting
Source Code: https://github.com/mobile-shell/mosh
License: GNU GPL version 3 - https://github.com/mobile-shell/mosh/blob/master/COPYING

request statuwork-in-progress

Most helpful comment

2935 & #2936 fixes this (adds support for mosh)

All 9 comments

Thanks! 👍

I'm following this tutorial: https://github.com/SynoCommunity/spksrc/wiki/spksrc-example

I'm not sure how to debug the configure_target error on zlib.


Makefile placed in cross/mosh/ folder:

PKG_NAME = mosh  
PKG_VERS = 1.2.6  
PKG_EXT = tar.gz  
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)  
PKG_DIST_SITE = https://mosh.org/
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS = cross/zlib cross/openssl cross/protobuf-c cross/ncurses

HOMEPAGE = https://mosh.org
COMMENT  = Remote terminal application
LICENSE  = GPLv3

GNU_CONFIGURE = 1
CONFIGURE_ARGS = 

include ../../mk/spksrc.cross-cc.mk

The result after make arch-88f6281 command from cross/mosh/ folder:

===>  Building package for arch 88f6281
make[1]: Entering directory '/home/alx/code/spksrc/cross/mosh'
===>  Processing dependencies of mosh
make[2]: Entering directory '/home/alx/code/spksrc/cross/zlib'
===>  Configuring for zlib
cd /home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/zlib-1.2.8 && env PKG_CONFIG_LIBDIR=/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/lib/pkgconfig WORK_DIR=/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2 INSTALL_PREFIX=/usr/local TC=syno-88f6281-5.2  LD="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ld" LDSHARED="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc -shared" CPP="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-cpp" NM="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-nm" CC="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc" AS="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-as" RANLIB="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ranlib" CXX="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-g++" AR="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ar" STRIP="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-strip" OBJDUMP="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-objdump" READELF="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-readelf" CFLAGS="-I/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include -I/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/include " CPPFLAGS="-I/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include -I/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/include " CXXFLAGS="-I/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include -I/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/include " LDFLAGS="-L/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/lib -L/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/lib -Wl,--rpath-link,/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/lib -Wl,--rpath,/usr/local/lib " ./configure  --shared --prefix=/usr/local
Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).
** ./configure aborting.
../../mk/spksrc.configure.mk:50: recipe for target 'configure_target' failed
make[2]: *** [configure_target] Error 1  
make[2]: Leaving directory '/home/alx/code/spksrc/cross/zlib'  
../../mk/spksrc.depend.mk:44: recipe for target 'depend_target' failed  
make[1]: *** [depend_target] Error 2  
make[1]: Leaving directory '/home/alx/code/spksrc/cross/mosh'  
../../mk/spksrc.cross-cc.mk:122: recipe for target 'arch-88f6281' failed  
make: [arch-88f6281] Error 2 (ignored)  

have you tried disableing -Werror in zlib's Makefile?
try: ADDITIONAL_CFLAGS = "-Wno-error"

I've modified the zlib's Makefile (and tried various quote/unquote options around "-Wno-error"), and I still get the same error.


zlib Makefile content:

|ruby-2.1.0| swyn in ~/code/spksrc/cross/mosh
± |master ✗| → cat ../zlib/Makefile
PKG_NAME = zlib
PKG_VERS = 1.2.8
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = http://zlib.net
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

DEPENDS =

HOMEPAGE = http://zlib.net/
COMMENT  = Compression Library
LICENSE  = zlib-license

CONFIGURE_ARGS = --shared --prefix=$(INSTALL_PREFIX)
ADDITIONAL_CFLAGS = "-Wno-error"

include ../../mk/spksrc.cross-cc.mk

make command result:

|ruby-2.1.0| swyn in ~/code/spksrc/cross/mosh
± |master ✗| → make arch-88f6281 
===>  Building package for arch 88f6281
make[1]: Entering directory '/home/alx/code/spksrc/cross/mosh'
===>  Processing dependencies of mosh
make[2]: Entering directory '/home/alx/code/spksrc/cross/zlib'
===>  Configuring for zlib
cd /home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/zlib-1.2.8 && env PKG_CONFIG_LIBDIR=/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/lib/pkgconfig WORK_DIR=/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2 INSTALL_PREFIX=/usr/local TC=syno-88f6281-5.2  LD="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ld" LDSHARED="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc -shared" CPP="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-cpp" NM="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-nm" CC="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc" AS="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-as" RANLIB="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ranlib" CXX="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-g++" AR="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ar" STRIP="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-strip" OBJDUMP="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-objdump" READELF="/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-readelf" CFLAGS="-I/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include -I/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/include "-Wno-error"" CPPFLAGS="-I/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include -I/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/include " CXXFLAGS="-I/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/include -I/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/include " LDFLAGS="-L/home/alx/code/spksrc/toolchains/syno-88f6281-5.2/work/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/usr/lib -L/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/lib -Wl,--rpath-link,/home/alx/code/spksrc/cross/mosh/work-88f6281-5.2/install//usr/local/lib -Wl,--rpath,/usr/local/lib " ./configure  --shared --prefix=/usr/local 
Compiler error reporting is too harsh for ./configure (perhaps remove -Werror). 
** ./configure aborting. 
../../mk/spksrc.configure.mk:50: recipe for target 'configure_target' failed 
make[2]: *** [configure_target] Error 1 
make[2]: Leaving directory '/home/alx/code/spksrc/cross/zlib' 
../../mk/spksrc.depend.mk:44: recipe for target 'depend_target' failed
make[1]: *** [depend_target] Error 2
make[1]: Leaving directory '/home/alx/code/spksrc/cross/mosh'
../../mk/spksrc.cross-cc.mk:122: recipe for target 'arch-88f6281' failed
make: [arch-88f6281] Error 2 (ignored)

The issue isn't with zlib, we've been using that lib for numerous packages and it hasn't changed in a while. I can't reproduce it anyway, so it's something else on your end.
You could take a look at configure.log in work-dir/zlib, but I don't think you'll find a solution there. Other than that, I'd suggest to take a good look at the machine you're using to build the package with.

Ok, I trashed everything, and started again from scratch, it's possible I didn't really follow the standard procedure, and my paths got mixed up, sorry if that impacted other people.

Here is the current status:

  • _openssl/zlib/protobuf-c/ncurses_ dependencies compile well
  • when it reaches mosh _configure_, it fails on the missing _protoc_ command:
checking for protoc... no
configure: error: cannot find protoc, the Protocol Buffers compiler
  • _protoc_ is disabled in _protobuc-c_ Makefile:
CONFIGURE_ARGS = --disable-protoc
  • if I remove this configure argument in _protobuf-c_, then protobuf-c _configure_ can't find _protobuf_ lib.

I'm not sure where to go next:

  • why protoc has been disabled inside protobuf-c Makefile?
  • why it can't be enabled?

I've began to try to add a protobuf-cpp cross Makefile, but I'm getting a compilation error and I feel like I'm digging too much before to get a simpler answer.

why protoc has been disabled inside protobuf-c Makefile?`

Apparently, there wasn't any need for it until now, so it was disabled.

why it can't be enabled?

If you're asking: "Can I enable it?", sure, why not ;) That is, assuming that the SPK's that use protobuf-c won't break. That's not very likely in this case though, and easy enough to verify by compiling those packages.

So as far as I can tell, you're on the right track :)

@alx please don't give up!

2935 & #2936 fixes this (adds support for mosh)

Was this page helpful?
0 / 5 - 0 ratings