Softethervpn: Broken armhf build

Created on 23 Jan 2018  ·  12Comments  ·  Source: SoftEtherVPN/SoftEtherVPN

Hello!

419 introduced changes which I believe broke armhf build: build (log).

432 should prevent this from happening in the future, this is separate issue to fix current problem in the build.

All 12 comments

Looking at the log file, I noticed the following:

make[1]: Entering directory '/<<PKGBUILDDIR>>'
if [ armv8l = 'x86_64' ]; then echo -e "1\n2\n" | ./configure; fi
if [ armv8l = 'i686' ]; then echo -e "1\n1\n" | ./configure; fi
if [ armv8l = 'armv6l' ]; then echo -e "1\n1\n" | ./configure; fi
if [ armv8l = 'armv5tel' ]; then echo -e "1\n1\n" | ./configure; fi
if [ armv8l = 'aarch64' ]; then echo -e "1\n2\n" | ./configure; fi
if [ armv8l = 'armv7l' ]; then echo -e "1\n1\n" | ./configure; fi
dh override_dh_auto_configure 
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_build -a
   dh_auto_test -a
 fakeroot debian/rules binary-arch
dh binary-arch 
   dh_testroot -a
   dh_prep -a
    rm -f -- debian/softether-vpnbridge.substvars debian/softether-vpnclient.substvars debian/softether-vpncmd.substvars debian/softether-vpnserver.substvars
    rm -fr -- debian/.debhelper/generated/softether-vpnbridge/ debian/softether-vpnbridge/ debian/tmp/ debian/.debhelper/generated/softether-vpnclient/ debian/softether-vpnclient/ debian/.debhelper/generated/softether-vpncmd/ debian/softether-vpncmd/ debian/.debhelper/generated/softether-vpnserver/ debian/softether-vpnserver/
   debian/rules override_dh_auto_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
patch -f < debian/makefile.patch
can't find file to patch at input line 3
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|--- Makefile   2014-02-04 21:20:33.422762017 +0000
|+++ Makefile.old   2014-02-04 21:20:10.298761727 +0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
debian/rules:16: recipe for target 'override_dh_auto_install' failed
make[1]: *** [override_dh_auto_install] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
debian/rules:8: recipe for target 'binary-arch' failed
make: *** [binary-arch] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit status 2

It looks like it is failing because it cannot find Makefile, which means it has not been generated, so maybe ./configure has not been called at all

Do you think adding the line:
if [ armv8l = 'armvhfl' ]; then echo -e "1\n1\n" | ./configure; fi
would solve the problem?

I'm still trying to run an armhf on qemu on my machine to test

To clarify, here are build logs for arm64 and armhf - first one is OK, second one failed.

On arm64:

dh build-arch 
   dh_update_autotools_config -a
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
if [ aarch64 = 'x86_64' ]; then echo -e "1\n2\n" | ./configure; fi
if [ aarch64 = 'i686' ]; then echo -e "1\n1\n" | ./configure; fi
if [ aarch64 = 'armv6l' ]; then echo -e "1\n1\n" | ./configure; fi
if [ aarch64 = 'armv5tel' ]; then echo -e "1\n1\n" | ./configure; fi
if [ aarch64 = 'aarch64' ]; then echo -e "1\n2\n" | ./configure; fi
---------------------------------------------------------------------
SoftEther VPN for Unix

Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan.
Copyright (c) Daiyuu Nobori. All Rights Reserved.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
version 2 as published by the Free Software Foundation.

Read and understand README.TXT, LICENSE.TXT and WARNING.TXT before use.
---------------------------------------------------------------------

Welcome to the corner-cutting configure script !

The Makefile is generated. Run 'make' to build SoftEther VPN.
if [ aarch64 = 'armv7l' ]; then echo -e "1\n1\n" | ./configure; fi
dh override_dh_auto_configure 
make[1]: Leaving directory '/<<PKGBUILDDIR>>'

Now compare that to the output of armhf:

make[1]: Entering directory '/<<PKGBUILDDIR>>'
if [ armv8l = 'x86_64' ]; then echo -e "1\n2\n" | ./configure; fi
if [ armv8l = 'i686' ]; then echo -e "1\n1\n" | ./configure; fi
if [ armv8l = 'armv6l' ]; then echo -e "1\n1\n" | ./configure; fi
if [ armv8l = 'armv5tel' ]; then echo -e "1\n1\n" | ./configure; fi
if [ armv8l = 'aarch64' ]; then echo -e "1\n2\n" | ./configure; fi
if [ armv8l = 'armv7l' ]; then echo -e "1\n1\n" | ./configure; fi
dh override_dh_auto_configure 
make[1]: Leaving directory '/<<PKGBUILDDIR>>'

It is quite obvious in case of armhf that none of the if conditions are met, so no configure script is being called, so no Makefile is being generated, so no patch file could be applied, which causes the build error. Could you please print the value of armv8l somehow, because I suspect it doesn't match any value in this list

It's armv7l and it started working suddenly. Resolving this issue.

Builds in PPA still fail from time to time, could someone who have access over repo contact me for credentials to enable badge "build success\failure" at least over master branch? Creating tests builds over PRs is separate matter and I can't help with that, but I know for sure when master is broken and I want everyone to know that.

Hi @paskal . You can contact me on moataz dot elmasry2 at gmail.com

Hi @paskal I added the encrypted credentials to travis-ci and pushed.

But this will just push to your repository, how do you want to get a badge on github? Or you mean a badge from launchpad?

Build Status
This should notify you of errors from this moment, I guess. However something is wrong with creds:
Deploy failed! Launchpad credentials invalid. 401
https://travis-ci.org/SoftEtherVPN/SoftEtherVPN/jobs/350054996

Updated the credentials. Still getting:
Deploy failed! Launchpad credentials invalid. 401

I had to remove the deploy snippet so that it does not show SE as failing. I prefer to work on this issue in a separate branch

can you please try https://github.com/SoftEtherVPN/SoftEtherVPN/pull/462 ?

(I haven't figured out how to set up launchpad yet, however, it resolved deb magic on ubuntu, so I added "dh build-arch" step)

Launchpad deploy is not what I've had in mind, and there is no badge for build (because there are many builds for different architectures and OS versions). Closing this one, checking arm build is discussed in #432 and fix for current situation is #462.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

takotakot picture takotakot  ·  6Comments

suyash95 picture suyash95  ·  4Comments

connLAN picture connLAN  ·  9Comments

Adrian-Voelker picture Adrian-Voelker  ·  16Comments

fhocorp picture fhocorp  ·  8Comments