Unknown command: -p

edited September 2020 in CuraEngine
Hi all,
This thread started under Repetier Host, but I think the issue lies with CuraEngine...

I am trying to get CuraEngine running on a Raspberry Pi 2.  I compiled and installed it in CuraEngine under plugins in Repetier.

Repetier is calling CuraEngine like this (and I have tried it from the command line and get the same results):
/home/pi/RepetierHost/plugins/CuraEngine/CuraEngine -p -v -c "/home/pi/.local/share/RepetierHost/cura.ini" -s posx=0 -s posy=0 -o "/home/pi/.local/share/RepetierHost/composition.gcode" "/home/pi/.local/share/RepetierHost/composition0.stl"

I get the following error:
[ERROR] Unknown command: -p
[ERROR] Command called:
[ERROR] /home/pi/RepetierHost/plugins/CuraEngine/CuraEngine [ERROR] -p [ERROR] -v [ERROR] -c [ERROR] /home/pi/.local/share/RepetierHost/cura.ini [ERROR] -s [ERROR] posx=0 [ERROR] -s [ERROR] posy=0 [ERROR] -o [ERROR] /home/pi/.local/share/RepetierHost/composition.gcode [ERROR] /home/pi/.local/share/RepetierHost/composition0.stl [ERROR] 

and then it goes into the usage

Any suggestions would be most welcome!

