Re: [Emc-developers] Error during make
OK, I see and understand that there more important stuff to do. So see this as closed. So I will make all my further development only in 2.7 and ask someone else to merge it to master. As machinekit is working fine on my laptop with RT Kernel, I will just wait till linuxcnc also offers a kernel for Jessie. Norbert Am 06.01.2016 um 18:25 schrieb Jeff Epler: > On Wed, Jan 06, 2016 at 05:55:42PM +0100, Niemand Sonst wrote: >> emc/rs274ngc/interp_remap.cc:200: error: ‘end’ is not a member of ‘std’ > I did verify that, unlike last time, std::end is missing on the Ubuntu > 10.04 machine I have access to (so it's not simply a missing header > again): > > $ cat std_end.cc > #include > const char c[]{1,2,3,4}; > auto p = std::end(c); > > [on ubuntu 10.04] > $ g++ -std=c++0x std_end.cc && echo success > std_end.cc:3: error: ‘end’ is not a member of ‘std’ > std_end.cc:3: error: unable to deduce ‘auto’ from ‘’ > > [on debian wheezy] > $ g++ -c -std=c++11 std_end.cc && echo success > success > > Use of std::end was introduced at commit e38ff45f16 to fix real (if > minor) technical debt; because the new code is type safe, if the > underlying type of the members missing, optional and so forth change so > that they cannot be initialized by the literal constant 0, it will be a > compiler error. Before my change, the type of these members did not > matter; they would be initialized to all-bits-zero which is undefined > behavior if they are later changed to some C++ types that are not "plain > old data". > > At this point I choose not to make any further efforts to fix master > branch support for Ubuntu 10.04. If someone else produces patches to do > this, I will do my best to evaluate them impartially, but as I have > explained I view the change as important and would not like to see it > simply reverted. > > Jeff > > -- > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
On Wed, Jan 06, 2016 at 05:55:42PM +0100, Niemand Sonst wrote: > emc/rs274ngc/interp_remap.cc:200: error: ‘end’ is not a member of ‘std’ I did verify that, unlike last time, std::end is missing on the Ubuntu 10.04 machine I have access to (so it's not simply a missing header again): $ cat std_end.cc #include const char c[]{1,2,3,4}; auto p = std::end(c); [on ubuntu 10.04] $ g++ -std=c++0x std_end.cc && echo success std_end.cc:3: error: ‘end’ is not a member of ‘std’ std_end.cc:3: error: unable to deduce ‘auto’ from ‘’ [on debian wheezy] $ g++ -c -std=c++11 std_end.cc && echo success success Use of std::end was introduced at commit e38ff45f16 to fix real (if minor) technical debt; because the new code is type safe, if the underlying type of the members missing, optional and so forth change so that they cannot be initialized by the literal constant 0, it will be a compiler error. Before my change, the type of these members did not matter; they would be initialized to all-bits-zero which is undefined behavior if they are later changed to some C++ types that are not "plain old data". At this point I choose not to make any further efforts to fix master branch support for Ubuntu 10.04. If someone else produces patches to do this, I will do my best to evaluate them impartially, but as I have explained I view the change as important and would not like to see it simply reverted. Jeff -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
Hallo Jeff, you push solved that problem, but there is another error. In short: Compiling emc/rs274ngc/nurbs_additional_functions.cc Compiling emc/rs274ngc/interp_namedparams.cc Compiling emc/rs274ngc/interp_python.cc Compiling emc/rs274ngc/interp_remap.cc emc/rs274ngc/interp_remap.cc: In member function ‘int Interp::add_parameters(setup*, block*, char*)’: emc/rs274ngc/interp_remap.cc:200: error: ‘end’ is not a member of ‘std’ emc/rs274ngc/interp_remap.cc:201: error: ‘end’ is not a member of ‘std’ emc/rs274ngc/interp_remap.cc:202: error: ‘end’ is not a member of ‘std’ emc/rs274ngc/interp_remap.cc:203: error: ‘end’ is not a member of ‘std’ emc/rs274ngc/interp_remap.cc:204: error: ‘end’ is not a member of ‘std’ make: *** [objects/emc/rs274ngc/interp_remap.o] Fehler 1 (.virtualenv)emcmesa@emc-mesa:~/linuxcnc-org/src$ or with V=1 Flag: Compiling emc/rs274ngc/interp_remap.cc g++ -c -I. -Ilibnml/linklist -Ilibnml/cms -Ilibnml/rcs -Ilibnml/inifile -Ilibnml/os_intf -Ilibnml/nml -Ilibnml/buffer -Ilibnml/posemath -Irtapi -Ihal -Iemc/nml_intf -Iemc/kinematics -Iemc/tp -Iemc/motion -Iemc/ini -Iemc/rs274ngc -Iemc/pythonplugin -I/usr/realtime-2.6.32-122-rtai/include -I/usr/include/python2.7 -g -O2 -std=c++0x-DULAPI -g -Wall -Os -fwrapv -fPIC\ -MP -MD -MF "objects/emc/rs274ngc/interp_remap.d" -MT "objects/emc/rs274ngc/interp_remap.o" \ emc/rs274ngc/interp_remap.cc -o objects/emc/rs274ngc/interp_remap.o emc/rs274ngc/interp_remap.cc: In member function ‘int Interp::add_parameters(setup*, block*, char*)’: emc/rs274ngc/interp_remap.cc:200: error: ‘end’ is not a member of ‘std’ emc/rs274ngc/interp_remap.cc:201: error: ‘end’ is not a member of ‘std’ emc/rs274ngc/interp_remap.cc:202: error: ‘end’ is not a member of ‘std’ emc/rs274ngc/interp_remap.cc:203: error: ‘end’ is not a member of ‘std’ emc/rs274ngc/interp_remap.cc:204: error: ‘end’ is not a member of ‘std’ make: *** [objects/emc/rs274ngc/interp_remap.o] Fehler 1 Thanks for your help Norbert Am 03.01.2016 um 20:55 schrieb Jeff Epler: > use make V=1 to print the commands as they are executed. > > Hm, in my example program I made sure to include , but > isn't included in rs274ngc_interp.hh. > > I just pushed this change to master branch which may fix it: > > commit 18517a3ee9cffe35a27c12d14b314e77794459aa > Author: Jeff Epler> Date: Sun Jan 3 13:54:04 2016 -0600 > > task: include for std::nearbyint > > Signed-off-by: Jeff Epler > > diff --git a/src/emc/rs274ngc/interp_internal.hh > b/src/emc/rs274ngc/interp_internal.hh > index 6df90b1..f2eb3a9 100644 > --- a/src/emc/rs274ngc/interp_internal.hh > +++ b/src/emc/rs274ngc/interp_internal.hh > @@ -24,6 +24,7 @@ > #include "emcpos.h" > #include "libintl.h" > #include > +#include > > > #define _(s) gettext(s) > > -- > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers > -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
I got nearly the same on my machine, I just changed the commands to use the default g++ $ lsb_release -cr Release:10.04 Codename: lucid $ g++ -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5.1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) $ cat nbi.cc #include const auto i = std::nearbyint(3.14); $ g++ -std=c++0x -c nbi.cc && echo success success I have done that within the python 2.7 environment and with rip-environment So I do not understand why I get the error during make with master, but not with 2.7 Norbert Am 02.01.2016 um 23:03 schrieb Jeff Epler: > $ lsb_release -cr > Release:10.04 > Codename: lucid > $ g++-4.4 -v > Using built-in specs. > Target: i486-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Ubuntu > 4.4.3-4ubuntu5.1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared > --enable-multiarch --enable-linker-build-id --with-system-zlib > --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix > --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 > --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin > --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 > --with-tune=generic --enable-checking=release --build=i486-linux-gnu > --host=i486-linux-gnu --target=i486-linux-gnu > Thread model: posix > gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) > $ cat nbi.cc > #include > const auto i = std::nearbyint(3.14); > $ g++-4.4 -std=c++0x -c nbi.cc && echo success > success -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
My guess is that the environment is different between when it is compiling and at your desktop, and may be a pain to find. Try copy/pasting the line that is failing during the build and see if that will work. I doubt that it is "g++-4.4 -std=c++0x -c nbi.cc && echo success". This will let you know if there another problem (like std=c++0x not being set, or possibly the error being on a different line of code). Just a thought. EBo -- On Jan 3 2016 4:01 AM, Niemand Sonst wrote: > I got nearly the same on my machine, I just changed the commands to > use > the default g++ > > $ lsb_release -cr > Release:10.04 > Codename: lucid > > $ g++ -v > Using built-in specs. > Target: i486-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Ubuntu > 4.4.3-4ubuntu5.1' > --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr > --enable-shared --enable-multiarch --enable-linker-build-id > --with-system-zlib --libexecdir=/usr/lib --without-included-gettext > --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 > --program-suffix=-4.4 --enable-nls --enable-clocale=gnu > --enable-libstdcxx-debug --enable-plugin --enable-objc-gc > --enable-targets=all --disable-werror --with-arch-32=i486 > --with-tune=generic --enable-checking=release --build=i486-linux-gnu > --host=i486-linux-gnu --target=i486-linux-gnu > Thread model: posix > gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) > > $ cat nbi.cc > #include > const auto i = std::nearbyint(3.14); > > > $ g++ -std=c++0x -c nbi.cc && echo success > success > > I have done that within the python 2.7 environment and with > rip-environment > So I do not understand why I get the error during make with master, > but > not with 2.7 > > Norbert > > > Am 02.01.2016 um 23:03 schrieb Jeff Epler: >> $ lsb_release -cr >> Release:10.04 >> Codename: lucid >> $ g++-4.4 -v >> Using built-in specs. >> Target: i486-linux-gnu >> Configured with: ../src/configure -v --with-pkgversion='Ubuntu >> 4.4.3-4ubuntu5.1' >> --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs >> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr >> --enable-shared --enable-multiarch --enable-linker-build-id >> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext >> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 >> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu >> --enable-libstdcxx-debug --enable-plugin --enable-objc-gc >> --enable-targets=all --disable-werror --with-arch-32=i486 >> --with-tune=generic --enable-checking=release --build=i486-linux-gnu >> --host=i486-linux-gnu --target=i486-linux-gnu >> Thread model: posix >> gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) >> $ cat nbi.cc >> #include >> const auto i = std::nearbyint(3.14); >> $ g++-4.4 -std=c++0x -c nbi.cc && echo success >> success > > > > -- > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
On Jan 3 2016 5:42 AM, Niemand Sonst wrote: > Am 03.01.2016 um 12:08 schrieb EBo: >> "g++-4.4 -std=c++0x -c nbi.cc && echo >> success" > Is working fine on a terminal. OK. But when you are compiling whatever code has the nearbyint in it, what is the full command line to compile that? Can you copy/paste the exact error? You may have done it before, but I have deleted all the email chain. EBo -- -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
.. Compiling emc/usr_intf/xemc.cc Linking xlinuxcnc Compiling emc/task/emcsvr.cc Linking linuxcncsvr Compiling emc/motion/emcmotglb.c Compiling emc/task/emctask.cc In file included from emc/rs274ngc/rs274ngc_interp.hh:20, from emc/task/emctask.cc:29: emc/rs274ngc/interp_internal.hh: In function ‘int round_to_int(T)’: emc/rs274ngc/interp_internal.hh:44: error: ‘nearbyint’ is not a member of ‘std’ make: *** [objects/emc/task/emctask.o] Fehler 1 . I know there was a flag I can put to get more debug information, but I do not remember waht it was. Norbert Am 03.01.2016 um 14:10 schrieb EBo: > On Jan 3 2016 5:42 AM, Niemand Sonst wrote: >> Am 03.01.2016 um 12:08 schrieb EBo: >>> "g++-4.4 -std=c++0x -c nbi.cc && echo >>> success" >> Is working fine on a terminal. > OK. But when you are compiling whatever code has the nearbyint in it, > what is the full command line to compile that? Can you copy/paste the > exact error? You may have done it before, but I have deleted all the > email chain. > > EBo -- > > > -- > ___ > Emc-developers mailing list > Emc-developers@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-developers > -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
Am 03.01.2016 um 12:08 schrieb EBo: > "g++-4.4 -std=c++0x -c nbi.cc && echo > success" Is working fine on a terminal. Norbert -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
use make V=1 to print the commands as they are executed. Hm, in my example program I made sure to include , but isn't included in rs274ngc_interp.hh. I just pushed this change to master branch which may fix it: commit 18517a3ee9cffe35a27c12d14b314e77794459aa Author: Jeff EplerDate: Sun Jan 3 13:54:04 2016 -0600 task: include for std::nearbyint Signed-off-by: Jeff Epler diff --git a/src/emc/rs274ngc/interp_internal.hh b/src/emc/rs274ngc/interp_internal.hh index 6df90b1..f2eb3a9 100644 --- a/src/emc/rs274ngc/interp_internal.hh +++ b/src/emc/rs274ngc/interp_internal.hh @@ -24,6 +24,7 @@ #include "emcpos.h" #include "libintl.h" #include +#include #define _(s) gettext(s) -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
[Emc-developers] Error during make
Hallo, this could be an error due to my config! I installed python 2.7 under Ubuntu 10.04, this way and do run it in a virtualenv: -- # getting python 2.7 on Ubuntu 10.04 # add the repository to sources-list deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main # add the key ring sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C # update the packate list sudo apt-get update install python 2.7 sudo apt-get install python2.7 python2.7-dev # get the setuptools neded for virtual environment wget https://bitbucket.org/pypa/setuptools/raw/0.8/ez_setup.py # install it in the user dir python2.7 ez_setup.py --user # change to that dir, it might not be in path cd .local/bin # install the new pip version using python 2.7 ./easy_install-2.7 pip # install the virtualenv sudo ./pip2.7 install virtualenv # change back to home dit cd # make a dir to save the environments mkdir .virtualenv # change to that dir cd .virtualenv # make the environment (dont forget the dot at the end virtualenv --no-site-packages --python=python2.7 . # actiavte the environment and see that the cursor changed source bin/activate # type python --version and see if that is now 2.7 # to leave the environment just type deactivate # and to go back in: cd .virtualenv source bin/activate -- I the changed in the same terminal to my linuxcnc source directory (branch master) and did cd src make clean ./autogen.sh ./configure No error or warning till here!!! I type make and get an strange error: .. Compiling emc/usr_intf/xemc.cc Linking xlinuxcnc Compiling emc/task/emcsvr.cc Linking linuxcncsvr Compiling emc/motion/emcmotglb.c Compiling emc/task/emctask.cc In file included from emc/rs274ngc/rs274ngc_interp.hh:20, from emc/task/emctask.cc:29: emc/rs274ngc/interp_internal.hh: In function ‘int round_to_int(T)’: emc/rs274ngc/interp_internal.hh:44: error: ‘nearbyint’ is not a member of ‘std’ make: *** [objects/emc/task/emctask.o] Fehler 1 . IMO nearbyint is a member of std. See what gives python --version ... (.virtualenv)emcmesa@emc-mesa:~/linuxcnc-org/src$ python --version Python 2.7.6 (.virtualenv)emcmesa@emc-mesa:~/linuxcnc-org/src$ I could not see the error related to python, but why does the error pop up? I just changed the branch from master to 2.7 and in that case make went through without mistake! I am not jet able to run any GUI, because I miss some side pakates, but I can not see the differnce in make between 2.7 and master. Norbert -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
$ lsb_release -cr Release:10.04 Codename: lucid $ g++-4.4 -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5.1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu Thread model: posix gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) $ cat nbi.cc #include const auto i = std::nearbyint(3.14); $ g++-4.4 -std=c++0x -c nbi.cc && echo success success -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
On Jan 2 2016 1:45 PM, Jeff Epler wrote: > On Sat, Jan 02, 2016 at 07:27:58PM +0100, Niemand Sonst wrote: >> I type make and get an strange error: > [...] >> emc/rs274ngc/interp_internal.hh:44: error: ‘nearbyint’ is not a >> member of ‘std’ >> . >> >> IMO nearbyint is a member of std. > > Yes, std::nearbyint is specified in C++11, at least according to > http://en.cppreference.com/w/cpp/numeric/math/nearbyint > > On the one Ubuntu 10.04 system I have easy access to, I can't install > the build dependencies of linuxcnc, but this translation unit does > compile with "g++-4.4 -std=c++0x" or "g++-4.4 -std=gnu++0x": > > #include > const auto i = std::nearbyint(3.14); > > so either it's some local detail of your system or some additional > compiler flag that LinuxCNC has added. You can see full compiler > commandlines if you run make V=1 > > The call was added to LinuxCNC recently in the master branch after we > dropped support for 10.04, and so it was never tested on 10.04. g++-4.4? I thought C++11 support was not added until much later (like 4.7+). https://gcc.gnu.org/projects/cxx0x.html What is the compiler and stl versions on both machines? EBo -- -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers
Re: [Emc-developers] Error during make
On Sat, Jan 02, 2016 at 07:27:58PM +0100, Niemand Sonst wrote: > I type make and get an strange error: [...] > emc/rs274ngc/interp_internal.hh:44: error: ‘nearbyint’ is not a member of > ‘std’ > . > > IMO nearbyint is a member of std. Yes, std::nearbyint is specified in C++11, at least according to http://en.cppreference.com/w/cpp/numeric/math/nearbyint On the one Ubuntu 10.04 system I have easy access to, I can't install the build dependencies of linuxcnc, but this translation unit does compile with "g++-4.4 -std=c++0x" or "g++-4.4 -std=gnu++0x": #include const auto i = std::nearbyint(3.14); so either it's some local detail of your system or some additional compiler flag that LinuxCNC has added. You can see full compiler commandlines if you run make V=1 The call was added to LinuxCNC recently in the master branch after we dropped support for 10.04, and so it was never tested on 10.04. Jeff -- ___ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers