On 28.01.22 00:31, gene heskett wrote:
On Thursday, January 27, 2022 2:22:43 PM EST Steffen Möller wrote:
On 27.01.22 20:03, gene heskett wrote:
On Thursday, January 27, 2022 9:54:54 AM EST Steffen Möller wrote:
Fresh start!

Dear Gene,

I would like to catch the problem before you start building and also
exclude the possibility that somehow the code base of yours is
affected by your previous checkout - just because I cannot inspect
your machine from here. Once that was successful, yes, then this
can be optimized.

First thing is that the system needs to be truly updated, nothing
half-ish.
Remember Steffen, that this sd card was A, new, and b, written with
dd
using 2021-10-30-raspios-bullseye-armhf-full.img,

sd card then put in the pi and booted, after I had fixed the no
network problem by filling in the defaults for a static network by
putting my hosts file over the default, editing /etc/hostname to be
the same as the buster install it would replace, and filling in and
uncommenting the bottom of its /etc/dhcpcd.conf file to match the
buster net config. It was then booted, I assigned the country,
keyboard and other first boot things in raspi-config. rebooted, at
which point it ran the update/ upgrade stuff bringing it up to date
by upgrading 129 pkgs then.  The apt update/apt upgrade -y has been
done several more times, and just now replaced 5 python pkgs.

sudo apt dist-upgrade just returned:
=============================
pi@rpi4:/media/pi/workspace $ sudo apt dist-upgrade -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer

required:
    dctrl-tools dkms libfuse2 libxtables-dev
    raspberrypi-kernel-headers

Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
=============================
So it is, ANAICT, a fully uptodate bullseye install.

In the middle of that, I mounted the drive I had built a 5.16.2-rt19
kernel on and installed that, so a uname -a now returns:
===========================
Linux rpi4 5.16.2-rt19-rt19-v7l+ #3 SMP PREEMPT_RT Tue Jan 25
01:14:16
EST 2022 armv7l GNU/Linux
===========================
Almost as bleeding edge as has been announced on the linux-rt list.
I have since ran the first of my scripts to build master, then
scanned
the output for missing dependency's, installing those I spot in the
back trace.

I have not adjusted anything in the config, or debian directories of
this git clone which is of the raspberry/linux. I have been doing
this build since jessie days so I'm not new to this. At one point pi
stuff was being built on an odroid C2 at the buildbot, but crashed
several times a week and has been replaced with an rpi4 I believe,
same as this one.

I faintly recall having to do something for buster but at 87 yo I do
not recall what it was I had to do back then. And I have not noted
the build your own recipe in our wiki as having been updated since
wheezy, so it is, shall we say, a bit long in the tooth in 2022. :)

And the next missing dependency is "convert", and its a showstopper
for configure.
I was not aware of "convert". You have done everything just fine.

Please do

sudo apt update
that showed 5 pkgs could be upgraded which I did.

sudo apt -u dist-upgrade
see above

Anything surprising/weird/many packages listed? Then please tell me
or
continue with "yes".

Wherever you have the disk space please then do a
I have the space, its a 240gig SSD

git clone https://github.com/LinuxCNC/linuxcnc.git bullseye-linuxcnc
Will take an hour or more, my net connection is leisurely.

cd new-dir-name

python3 --version # should be more recent than 3.7
pi@rpi4:/media/pi/workspace $ python3 --version
Python 3.9.2

Please ping me again once you got to this stage.
And configure still bails out:
   checking for convert... none

configure: error: no convert, documentation cannot be built
You are two steps ahead :) I presume you ran

debian/configure

but just do it again, please, so I know what was done. The "uspace"
argument is the default, so just run as shown above.

We now have the debian/control file. This debian/control file declares
the packages that are required to run the package, but especially also
the packages that are required to build the package.

Now run

dpkg-buildpackage

and it will check that debian/control file to see if all packages are
indeed installed that need to be installed to build the packages.

When you invoke this now then it will fail (so I hope) because the
package "imagemagick" is missing which then also provides
/usr/bin/convert. There are likely other packages, too, that configure
would identify as missing if it was not already halting after checking
for "convert". So, dpkg-buildpacakge will list all the packages that
are missing. Please install those and then run dpkg-buildpackage
again.

LinuxCNC has a bit of a problem with interrupted builds. There is a
chance that dpkg-buildpackage fails because files existing that are not
in the original tarball. But we will get to that - now it is me who is
ahead of himself :)

Best,

Steffen
I installed imagemagick and all but one mesa util apt couldn't find, did
a make clean
dpkg-buildpackage invokes a cleaning itself. This should not be
required. In theory.
and reran configure,

Which configure? The ./configure ?  Maybe this works. Maybe not.
Configure takes options and for proper debian packages these need to be
set properly :) It is not magic, how it is done you can inspect in the
file debian/rules, which is derived from debian/rules.in by a call to
debian/configure.

Please do a

git reset --hard

which should bring you back to pristine master branch. Please also do a

git status

and remove any files that are listed as not tracked (there should not be
any, just to be sure).

Then start over with debian/configure (the debian one, not the one in
your working directory, which should now no longer exist since it was
generated). No need to directly invoke any configure or any make from
here on. The file debian/rules is a Makefile itself and knows how to
invoke the real Makefile. And that debian/rules file is invoked via
dpkg-buildpackage.

So, after debian/configure please run dpkg-buildpackage again and this
time it should complete. If not, well, then something is special on your
RPi platform. We'll get there, eventually.

Best,
Steffen


