Shop OBEX P1 Docs P2 Docs Learn Events
PZST - an open-source Propeller IDE in development [ Version 1.0.1 released! ] - Page 6 — Parallax Forums

PZST - an open-source Propeller IDE in development [ Version 1.0.1 released! ]

123468

Comments

  • SSteveSSteve Posts: 808
    edited 2011-05-04 20:09
    I fixed my compile issues.

    1) I copied version_tpl.h to the PZST-build-desktop directory

    2) I made the following change to src.pro:
    !macx:touch_version_h.commands = cat version_tpl.h > version.h ; echo -n // >> version.h ; date --rfc-2822 >> version.h
    macx:touch_version_h.commands = cat version_tpl.h > version.h ; /bin/echo -n // >> version.h ; date >> version.h
    

    I had to prepend the path to echo because the built-in version doesn't accept the -n option.

    The compile process currently doesn't update the copy of version.h in the development directory, only in the PZST-build-desktop directory. Is that intentional?
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-07 02:36
    Updated search engine is now functional. The only final touch left is to make it to use sub-expressions from search query in replacement strings. When it is done, I'll start building first binary release. I will be making Windows installer and Debian (and possibly Ubuntu) package. I am also hoping for help from SSteve in making OS X binary.

    BTW - Steve, I have removed all that version.h stuff - it's not worth the troubles.
  • Heater.Heater. Posts: 21,230
    edited 2011-05-07 02:38
    Well done Andrey. I really like this.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-05-07 03:14
    Andrey: Looking forward to trying PZST :)
  • SSteveSSteve Posts: 808
    edited 2011-05-07 10:59
    I'll be happy to make the OS X binary. Qt has a tool called macdeployqt that copies the Qt frameworks into the application bundle and creates a dmg file for distribution. I'll give it a try and see if it makes a program that I can run on my Macs that don't have Qt installed.

    In my version of spincompiler.cpp I have the line
    QString altExe = "/usr/local/bin/bstc.osx";
    
    because QProcess is still not using my entire search path to look for the bstc executable.

    The Autocomplete key command is back to Command+Space and that won't work on the Mac.

    The bundle identifier for the program is "com.yourcompany.pzst". So PZST's preferences are stored in ~/Library/Preferences/com.yourcompany.pzst.plist. It would be best to have "yourcompany" replaced with a real domain name. I've been searching the Qt documentation but haven't found out how to change that yet.

    I still have to use conditional compilation to remove the undefined baud rate symbols in eserialport_posix.cpp in order to compile. Here's a diff of my version: eserialport_posix.cpp.diff.zip
  • rosco_pcrosco_pc Posts: 464
    edited 2011-05-07 23:59
    In order to compile PZST under Archlinux I needed to add '/usr/include/dbus-1.0/' to the INCLUDEPATH. This allows dbus.h to be found.
    (opening a new issue on code.google.com failed for me, that's why I report it here).
  • tdeyletdeyle Posts: 85
    edited 2011-05-08 17:04
    Having an issue with compiling the latest build:
    g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 -I. -I. -o spineditor.o spineditor.cpp
    spineditor.cpp: In member function ‘virtual void PZST::SpinEditor::replaceInTarget(QString)’:
    spineditor.cpp:486: error: ‘replaceSelectedText’ was not declared in this scope
    make[1]: *** [spineditor.o] Error 1
    make[1]: Leaving directory `/home/tdeyle/proggies/pzst-read-only/src'
    make: *** [sub-src-make_default] Error 2
    

    As it states, 'replaceSelectedText' is not declared.
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-08 17:49
    tdeyle, use a newer version of QScintilla (2.5.1)
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-10 05:35
    Today I have successfully built my first Debian package. Windows installer will be done with InstallJammer - I have been using it to deploy Qt applications on Windows. Deployment on OS X is described here : http://doc.qt.nokia.com/latest/deployment-mac.html

    The only tasks to complete before first release are the user manual (in progress) and possibly some minor issues on OS X.
  • SSteveSSteve Posts: 808
    edited 2011-05-19 11:45
    I'm getting a linker error in r81. I'm at work and don't have time to troubleshoot right now. I'm posting this just in case it's an easy fix on your end:
    Undefined symbols:
      "PZST::Preferences::valueChanged(QString, QString, QVariant)", referenced from:
          PZST::Preferences::emitValueChanged(QString, QString, QVariant)in pzstpreferences.o
      "vtable for PZST::Preferences", referenced from:
          PZST::Preferences::~Preferences()in pzstpreferences.o
          PZST::Preferences::~Preferences()in pzstpreferences.o
          PZST::Preferences::Preferences()in pzstpreferences.o
    ld: symbol(s) not found
    
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-05-19 12:55
    What version of GCC does PZST require? Will it compile with other C compilers (or if C++ other C++ compilers)? Does it contain any asm? Depending on the answers I would like to port it to Amiga OS, Atari TOS+MiNT, Mac OS (7.1 through 8.5), and (big maybe on this one) GSOS.
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-05-19 12:57
    Oh almost forgot, the most important question:
    Do you use any templates (if C++)?
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-19 14:09
    SSteve wrote: »
    I'm getting a linker error in r81.

    It's always a good Idea to do "Clean project" and "Run qmake" after updating the source
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-19 14:12
    What version of GCC does PZST require? Will it compile with other C compilers (or if C++ other C++ compilers)? Does it contain any asm? Depending on the answers I would like to port it to Amiga OS, Atari TOS+MiNT, Mac OS (7.1 through 8.5), and (big maybe on this one) GSOS.

    The question is actually not about PZST, but about Qt. Does it work on said systems?
    Oh almost forgot, the most important question:
    Do you use any templates (if C++)?

    Yes.
  • SSteveSSteve Posts: 808
    edited 2011-05-19 16:53
    It's always a good Idea to do "Clean project" and "Run qmake" after updating the source

    I've been doing a "Clean project". I assumed that took care of the "Run qmake" step, but apparently not because now it compiles. I do get a number of warnings, but I suppose that's to be expected with in-development software.
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-19 17:27
    Yes, I'll be cleaning that up before release
  • SSteveSSteve Posts: 808
    edited 2011-05-20 20:23
    Hi, Andrey:

    I tried compiling and running 02-PropForth.spin from the PropForth 4.0a project with PZST. It compiles, but runs into an error while programming the EEPROM. I tried it with bst and it works fine. Can you give it a try under Windows and Linux and see if you run into any problems?

    Here's the page with the download link:
    http://code.google.com/p/propforth/downloads/detail?name=Propforth4.0a-20101218.zip
  • Heater.Heater. Posts: 21,230
    edited 2011-05-20 20:34
    davidsaunders,

    If your target platform has a C++ compiler you can get the Qt sources and recompile them for that platform. After that building PZST would be easy.
    However you will probably have a lot of work to do adapting Qt to you targets display system, sorting out keyboard, mouse etc etc.

  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-05-20 20:42
    Andrey:
    Thank you for the responce. Unfortunately this means that I will not be doing porting, or learning QT at this time.

    The reason that I asked in the way I did is it should be simple to replace most toolkit calls with system native calls IF and only if they (and the rest of the app) are written in a non-OO languages, with a bit more difficulty could for C++ IF no templates were involved.
  • Heater.Heater. Posts: 21,230
    edited 2011-05-20 20:57
    davissaunders,

    Of course your problems don't end with getting PZST to run on those platforms.

    PZST relies on external programs to compile the Spin and load it to the Prop. Currently BradC's BSTC and BSTL. So first you need working versions of those on your target platforms. Or you need to create your own from scratch. BSTC and BSTL are written in Pascal if I understand correctly so a compatible dialect of Pascal would have to be available for the Platform. BradC has not open sourced either program and is unlikely to have the time and or hardware available to support so many platforms.

    Potentially PZST could also use HomeSpun as the compiler/loader. That is written in Java so you would need a Java VM for the target.

    Sad fact is that after all these years we still do not have an open source tool chain for the Prop (Excepting the Sphinx compiler that actually runs on the Prop and has some limitations). Happily this situation looks like it will be rectified as part of the efforts going on with "Parallax Semiconductors". I believe Roy Eltham is creating a Spin compiler in C or C++ that is intended to be open sourced.
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-20 22:30
    Heater. wrote: »
    Potentially PZST could also use HomeSpun as the compiler/loader. That is written in Java so you would need a Java VM for the target.

    It's .NET, not Java. On Linux, Mono is used to run .NET apps
  • Heater.Heater. Posts: 21,230
    edited 2011-05-21 01:06
    Sorry yes, C# not Java, I keep making that mistake. Despite the fact that last week I was checking that mono worked on my credit card sized ARM board and was thinking to check how HomeSpun runs there. I'll soon be building PZST for that ARM board so if it could possibly make use of HomeSpun that would be great:)

    Anyway, I doubt a mono run time is available for some or all of the platforms under discussion. Perhaps not Java either.
  • davidsaundersdavidsaunders Posts: 1,559
    edited 2011-05-21 06:50
    Heater:
    I whas only woried about a nice IDE for these OSes that is targeted at the prop languages. As far as BSTC goes I can run an emulator to use the win32 ver with DOS + HX32. As far as BSTL goes, I am going to have to replace it any way.

    To last comment:
    I have to write a Propeller loader for Mac OS 9.22 because my PC died, and my Macs will not run OS X 10.4 at all. This is alright with me as I do not realy like OS X, I was hoping that Copeland would be succeful, instead.
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-22 02:15
    SSteve wrote: »
    Hi, Andrey:

    I tried compiling and running 02-PropForth.spin from the PropForth 4.0a project with PZST. It compiles, but runs into an error while programming the EEPROM. I tried it with bst and it works fine. Can you give it a try under Windows and Linux and see if you run into any problems?

    Here's the page with the download link:
    http://code.google.com/p/propforth/downloads/detail?name=Propforth4.0a-20101218.zip

    That has been fixed. Common error - variable is not wade enough to hold the value. Before sending binary to bootloader, it is encoded. The resulting array is always bigger than binary - ratio is from 8/5 to 8/3, depending on the ratio of the number of zero and one bits in the binary - so the length of encoded array can exceed 65535 when binary is large enough - and variable storing the encoded array length was 16-bit unsigned. I've replaced it with 32-bit var - works fine now.
  • Jorge PJorge P Posts: 385
    edited 2011-05-22 10:35
    After reading this entire thread, I would like to give the binary a try on Windows XP SP3 when you publish it. Will I need a windows binary of Qt to run this?
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-22 10:44
    Most lkely, I will be including the Qt DLLs with the windows distribution (I'll have to check the license) - so the installer will be "all in one", no additional components needed. I've been doing this for Qt applications - but these were private projects, not publicly available
  • avsa242avsa242 Posts: 452
    edited 2011-05-22 12:17
    Andrey,
    Just found this a few days ago...looks like it's coming together nicely! As a KDE4 user, it'll be nice to have a Qt-based editor. I just checked out r99 though and it fails to build eserialport_nonosx.cpp. It looks like it depends on libhal unconditionally. Was this intended? I know I read a page or three back that you and SSteve were working on the serial port code for OSX, but for Linux I think hal has fallen out of favor, at least with the bigger distros. Whichever direction that goes though, thanks for starting this project!

    Cheers,
    Jesse
  • Heater.Heater. Posts: 21,230
    edited 2011-05-22 13:50
    I tried to build revision 99 on Debian.
    That gave me an error about a missing libhal.h. That went away with a quick "apt-get install libhal-dev"
    Now I have an error about a missing libdbus.h. Installing Debians libdbus-1-dev does not help as it puts the headers in /usr/include/dbus-1.0/dbus/ where they are not found.
    Messing around with that gives me some other missing header error so I have to give up for now.
  • Andrey DemenevAndrey Demenev Posts: 377
    edited 2011-05-22 15:53
    avsa242 wrote: »
    It looks like it depends on libhal unconditionally. Was this intended?
    Jesse - yes. libhal and libdbus are not linked with the application, the headers are only required to build - at runtime, an attempt is made to link those libraries, and if that fails, a fallback method for serial port detection is used, Later I may use another method for serial ports enumeration - I am open to suggestions. But for now that is it.
    Heater. wrote: »
    Installing Debians libdbus-1-dev does not help as it puts the headers in /usr/include/dbus-1.0/dbus/ where they are not found.
    Heater - can you post the build log? I am building on Debian, and have dbus.h in same location - builds just fine
  • Heater.Heater. Posts: 21,230
    edited 2011-05-23 01:26
    Attached is a build log showing a failure to find dbus/dbus.h whilst compiling eserialport_nonosx.cpp.

    I should mention that my Debian is whatever you get when you start out with an unstable lenny and do a dist upgrade. So it may not be in best condition.
Sign In or Register to comment.