Comments

  • What version of CuraEngine are you using. The one bundled with host that works as expected is
    08:33:57.766 : <CuraEngine> Cura_SteamEngine version 15.01

    Which is the latest with that kind of configuration. Later versions are 100% incompatible.
  • edited September 2020
    I am unable to run CuraEngine --version or -v but the ChangeLog.md says:

    Changelog CuraEngine
    ====================




    - Feature: infill_wipe_dist. Add a travel move after an infill line in order to let it stick better to the walls.
    - Feature: Draft Protection Screen. A shell similar to the ooze shield providing protection from gusts of wind and acting similar to a heated chamber


    Release 15.06.01
    -----
  • edited September 2020
    Here is the output from ./CuraEngine -h (Note that -h is listed as a valid parameter):

    Cura_SteamEngine version master
    Copyright (C) 2020 Ultimaker

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    [ERROR] Unknown command: -h
    [ERROR] Command called:
    [ERROR] ./CuraEngine [ERROR] -h [ERROR]


    Can anyone tell me where to find CuraEngine 15.01?
  • I found that Release 4.5 from here:
    https://github.com/Ultimaker/CuraEngine/releases/tag/4.5.0
    is CuraEngine 15.0.6.1
  • I now have 15.0.6.1 installed in pluigins, but I am getting this error:

    pi@repetier:~/CuraEngine-4.5.0/build $ ./CuraEngine -p -v -c "/home/pi/.local/share/RepetierHost/cura.ini" -s posx=0 -s posy=0 -o "/home/pi/.local/share/RepetierHost/composition.gcode" "/home/pi/.local/share/RepetierHost/composition0.stl"

    Cura_SteamEngine version master
    Copyright (C) 2019 Ultimaker

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    [ERROR] Unknown command: -p
    [ERROR] Command called:
    [ERROR] ./CuraEngine [ERROR] -p [ERROR] -v [ERROR] -c [ERROR] /home/pi/.local/share/RepetierHost/cura.ini [ERROR] -s [ERROR] posx=0 [ERROR] -s [ERROR] posy=0 [ERROR] -o [ERROR] /home/pi/.local/share/RepetierHost/composition.gcode [ERROR] /home/pi/.local/share/RepetierHost/composition0.stl [ERROR]


  • It still states being too new. This from master branch might be the correct one:
    https://github.com/Ultimaker/CuraEngine/tree/15.06.03

  • OK, now I am having build errors (I guess my other libraries are too new):

    /usr/include/c++/8/bits/stl_uninitialized.h:76:9: note: parameter passing for argument of type ‘std::move_iterator<ClipperLib::IntPoint*>’ changed in GCC 7.1
    [ 17%] Building CXX object CMakeFiles/CuraEngine.dir/src/commandSocket.cpp.o
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp: In member function ‘void cura::CommandSocket::connect(const string&, int)’:
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:62:76: error: no matching function for call to ‘Arcus::Socket::registerMessageType(int, const Cura::ObjectList*)’
         d->socket->registerMessageType(1, &Cura::ObjectList::default_instance());
                                                                                ^
    In file included from /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:8:
    /usr/local/include/Arcus/Socket.h:73:22: note: candidate: ‘virtual bool Arcus::Socket::registerMessageType(const google::protobuf::Message*)’
             virtual bool registerMessageType(const google::protobuf::Message* message_type);
                          ^~~~~~~~~~~~~~~~~~~
    /usr/local/include/Arcus/Socket.h:73:22: note:   candidate expects 1 argument, 2 provided
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:63:82: error: no matching function for call to ‘Arcus::Socket::registerMessageType(int, const Cura::SlicedObjectList*)’
         d->socket->registerMessageType(2, &Cura::SlicedObjectList::default_instance());
                                                                                      ^
    In file included from /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:8:
    /usr/local/include/Arcus/Socket.h:73:22: note: candidate: ‘virtual bool Arcus::Socket::registerMessageType(const google::protobuf::Message*)’
             virtual bool registerMessageType(const google::protobuf::Message* message_type);
                          ^~~~~~~~~~~~~~~~~~~
    /usr/local/include/Arcus/Socket.h:73:22: note:   candidate expects 1 argument, 2 provided
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:64:74: error: no matching function for call to ‘Arcus::Socket::registerMessageType(int, const Cura::Progress*)’
         d->socket->registerMessageType(3, &Cura::Progress::default_instance());
                                                                              ^
    In file included from /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:8:
    /usr/local/include/Arcus/Socket.h:73:22: note: candidate: ‘virtual bool Arcus::Socket::registerMessageType(const google::protobuf::Message*)’
             virtual bool registerMessageType(const google::protobuf::Message* message_type);
                          ^~~~~~~~~~~~~~~~~~~
    /usr/local/include/Arcus/Socket.h:73:22: note:   candidate expects 1 argument, 2 provided
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:65:76: error: no matching function for call to ‘Arcus::Socket::registerMessageType(int, const Cura::GCodeLayer*)’
         d->socket->registerMessageType(4, &Cura::GCodeLayer::default_instance());
                                                                                ^
    In file included from /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:8:
    /usr/local/include/Arcus/Socket.h:73:22: note: candidate: ‘virtual bool Arcus::Socket::registerMessageType(const google::protobuf::Message*)’
             virtual bool registerMessageType(const google::protobuf::Message* message_type);
                          ^~~~~~~~~~~~~~~~~~~
    /usr/local/include/Arcus/Socket.h:73:22: note:   candidate expects 1 argument, 2 provided
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:66:81: error: no matching function for call to ‘Arcus::Socket::registerMessageType(int, const Cura::ObjectPrintTime*)’
         d->socket->registerMessageType(5, &Cura::ObjectPrintTime::default_instance());
                                                                                     ^
    In file included from /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:8:
    /usr/local/include/Arcus/Socket.h:73:22: note: candidate: ‘virtual bool Arcus::Socket::registerMessageType(const google::protobuf::Message*)’
             virtual bool registerMessageType(const google::protobuf::Message* message_type);
                          ^~~~~~~~~~~~~~~~~~~
    /usr/local/include/Arcus/Socket.h:73:22: note:   candidate expects 1 argument, 2 provided
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:67:77: error: no matching function for call to ‘Arcus::Socket::registerMessageType(int, const Cura::SettingList*)’
         d->socket->registerMessageType(6, &Cura::SettingList::default_instance());
                                                                                 ^
    In file included from /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:8:
    /usr/local/include/Arcus/Socket.h:73:22: note: candidate: ‘virtual bool Arcus::Socket::registerMessageType(const google::protobuf::Message*)’
             virtual bool registerMessageType(const google::protobuf::Message* message_type);
                          ^~~~~~~~~~~~~~~~~~~
    /usr/local/include/Arcus/Socket.h:73:22: note:   candidate expects 1 argument, 2 provided
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:68:77: error: no matching function for call to ‘Arcus::Socket::registerMessageType(int, const Cura::GCodePrefix*)’
         d->socket->registerMessageType(7, &Cura::GCodePrefix::default_instance());
                                                                                 ^
    In file included from /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:8:
    /usr/local/include/Arcus/Socket.h:73:22: note: candidate: ‘virtual bool Arcus::Socket::registerMessageType(const google::protobuf::Message*)’
             virtual bool registerMessageType(const google::protobuf::Message* message_type);
                          ^~~~~~~~~~~~~~~~~~~
    /usr/local/include/Arcus/Socket.h:73:22: note:   candidate expects 1 argument, 2 provided
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:72:22: error: ‘class Arcus::Socket’ has no member named ‘state’
         while(d->socket->state() != Arcus::SocketState::Closed && d->socket->state() != Arcus::SocketState::Error)
                          ^~~~~
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:72:74: error: ‘class Arcus::Socket’ has no member named ‘state’
         while(d->socket->state() != Arcus::SocketState::Closed && d->socket->state() != Arcus::SocketState::Error)
                                                                              ^~~~~
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:100:24: error: ‘class Arcus::Socket’ has no member named ‘errorString’
             if(!d->socket->errorString().empty()) {
                            ^~~~~~~~~~~
    /home/pi/CuraEngine-15.06.03/src/commandSocket.cpp:101:41: error: ‘class Arcus::Socket’ has no member named ‘errorString’
                 logError("%s\n", d->socket->errorString().data());
                                             ^~~~~~~~~~~
    make[2]: *** [CMakeFiles/CuraEngine.dir/build.make:97: CMakeFiles/CuraEngine.dir/src/commandSocket.cpp.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/CuraEngine.dir/all] Error 2
    make: *** [Makefile:130: all] Error 2

  • edited September 2020
    I downloaded Arcus from here:
    https://github.com/Ultimaker/libArcus/releases/tag/15.10
    CuraEngine (as suggested by @Repetier) from here:
    https://github.com/Ultimaker/CuraEngine/tree/15.06.03
    protobuf-3.13.0 from here:
    git@github.com:protocolbuffers/protobuf.git

    Here is the log:
    13:28:51.259 : Warning: Seems like we missed a ok, got a wait - continue sending.
    13:29:14.934 : CuraEngine command:/home/pi/RepetierHost/plugins/CuraEngine/CuraEngine -p -v -c "/home/pi/.local/share/RepetierHost/cura.ini" -s posx=0 -s posy=0 -o "/home/pi/.local/share/RepetierHost/composition.gcode" "/home/pi/.local/share/RepetierHost/composition0.stl"
    13:29:14.952 : Preferred name from fence-standoff3 to fence-standoff3
    13:29:15.021 : <CuraEngine> Cura_SteamEngine version DEV
    13:29:15.022 : <CuraEngine> Copyright (C) 2014 David Braam
    13:29:15.023 : <CuraEngine> This program is free software: you can redistribute it and/or modify
    13:29:15.024 : <CuraEngine> it under the terms of the GNU Affero General Public License as published by
    13:29:15.024 : <CuraEngine> the Free Software Foundation, either version 3 of the License, or
    13:29:15.025 : <CuraEngine> (at your option) any later version.
    13:29:15.026 : <CuraEngine> This program is distributed in the hope that it will be useful,
    13:29:15.026 : <CuraEngine> but WITHOUT ANY WARRANTY; without even the implied warranty of
    13:29:15.026 : <CuraEngine> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13:29:15.027 : <CuraEngine> GNU Affero General Public License for more details.
    13:29:15.027 : <CuraEngine> You should have received a copy of the GNU Affero General Public License
    13:29:15.028 : <CuraEngine> along with this program.  If not, see <http://www.gnu.org/licenses/>.
    13:29:15.028 : <CuraEngine> Unknown option: c
    13:29:15.028 : <CuraEngine> Warning: setting an unregistered setting posx
    13:29:15.029 : <CuraEngine> Warning: setting an unregistered setting posy
    13:29:15.029 : <CuraEngine> ERROR: Failed to load json file: fdmprinter.json
    13:29:15.029 : <CuraEngine> Loading /home/pi/.local/share/RepetierHost/cura.ini from disk...
    13:29:15.030 : <CuraEngine> Failed to load model: /home/pi/.local/share/RepetierHost/cura.ini
    13:29:15.031 : <CuraEngine> Unregistered setting speed_travel
    13:29:15.031 : <CuraEngine> Unregistered setting machine_end_gcode
    13:29:15.032 : <CuraEngine> maxObjectHeight : 0
    13:29:15.033 : <CuraEngine> Print time: 0
    13:29:15.033 : <CuraEngine> Filament: 0
    13:29:15.304 : Warning: Seems like we missed a ok, got a wait - continue sending.

    Looks like the -c option is not recognized?

    Looks like fdmprinter.json is missing?  Actually, I found it in the CuraEngine source folder.  I copied it to the RepetierHost/plugins/CuraEngine folder but it makes no difference.  From what I have read, Repetier should be passing it as an argument to CuraEngine.

    note that /home/pi/.local/share/RepetierHost/cura.ini exists

    NOTE When I remove the -c parameter and argument, it generates gcode
  • Looks much better but seems still too new. The correct version does not use protobuf - the problems started with switching communication to protobuf. Looking in my message with version it was 15.01 so this
    https://github.com/Ultimaker/CuraEngine/tree/15.01

    which is also not using protobuf.
Sign In or Register to comment.