which didn't fuss about anything, then
fired off dpkg-buildpackage again which spat out its usual warnings from
strcopy for about 40 minutes before bailing out with this lengthy wall of
fuss:
=====================================
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::converter::arg_to_python<char const*>::arg_to_python(char
const* const&)':
/usr/include/boost/python/converter/builtin_converters.hpp:157: undefined
reference to `boost::python::converter::do_return_to_python(char const*)'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::dict::dict()':
/usr/include/boost/python/dict.hpp:89: undefined reference to
`boost::python::detail::dict_base::dict_base()'
/usr/bin/ld: objects/emc/task/taskclass.o: in function `_object*
boost::python::expect_non_null<_object>(_object*)':
/usr/include/boost/python/errors.hpp:45: undefined reference to
`boost::python::throw_error_already_set()'
/usr/bin/ld: /usr/include/boost/python/errors.hpp:45: undefined reference
to `boost::python::throw_error_already_set()'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::converter::arg_to_python<char const*>::arg_to_python(char
const* const&)':
/usr/include/boost/python/converter/builtin_converters.hpp:157: undefined
reference to `boost::python::converter::do_return_to_python(char const*)'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::api::const_item_policies::get(boost::python::api::object
const&, boost::python::api::object const&)':
/usr/include/boost/python/object_items.hpp:65: undefined reference to
`boost::python::api::getitem(boost::python::api::object const&,
boost::python::api::object const&)'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::api::const_attribute_policies::get(boost::python::api::object
const&, char const*)':
/usr/include/boost/python/object_attributes.hpp:74: undefined reference
to `boost::python::api::getattr(boost::python::api::object const&, char
const*)'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::converter::arg_to_python<char const*>::arg_to_python(char
const* const&)':
/usr/include/boost/python/converter/builtin_converters.hpp:157: undefined
reference to `boost::python::converter::do_return_to_python(char const*)'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::api::const_item_policies::get(boost::python::api::object
const&, boost::python::api::object const&)':
/usr/include/boost/python/object_items.hpp:65: undefined reference to
`boost::python::api::getitem(boost::python::api::object const&,
boost::python::api::object const&)'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::converter::extract_pointer<Task*>::extract_pointer(_object*)':
/usr/include/boost/python/extract.hpp:216: undefined reference to
`boost::python::converter::get_lvalue_from_python(_object*,
boost::python::converter::registration const&)'
/usr/bin/ld: /usr/include/boost/python/extract.hpp:216: undefined
reference to `boost::python::converter::get_lvalue_from_python(_object*,
boost::python::converter::registration const&)'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::converter::extract_pointer<Task*>::operator()() const':
/usr/include/boost/python/extract.hpp:231: undefined reference to
`boost::python::converter::throw_no_pointer_from_python(_object*,
boost::python::converter::registration const&)'
/usr/bin/ld: objects/emc/task/taskclass.o: in function `_object*
boost::python::expect_non_null<_object>(_object*)':
/usr/include/boost/python/errors.hpp:45: undefined reference to
`boost::python::throw_error_already_set()'
/usr/bin/ld: /usr/include/boost/python/errors.hpp:45: undefined reference
to `boost::python::throw_error_already_set()'
/usr/bin/ld: objects/emc/task/taskclass.o:(.ARM.extab+0xb4): undefined
reference to `typeinfo for boost::python::error_already_set'
/usr/bin/ld: objects/emc/task/taskclass.o:(.ARM.extab+0x1fc): undefined
reference to `typeinfo for boost::python::error_already_set'
/usr/bin/ld: objects/emc/task/taskclass.o: in function
`boost::python::converter::registration const&
boost::python::converter::detail::registry_lookup2<Task const
volatile>(Task const volatile& (*)())':
/usr/include/boost/python/converter/registered.hpp:100: undefined
reference to
`boost::python::converter::registry::lookup(boost::python::type_info)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::exception_handler::operator()
(boost::function0<void> const&) const'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::import(boost::python::str)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::objects::identity_function()'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::api::setitem(boost::python::api::object const&,
boost::python::api::object const&, boost::python::api::object const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::list_base::append(boost::python::api::object
const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::objects::stop_iteration_error()'
/usr/bin/ld: ../lib/libpyplugin.so.0: undefined reference to
`boost::python::exec_file(char const*, boost::python::api::object,
boost::python::api::object)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::converter::rvalue_from_python_stage2(_object*,
boost::python::converter::rvalue_from_python_stage1_data&,
boost::python::converter::registration const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::dict_base::keys() const'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::list_base::extend(boost::python::api::object
const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::handle_exception_impl(boost::function0<void>)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::list_base::list_base()'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::register_exception_handler(boost::function2<bool,
boost::python::detail::exception_handler const&, boost::function0<void>
const&> const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::str_base::str_base(boost::python::api::object
const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::str_base::join(boost::python::api::object const&)
const'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::objects::enum_base::export_values()'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::api::operator%(boost::python::api::object const&,
boost::python::api::object const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::converter::throw_no_reference_from_python(_object*,
boost::python::converter::registration const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::str_base::str_base(char const*)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::pytype_check(_typeobject*, _object*)'
/usr/bin/ld: ../lib/libpyplugin.so.0: undefined reference to
`boost::python::exec(char const*, boost::python::api::object,
boost::python::api::object)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::api::operator+(boost::python::api::object const&,
boost::python::api::object const&)'
/usr/bin/ld: ../lib/librs274.so.0: undefined reference to
`boost::python::detail::tuple_base::tuple_base(boost::python::api::object
const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [emc/task/Submakefile:37: ../bin/milltask] Error 1
make[2]: Leaving directory '/media/pi/workspace/bullseye-linuxcnc/src'
make[1]: *** [debian/rules:51: override_dh_auto_build-arch] Error 2
make[1]: Leaving directory '/media/pi/workspace/bullseye-linuxcnc'
make: *** [debian/rules:39: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit
status 2
=====================================

Next?


Cheers Steffen, Gene Heskett.


_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to