Comments (9)
Wow, that's a pretty fundamental problem to have. "LogMode" is defined in "filelog.h" which is like the second or third include at the very very top of zimodem.ino, so it should be one of the first things the compiler learns about, instead of something it has never heard of.
Sending the log file is helpful. But I don't see any missing include file errors, and your -Ddefines all look ok for what you are trying to build for. As for differences, you're using a more recent version of the libraries, and lwip2 instead of lwip, and you are pre-compiling a bunch of libraries that mine doesn't.
But that's the thing -- this is a pretty fundamental low-level problem -- namely not reading an existing header file, and giving no reason why. Can you move that include to the very very top of zimodem.ino and recompiling? I'm wondering what happens if you double-down on it (also, if there is some #define that is hiding it, this would fix that.
from zimodem.
Hey! Thanks for looking into this!
Here's the new debug log with the include of filelog.h moved all the way up. This time, he's complaining about File not naming a type:
'File' does not name a type
And these are lines 14-18 of my modified zimodem.ino, so you can check, I did everything correct:
limitations under the License.
*/
#include "filelog.h"
//#define TCP_SND_BUF 4 * TCP_MSS
#define ZIMODEM_VERSION "3.4"
What I will do for now is completely uninstalling everything arduino and reinstalling from scratch. I wouldn't bet on me not having f*cked up anything before... ;)
I'll report back when this did the trick and if I don't, the problem remains...
edit
Nope. Error remains the same with freshly installed IDE and ESP8266 Library.
from zimodem.
I just tried compiling on my Macbook (MacOS Mojave, v10.14):
- Downloaded and installed the IDE v1.8.7 from https://www.arduino.cc/en/Main/Software
- Added http://arduino.esp8266.com/stable/package_esp8266com_index.json to the boardmanager
- Installed the ESP8266 2.4.2 Community libs via boardmanager
- Replaced the installed libraries with the ones from https://github.com/esp8266/Arduino (I with and without this step - can you tell if this is still needed?)
- Set Board to "NodeMCU 1.0 (ESP-12E Module" and the Flashsize to 4M (3M SPIFFS), left all the rest at default.
- Hit "Verify" to compile
- Same error as always...
These are the same steps, I did on my windows machine, except on the macbook it's a guaranteed fresh install. I never had anything arduino installed on the macbook, so theres no way any old config is causing this.
BTW: It does compile the examples (e.g. the ESP8266 WifiWebServer example) just fine..
edit
Same issue with ZiModem v3.3... ..So I guess, it's some strange combination of something, I'm doing wrong but doesn't affect other sources.
update 18-11-09
Meanwhile, I tried using every version of the esp8266 libs from 2.2.0 to current, including all RCs, using lwip1 and lwip2, with no success. So I started trying older versions of your code and had some success!
I am able to compile your code up to d96c99d using v2.4.0rc1 of the esp8266 libs. (which is using lwip1..)
The next commit (59ee8d6) gives me a different error the the commit after that starts producing the "LogMode does not define a type" error for me. This is, when you introduced zlog.h and added to ZMode class to zmodem.ino..
Again: I'm so totaly stupid when it comes to arduino or cpp. So please excuse me, if I'm stating the obvious or total bullsh*t, but I'm desperate..! ;)
from zimodem.
I was able to compile zimodem under all the Arduino version up-to version 1.8.5.
Version 1.8.6 seems to be the version where the error started.
from zimodem.
Guess what: ME TOO! \o/
Thanks a lot for your help! I would've never come up with the idea of trying older versions of the IDE by myself..
from zimodem.
Launching 1.8.6 from the console with this command logs the output to a txt file.
(Your path is probably different!)
C:\Arduino\arduino-1.8.6>arduino_debug.exe > log-1.8.6.txt 2>&1
Running the same command from 1.8.5 gives us two files to compare. Not sure what we are looking for, but there seems to have been significant changes from 1.8.5 to 1.8.6 looking at https://github.com/arduino/Arduino
It might be time to put an issue to the Arduino group linking to this issue?
from zimodem.
Huh. Thanks johngeffe! I'll add this note to the build instructions in the README. Hell someday I may even try to figure out why that happens... :)
from zimodem.
First of all: Thank you Bo for this great firmware and thank you to maintaining the sources in public!
I have compiled the Zimodem firmware yesterday for my NodeMCU (v3 - I think the v3 is hopefully irrelevant for the following).
I wanted to report that I was able to use the currently latest Arduino IDE version 1.8.9 (on Ubuntu Linux 18.04). It seems to me that whatever issue occured when using Arduino IDE version 1.8.6 has now been resolved. I can't put my finger on it when or what was resolved but 1.8.9 does compile the firmware.
Instead of the development version of https://github.com/esp8266/Arduino I had a look at the recent releases of that project and there was a recent version 2.5.2 from spring 2019 that seemed to fresh enough (compared to 2018 master branch). So I threw the following URL into my Arduino IDE to be able to consume version 2.5.2:
https://github.com/esp8266/Arduino/releases/download/2.5.2/package_esp8266com_index.json
Using this I was able to build the firmware without issues. I choose the target device "Generic ESP8266 Module" (not sure if that was the best choice but it works).
I deployed the firmware using esptool because I have issues with firmware deployment inside of the Arduino IDE.
Note: The Zimodem firmware reports a version of 3.5.0 where the README here in the repo is still at 3.4.x.
I'm very happy now! :)
from zimodem.
I'm glad to hear things are working for you.
from zimodem.
Related Issues (20)
- 3.7 firmware and bbs host, echo enabled by default? HOT 3
- Can't compile: error: no return statement in function returning non-void [-Werror=return-type] HOT 3
- Feature request: additional user-provided HTTP headers and body for AT&G HOT 1
- Arduino sys/socket.h: No such file or directory HOT 3
- collect2.exe: error: ld returned 1 exit status HOT 2
- brand new compile, undefined reference HOT 5
- Prestel / Viewdata Terminal support HOT 1
- missing terminfo HOT 2
- build error, variables not declared in this scope (DEFAULT_DCD_HIGH) HOT 1
- RI (Ring Indicate) signal transition to quick HOT 1
- RS232_INVERTED confusion HOT 1
- Error during compliation HOT 1
- Help Command broken HOT 2
- Uploading Binary files HOT 2
- SPI input enhancement HOT 1
- does not support SGA HOT 1
- ESP32 - build successful but after reboot does not go beyond Init Complete HOT 1
- ATM needed HOT 2
- Add Phone Book Sorting HOT 1
- Amiga compatibility question HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zimodem.