Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Cant build DuetWifiServer

    Scheduled Pinned Locked Moved
    Firmware installation
    2
    41
    6.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dc42undefined
      dc42 administrators
      last edited by

      I think you are using incompatible versions of the various GitHub projects. I am out of the office, but AFAIR you need to use the dev branches of the 3 projects.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      1 Reply Last reply Reply Quote 1
      • eBerlinundefined
        eBerlin
        last edited by

        ok , this makes sense , thank you.
        i tried to use the projects from the dev branches , and when i built the "duetWifiServerSocket" project, i got this error :

        Building target: DuetWiFiSocketServer.elf
        Invoking: Cross G++ Linker
        xtensa-lx106-elf-g++ -nostdlib -L"/Users/xxx/Workspace/c++/LwipESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/sdk/lib" -L"/Users/xxx/Workspace/c++/DuetWiFiSocketServer/src/ld" -TDuetWiFiSocketServer.ld -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read -Wl,-Map,DuetWiFiSocketServer.map -o "DuetWiFiSocketServer.elf" -Wl,--start-group /Users/xxx/Workspace/c++/CoreESP8266/Release/cores/esp8266/heap.o ./src/Connection.o ./src/HSPI.o ./src/Listener.o ./src/Misc.o ./src/SocketServer.o -lCoreESP8266 -lhal -lphy -lpp -lnet80211 -lLwipESP8266 -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc -Wl,--end-group
        /Users/xxx/Documents/Arduino/hardware/esp8266com/esp8266/tools/macosx/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: cannot find -lLwipESP8266
        collect2: error: ld returned 1 exit status
        make: *** [DuetWiFiSocketServer.elf] Error 1

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators
          last edited by

          Check that you have file libLwipESP8266.a in the Release folder within the LwipESP8266 project. That is the output file from building that project.

          I confirm that you need to use the dev branch of all 3 projects to build version 1.21.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • eBerlinundefined
            eBerlin
            last edited by

            hmm ok ,
            but i already use the dev branches for each of the 3 projects and i have a file named : "libLwipESP8266.a in the release folder of the LwipESP8266 project.

            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by

              In that case I suggest you check what the library path is set to in the linker settings for project DuetWiFiSocketServer, because that folder should be included in it.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              1 Reply Last reply Reply Quote 0
              • eBerlinundefined
                eBerlin
                last edited by

                0_1525255641221_Bildschirmfoto 2018-05-02 um 12.06.34.png

                do you mean this settings ?

                1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators
                  last edited by dc42

                  @eberlin said in Cant build DuetWifiServer:

                  xtensa-lx106-elf-g++ -nostdlib -L"/Users/xxx/Workspace/c++/LwipESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/sdk/lib" -L"/Users/xxx/Workspace/c++/DuetWiFiSocketServer/src/ld" -TDuetWiFiSocketServer.ld -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read -Wl,-Map,DuetWiFiSocketServer.map -o "DuetWiFiSocketServer.elf" -Wl,--start-group /Users/xxx/Workspace/c++/CoreESP8266/Release/cores/esp8266/heap.o ./src/Connection.o ./src/HSPI.o ./src/Listener.o ./src/Misc.o ./src/SocketServer.o -lCoreESP8266 -lhal -lphy -lpp -lnet80211 -lLwipESP8266 -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc -Wl,--end-group

                  Yes, that looks OK. Looking at your command line from one of your previous posts:

                  xtensa-lx106-elf-g++ -nostdlib -L"/Users/xxx/Workspace/c++/LwipESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/sdk/lib" -L"/Users/xxx/Workspace/c++/DuetWiFiSocketServer/src/ld" -TDuetWiFiSocketServer.ld -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read -Wl,-Map,DuetWiFiSocketServer.map -o "DuetWiFiSocketServer.elf" -Wl,--start-group /Users/xxx/Workspace/c++/CoreESP8266/Release/cores/esp8266/heap.o ./src/Connection.o ./src/HSPI.o ./src/Listener.o ./src/Misc.o ./src/SocketServer.o -lCoreESP8266 -lhal -lphy -lpp -lnet80211 -lLwipESP8266 -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc -Wl,--end-group

                  the settings concerned (in bold) look OK to me too. Did you check that the case of the letters in the actual output file in /Users/xxx/Workspace/c++/CoreLwipESP8266/Release was exactly correct? I build under Windows, so an error in the letter case wouldn't matter on my system.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  1 Reply Last reply Reply Quote 0
                  • eBerlinundefined
                    eBerlin
                    last edited by

                    should i search for a output file named : lLwipESP8266 in
                    /Users/xxx/Workspace/c++/CoreESP8266/Release ?
                    there is no such file. 0_1525258088670_Bildschirmfoto 2018-05-02 um 12.47.35.png

                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators
                      last edited by

                      Sorry, I meant /Users/xxx/Workspace/c++/LwipESP8266/Release.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      1 Reply Last reply Reply Quote 0
                      • eBerlinundefined
                        eBerlin
                        last edited by

                        ah ok , in this folder i got this files:

                        0_1525260216051_Bildschirmfoto 2018-05-02 um 13.22.53.png

                        1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators
                          last edited by

                          Looks like it's got the right file there, assuming that it is a sensible file and not zero length or something like that. I suggest you clean and rebuild project LwipESP8266. After that, if DuetWiFiSocketServer still won't link, try copying the libLwipESP8266.a file into one of the other library search directories, and/or ask for help with Eclipse and/or gcc.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          1 Reply Last reply Reply Quote 0
                          • eBerlinundefined
                            eBerlin
                            last edited by

                            i cleaned an rebuilt the project, and it still dont work. i also copied the file into some search directories, but it returned the same error ...

                            1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators
                              last edited by dc42

                              Wierd, it's finding -lCoreESP8266 but not -lLwipESP8266 which has a similar format and the same number of characters. Does the libLwipESP8266.a file look a sensible size, and does it have the correct date/time corresponding to when you built it? My copy of that file is 423 KB (433,816 bytes) long. Were any errors reported when you cleaned and built project LwipESP8266 ?

                              EDIT: for reference, this is what I get:

                              'Invoking: Cross G++ Linker'
                              xtensa-lx106-elf-g++ -nostdlib -L"C:\Eclipse\Firmware/LwipESP8266/Release" -L"C:\Eclipse\Firmware/CoreESP8266/Release" -L"C:\Eclipse\Firmware/CoreESP8266/sdk/lib" -L"C:\Eclipse\Firmware/DuetWiFiSocketServer/src/ld" -TDuetWiFiSocketServer.ld -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read -Wl,-Map,DuetWiFiSocketServer.map -o "DuetWiFiSocketServer.elf" -Wl,--start-group C:\Eclipse\Firmware/CoreESP8266/Release/cores/esp8266/heap.o ./src/Connection.o ./src/HSPI.o ./src/Listener.o ./src/Misc.o ./src/SocketServer.o -lCoreESP8266 -lhal -lphy -lpp -lnet80211 -lLwipESP8266 -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc -Wl,--end-group
                              'Finished building target: DuetWiFiSocketServer.elf'

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              1 Reply Last reply Reply Quote 1
                              • eBerlinundefined
                                eBerlin
                                last edited by

                                hello dc42,

                                the libLwipESP8266.a file have a size of : 433.796 Byte (434 KB);
                                the time is the same
                                and i got no errors when i cleaned the LwipESP8266 project.

                                my future goal is, that the printer send his data to a server, when he´s connected to the internet. this i why i want to build the DuetWifiServer and later update the code. is that the right way to do that?

                                1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators
                                  last edited by

                                  Maybe you should try putting your workspace at /Eclipse/Firmware instead of at /Users/xxx/Workspace/c++ in case either the path is too long or the + characters in your path are confusing Eclipse or ld ?

                                  I defined a message code connCreate in file MessageFormats.h for the Duet to send the WiFi module a command to open a TCP connection with a remote host, however file SocketServer.cpp has this:

                                  case NetworkCommand::connCreate: // create a connection
                                  // Not implemented yet

                                  So it would need to be implemented, then the Duet will be able to open remote connections.

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  eBerlinundefined 1 Reply Last reply Reply Quote 1
                                  • eBerlinundefined
                                    eBerlin
                                    last edited by

                                    i copied all three projects in this path : /Eclipse/Firmware and imported them into eclipse.
                                    but when i building the DuetWifiSocketServer , i got the same error :

                                    xtensa-lx106-elf-g++ -nostdlib -L"/Users/xxx/Workspace/c++/LwipESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/sdk/lib" -L"/Users/xxx/Workspace/c++/DuetWiFiSocketServer/src/ld" -TDuetWiFiSocketServer.ld -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read -Wl,-Map,DuetWiFiSocketServer.map -o "DuetWiFiSocketServer.elf" -Wl,--start-group /Users/xxx/Workspace/c++/CoreESP8266/Release/cores/esp8266/heap.o ./src/Connection.o ./src/HSPI.o ./src/Listener.o ./src/Misc.o ./src/SocketServer.o -lCoreESP8266 -lhal -lphy -lpp -lnet80211 -lLwipESP8266 -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc -Wl,--end-group
                                    /Users/xxx/Documents/Arduino/hardware/esp8266com/esp8266/tools/macosx/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: cannot find -lLwipESP8266
                                    collect2: error: ld returned 1 exit status
                                    make: *** [DuetWiFiSocketServer.elf] Error 1

                                    i deleted the old projects and cleaned everything. but the program uses the same path , why ...?

                                    1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators
                                      last edited by

                                      Did you try the Refresh option in the Project menu?

                                      Duet WiFi hardware designer and firmware engineer
                                      Please do not ask me for Duet support via PM or email, use the forum
                                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                                      1 Reply Last reply Reply Quote 1
                                      • eBerlinundefined
                                        eBerlin
                                        last edited by

                                        i refreshed and cleaned/rebuilt it now. but DuetWifiSocketServer tries to get this command from the old path again.
                                        i deleted the old projects from the harddrive and the program now says:

                                        error: /Users/xxx/Workspace/c++/CoreESP8266/Release/cores/esp8266/heap.o: No such file or directory

                                        1 Reply Last reply Reply Quote 0
                                        • dc42undefined
                                          dc42 administrators
                                          last edited by

                                          Suggestions:

                                          1. Check that the paths in the tool settings are all specified in terms of ${workspace_loc} and don't have an absolute path in them.

                                          2. I suggest you delete the .mk files in the output directories, to force them to be rebuilt. You may get an error the first time you build after that, but it should go away when you try the build again.

                                          Duet WiFi hardware designer and firmware engineer
                                          Please do not ask me for Duet support via PM or email, use the forum
                                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                                          1 Reply Last reply Reply Quote 1
                                          • eBerlinundefined
                                            eBerlin
                                            last edited by

                                            great thank you , i think the first point worked for me !

                                            i didnt delete the .mk files. should i ?

                                            i got this error now :

                                            /Library/Developer/CommandLineTools/usr/bin/make --no-print-directory post-build
                                            Generating binary
                                            "C:\Users\David\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.12/esptool.exe" -eo "C:\Users\David\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0/bootloaders/eboot/eboot.elf" -bo "/Eclipse/Firmware/DuetWiFiSocketServer/Release/DuetWiFiServer.bin" -bm dio -bf 40 -bz 4M -bs .text -bp 4096 -ec -eo "/Eclipse/Firmware/DuetWiFiSocketServer/Release/DuetWiFiSocketServer.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec
                                            /bin/sh: C:\Users\David\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.12/esptool.exe: No such file or directory
                                            make[1]: [post-build] Error 127 (ignored)

                                            but i already changed the path to the compiler . this is the default one . i changed it in : properties-->c/c++Build--> Settings

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA