Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Apr 2020 19:59:45 +0500
From:      Ruslan Garipov <ruslanngaripov@gmail.com>
To:        Tomasz CEDRO <tomek@cedro.info>
Cc:        FreeBSD Questions Mailing List <freebsd-questions@freebsd.org>, FreeBSD Stable <freebsd-stable@freebsd.org>, freebsd-ports <freebsd-ports@freebsd.org>
Subject:   Re: /usr/src/release/release.sh -> ports -> fetch pkg -> Bad system call (core dumped)
Message-ID:  <281e95ff-a1c2-c759-2918-783cb8edf1b7@gmail.com>
In-Reply-To: <CAFYkXjkChjMvhKEOckudVxtQejJPYXyOvDh=OiiFp1BWT_q_uQ@mail.gmail.com>
References:  <CAFYkXj=p0C7gHmVr1UfkG=SFmgHLn-25sMmOLUShd-fc1SSDUQ@mail.gmail.com> <d08bf3ac-9a3a-f62e-f8b8-23914ebd5de7@gmail.com> <CAFYkXjkChjMvhKEOckudVxtQejJPYXyOvDh=OiiFp1BWT_q_uQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 4/5/2020 6:52 PM, Tomasz CEDRO wrote:
> Hello Ruslav and thank you for your feedback! :-)
> 
> On Sun, Apr 5, 2020 at 3:07 PM Ruslan Garipov wrote:
>> On 4/4/2020 7:50 PM, Tomasz CEDRO wrote:
>>> 1. Is it a good build / testing environment? Maybe there is a simpler
>>> / better way to cross compile binaries and test on another machine?
>>> Both are using 12.1-RELEASE AMD64 installations so far. All /usr/local
>>> should work both with 12.1-RELEASE and 12-STABLE right?
>> Both machines have the same architecture, therefore it is not a cross
>> build, I believe.  For my direct builds (both build and consumer
>> machines are x86-64) I use the procedure described in the handbook
>> (``23.6. Tracking for Multiple Machines''[1]).
> 
> I know that method, thank you :-) But I also want to try out the
> binary release, which seems a bit more flexible to have just
> everything in one place, may be used to install on an external machine
> without NFS access, etc :-)
> 
> It would be also nice to know the time cost of those two methods, so I
> want to verify :-)
> 
> 
>>> 3. During /usr/src/release/release.sh I get following error as pasted
>>> below. Does release.sh update /usr/ports just as it snaps from svn or
>>> it will use the /usr/porst that are just there and I need to provide
>>> /usr/ports in a state that will be bindled into a /scratch release?
>> A quote from release(7) man page:
>>
>> release.sh checks out the src/, ports/, and doc/ trees to CHROOTDIR...
>>
>> Therefore, release(7) "ignores" /usr/ports and uses
>> ${CHROOTDIR}/usr/ports.  My build machine doesn't have access to the
>> Internet, therefore, I have to define the PORTS_UPDATE_SKIP variable and
>> provide ports tree into the ${CHROOTDIR}/usr/ports before
>> I will call /usr/src/release/release.sh.
> 
> Okay, so the build uses totally separate CHROOT in /scratch? I wonder
> if that "Bad System Call" is caused by my Host tools or the CHROOT
> tools?
> 
> It looks like the /scratch has its own compiled in tools not a copy
> from my host?
> 
> # diff -u /usr/bin/fetch /scratch/usr/bin/fetch
> Binary files /usr/bin/fetch and /scratch/usr/bin/fetch differ
I'm sorry, I forgot to ask how do you call /usr/src/release/release.sh?
Do you pass a configuration file to this script?

By default /usr/src/release/release.sh checks out the source tree for
the CURRENT branch (svn://svn.FreeBSD.org/base/head@rHEAD).  In this
case (if you doesn't change it) chrooted environment definitely will
fail to run on STABLE and/or RELEASE.

May be it's easy for you to use `make release` directly.
> 
> 
>>> ===>   docproj-2.0_14 depends on file: /usr/local/sbin/pkg - not found
>>> ===>  License BSD2CLAUSE accepted by the user
>>> ===> Fetching all distfiles required by pkg-1.14.2 for building
>>> ===>  Extracting for pkg-1.14.2
>>> ===>  License BSD2CLAUSE accepted by the user
>>> ===> Fetching all distfiles required by pkg-1.14.2 for building
>>> => SHA256 Checksum mismatch for freebsd-pkg-1.14.2_GH0.tar.gz.
>>> ===>  Refetch for 1 more times files:  freebsd-pkg-1.14.2_GH0.tar.gz
>>> ===>  License BSD2CLAUSE accepted by the user
>>> => freebsd-pkg-1.14.2_GH0.tar.gz doesn't seem to exist in /tmp/distfiles/.
>>> => Attempting to fetch
>>> https://codeload.github.com/freebsd/pkg/tar.gz/1.14.2?dummy=/freebsd-pkg-1.14.2_GH0.tar.gz
>>> freebsd-pkg-1.14.2_GH0.tar.gz                 Bad system call (core dumped)
>> /usr/src/release/release.sh defines DISTDIR=/tmp/distfiles when it
>> installs the textproc/docproj port or a port from the ${EMBEDDEDPORTS}.
>>
>> As for why fetch(1) fails with bad system call under chrooted
>> environment -- I don't know.  I failed on a port fetching only if I
>> hadn't provided all necessary distfiles.  You have checksum error
>> message which is causing refetching of the ports-mgmt/pkg port.
>> Therefore, I believe
>> ${CHROOTDIR}/tmp/distfiles/freebsd-pkg-1.14.2_GH0.tar.gz exists on your
>> file system (remained from a previous fetch try?)...  May be you should
>> try fetch(1) from the chrooted environment manually, to get any content?
> 
> This "Bad System Call" stops me from proceeding. I did place by hand
> the required package in the right place, then it built ok, then I got
> that "Bad System Call" again on install :-(
> 
> How can I get the debug symbols in /scratch binaries?
> 
> So far I can just show:
> [New LWP 100764]
> Core was generated by `/usr/bin/fetch -Fpr -S 3405355
> http://distcache.FreeBSD.org/ports-distfiles/free'.
> Program terminated with signal SIGSYS, Bad system call.
> #0  0x00000008003c1bca in ?? ()
> (gdb) bt
> #0  0x00000008003c1bca in ?? ()
> #1  0x000000080031d144 in ?? ()
> #2  0x000000080031d260 in ?? ()
> #3  0x0000000000000008 in ?? ()
> #4  0xb650b69b3fd03fb8 in ?? ()
> #5  0x00007fffffffdd40 in ?? ()
> #6  0x00007fffffffe64c in ?? ()
> #7  0x0000000800e1d000 in ?? ()
> #8  0x00000000002091e0 in ?? ()
> #9  0x00007fffffffdc80 in ?? ()
> #10 0x00007fffffffdc40 in ?? ()
> #11 0x000000080031d2f9 in ?? ()
> #12 0x0000000800e1d000 in ?? ()
> #13 0x00007fffffffdd40 in ?? ()
> #14 0x0000000000000000 in ?? ()
> 
> 
> Thank you! :-)
> Tomek
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?281e95ff-a1c2-c759-2918-783cb8edf1b7>