Announcement

Collapse
No announcement yet.

Getting started with Kubuntu development.

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Re: Getting started with Kubuntu development.

    You started off on the right path with https://wiki.ubuntu.com/MOTU/GettingStarted. That URL lists a series of steps to becoming a Ubuntu/Kubuntu developer that begin by introducing you to packaging apps for Ubuntu/Kubuntu and ends with having your skills validated and applying for admission to the MOTU (Masters Of The Universe) developers group. (MOTU is not an arrogant name, it refers to the Universe repository).

    There is a YouTube Ubuntu developers channel containing instructional videos. The first is:
    http://www.youtube.com/watch?v=VyEl3w7SFK4

    That video begins by instructing you on how to load the proper development tools on your Kubuntu box. Before you do that let me recommend that you set aside a partition of your primary HD, or second HD, on which to install a fresh, fully updated version of Kubuntu, or as a VirtualBox guest OS. Use that fresh install as your development platform and install the tools shown in the first video in it. When you make a package you can copy it to your primary partition (or into another VirtualBox Kubuntu guest OS on your development partition) and test it.

    IF you decide that all you want to do is write applications for the KDE desktop some recommend KDevelop, but I recommend that you install the Qt sdk, which includes qtcreator. Qtcreator is a world class GUI RAD tool equal or better in power than MSVS C++. Qt SDK and Niokia Qt SDK are two different tools. You can get Qt SDK from http://qt.nokia.com/downloads/. Select the appropriate 32 or 64 bit version. IF you install Qt SDK you do not need to install anything from the repository. You can install the SDK in your home directory. When you run qtcreator from the bin directory under that install it sets up the appropriate libraries and file paths which don't conflict with any qt settings your distro uses for its proper operation. Qt SDK includes the designer (GUI dev tool), the assistant (Qt's fantastic API and other documentation, integrated) and the Linguist (the i18n tool). You can install Qt libraries for PostgreSQl or other databases from the repository. I recommend PostgreSQL.

    Or, you could download a handful of Qt4 dev files from the repository and achieve the same environment. I've used both methods and using the qt-sdk is easier because it is a one file install, is more up todate because you don't have to wait on the Ubuntu packagers to package it for the repository, and it includes an uninstall script (or you could just delete the install directory).

    I used QtCreator during the last four or five years before I retired. In 40 years of programming it is the best GUI RAD tool I ever used, and that includes MSVS C++.
    "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
    – John F. Kennedy, February 26, 1962.

    Comment


      #17
      Re: Getting started with Kubuntu development.

      Thanx GreyGeek - useful advice.

      Originally posted by GreyGeek
      You started off on the right path with https://wiki.ubuntu.com/MOTU/GettingStarted. That URL lists a series of steps to becoming a Ubuntu/Kubuntu developer that begin by introducing you to packaging apps for Ubuntu/Kubuntu and ends with having your skills validated and applying for admission to the MSoftware Consultant at OTU (Masters Of The Universe) developers group. (MOTU is not an arrogant name, it refers to the Universe repository).
      The path between two points is often not the shortest distance - esp when I'm learning a good deal of this for the first time. One stumbles around and eventually gets one's bearings. The stumbling around is, imo, important. (you learn a lot).

      There is a YouTube Ubuntu developers channel containing instructional videos. The first is:
      http://www.youtube.com/watch?v=VyEl3w7SFK4

      That video begins by instructing you on how to load the proper development tools on your Kubuntu box. Before you do that let me recommend that you set aside a partition of your primary HD, or second HD, on which to install a fresh, fully updated version of Kubuntu, or as a VirtualBox guest OS. Use that fresh install as your development platform and install the tools shown in the first video in it. When you make a package you can copy it to your primary partition (or into another VirtualBox Kubuntu guest OS on your development partition) and test it.
      I started with Windows 7 and first installed VirtualBox and put openSUSE and then Ubuntu into virtual machines. I had problems with developing in this way where it was often difficult to decide if the problem was linux or VirtualBox. Besides I wanted to see how well linux could do as my main desktop so I created a dual boot machine.

      I'm now sharing my Thundebird profile between the two boots and got Quicken working within wine (seemed messy but was do-able) so I feel optimistic about switching my main desktop to kubuntu.

      However I've blown my linux feet from out under me a number of times. As part of the exercise I've upgraded a 5400 rpm drive to a 500 GB 7200 rpm and so I have the room to have both the dual boot and a VirtualBox machine within (I guess either linux or) Windows so, while complicated, that might be a good next step.

      IF you decide that all I you want to do is write applications for the KDE desktop some recommend KDevelop, but I recommend that you install the Qt sdk, which includes qtcreator. Qtcreator is a world class GUI RAD tool equal or better in power than MSVS C++. Qt SDK and Niokia Qt SDK are two different tools. You can get Qt SDK from http://qt.nokia.com/downloads/. Select the appropriate 32 or 64 bit version. IF you install Qt SDK you do not need to install anything from the repository. You can install the SDK in your home directory. When you run qtcreator from the bin directory under that install it sets up the appropriate libraries and file paths which don't conflict with any qt settings your distro uses for its proper operation. Qt SDK includes the designer (GUI dev tool), the assistant (Qt's fantastic API and other documentation, integrated) and the Linguist (the i18n tool). You can install Qt libraries for PostgreSQl or other databases from the repository. I recommend PostgreSQL.
      I'll check out qtcreator. Visual Studio, imo, certainly has its drawbacks so I'm curious to see what the open source world has been able to create. I like KDE a lot (not the same thing, but I'm talking visual interfaces in general).

      You mention PostgreSQL (which I know and like). Is this coupled to qtcreator in some way or rather you mention it for what kind of role?

      Or, you could download a handful of Qt4 dev files from the repository and achieve the same environment. I've used both methods and using the qt-sdk is easier because it is a one file install, is more up todate because you don't have to wait on the Ubuntu packagers to package it for the repository, and it includes an uninstall script (or you could just delete the install directory).

      I used QtCreator during the last four or five years before I retired. In 40 years of programming it is the best GUI RAD tool I ever used, and that includes MSVS C++.

      Comment


        #18
        Re: Getting started with Kubuntu development.

        IF you decide that all I you want to do is write applications for the KDE desktop some recommend KDevelop, but I recommend that you install the Qt sdk, which includes qtcreator. Qtcreator is a world class GUI RAD tool equal or better in power than MSVS C++. Qt SDK and Niokia Qt SDK are two different tools. You can get Qt SDK from http://qt.nokia.com/downloads/. Select the appropriate 32 or 64 bit version. IF you install Qt SDK you do not need to install anything from the repository. You can install the SDK in your home directory. When you run qtcreator from the bin directory under that install it sets up the appropriate libraries and file paths which don't conflict with any qt settings your distro uses for its proper operation. Qt SDK includes the designer (GUI dev tool), the assistant (Qt's fantastic API and other documentation, integrated) and the Linguist (the i18n tool). You can install Qt libraries for PostgreSQl or other databases from the repository. I recommend PostgreSQL.
        I'll check out qtcreator. Visual Studio, imo, certainly has its drawbacks so I'm curious to see what the open source world has been able to create. I like KDE a lot (not the same thing, but I'm talking visual interfaces in general).

        You mention PostgreSQL (which I know and like). Is this coupled to qtcreator in some way or rather you mention it for what kind of role?
        duh - right. This (qt libraries for, say, postgres) is simply to integrate a database with the development environment (qtcreator).

        What thoughts do people around here have as regards Eclipse? I used Eclipse previously for python development and grew to like it.

        Comment


          #19
          Re: Getting started with Kubuntu development.

          Originally posted by patfla
          ......
          What thoughts do people around here have as regards Eclipse? I used Eclipse previously for python development and grew to like it.
          Well, from my point of view the whole purpose of a dev tool is to make my programming easier to do, so I can focus on my application and not have to putz with the tools to get them to do what I want. In that regard I'd recommend using what ever is comfortable and works best for YOU. The individual who was hired to take over the Qt4 based apps I wrote at the Dept of Revenue uses Eclipse. He tried QtCreator but felt more comfortable with Eclipse so he avoided the QtCreator learning curve and stayed with Eclipse. My son, who also worked with me and will formally accept the offer tended to him to become the head of the programming division of the department, said the fellow is doing very well using Eclipse. I asked specifically because I had tried Eclipse several years ago with Qt3/C++ and found it wanting. Apparently it is no longer wanting.

          But, before QtCreator was released, I grew to dislike the straight jacket MSVS C++ & XP put on me and moved the source to my Linux partition, where I edited the files with Kate and Qt4's designer, against PostgreSQ, and did my debugging with Kdbg . With that combination I could do up to five code-compile-test cycles a day, where MSVS C++ would allow me only two cycles because it was so slow. Typically, what took 20-25 minutes to compile with MSVS C++ took only 2 -5 minutes on Linux. With compiler defines my code automatically switched between the Linux and Windows environments and against PostgreSQL or Oracle. So when I was finished developing on Linux I'd move the source to Windows and recompile, then deploy the executable.

          Bottom line is that while some tools are more productive than others, a lot of the productivity depends more on the knowledge, skill and intelligence of the programmer and not the tools he/she uses. Also, unless you are developing your own application for inclusion into Kubuntu, what you will be doing initially is packaging apps and creating patches using debdiff. Your patches are submitted to the bzr repository manager for those apps. He or she will decide if your patches are included. That is when you develop your cred. So you will be installing bzr, a.k.a. Bazaar, which is a great VCS! Love it! It and all of its auxiliary apps are in the repository, especially bzr-explorer. It literally takes only 5 minutes to learn bzr.

          No matter which route you'll take it will be great fun! 8)
          "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
          – John F. Kennedy, February 26, 1962.

          Comment


            #20
            Re: Getting started with Kubuntu development.

            Hi. I downloaded and installed the qtcreator SDK (from Nokia) - very nice. For the moment
            though, that's further down the road.

            I have kubuntu running in VirtualBox and have returned to work on packaging:

            https://wiki.ubuntu.com/PackagingGuide/HandsOn

            I'm doing a hands-on. My current problem is #5 Update debian/changelog in section
            Example Debdiff

            Here's what breaks with the offending code in /usr/bin/dch and the perl version #

            Code:
            kde-devel@kubuntu-vm:~/xicc-0.2$ dch -i
            Can't locate lib.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/bin/dch line 42.
            BEGIN failed--compilation aborted at /usr/bin/dch line 42.
            kde-devel@kubuntu-vm:~/xicc-0.2$ grep -i "lib " -A 2 -B 2 /usr/bin/dch
            use File::Basename;
            use Cwd;
            use lib '/usr/share/devscripts/';
            use Devscripts::Debbugs;
            
            kde-devel@kubuntu-vm:~/xicc-0.2$ perl -v
            
            This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi
            
            Copyright 1987-2009, Larry Wall
            
            Perl may be copied only under the terms of either the Artistic License or the
            GNU General Public License, which may be found in the Perl 5 source kit.
            
            Complete documentation for Perl, including FAQ lists, should be found on
            this system using "man perl" or "perldoc perl". If you have access to the
            Internet, point your browser at [url]http://www.perl.org/[/url], the Perl Home Page.
            
            kde-devel@kubuntu-vm:~/xicc-0.2$
            It would appear that perl (5.10.1) is not properly understanding that it needs to find package Debbugs in
            /usr/share/devscripts/Devscripts - I checked and the file/module is there.

            Strange. Meaning I'm still mystified.

            Checked the synaptic package manager to see if I can roll back the version of my perl installation but I don't see that
            package manager lists older versions.

            Comment


              #21
              Re: Getting started with Kubuntu development.

              Can't locate lib.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/bin/dch line 42.
              BEGIN failed--compilation aborted at /usr/bin/dch line 42.
              you are probably missing some core components here in terms of packaging, and maybe perl. Does the file pm.lib exist in /usr/lib/perl/5.10? It does here for me on a fairly clean Lucid install, with only a few tools for compiling installed atm (but not for packaging). I only sporadically maintain one package, but I have never seen this error before running dch.


              ok, it looks like the package perl-base contains the missing 'lib.pm' you may be missing



              make sure you have build-essential, debhelper, and devscripts installed

              To get probably most is not all needed things to compile xicc, try this command:

              Code:
              sudo apt-get build-dep xicc

              Comment


                #22
                Re: Getting started with Kubuntu development.

                Thanx claydoh.

                Synaptic package manager told me that perl-base was installed but just to be sure
                I re-installed.

                And it worked (!). dch -i now runs. (apologize if I seem surprised).

                How does one search perl's PATH to find out where all its libraries are?

                Another question I've had for a while. How does one find the exact version number of a given library. I can
                see the leading version information in the filename but that's only the first part of the version information and
                it doesn't (I believe) give all the details.

                Comment


                  #23
                  Re: Getting started with Kubuntu development.

                  I have no clue about perl

                  The full packagename contains the version, for any type of thing, whether a lib or application

                  example:
                  packagename: kdelibs5
                  full package name: kdelibs5-4:4.4.4-0ubuntu1~lucid1~ppa1

                  4.4.4 is the version of the library (or libraries) in the package
                  0ubuntu1~lucid1~ppa1 relate to specific Ubuntu/Kubuntu package versioning

                  Comment


                    #24
                    Re: Getting started with Kubuntu development.

                    Originally posted by patfla
                    .....
                    ... and got Quicken working within wine (seemed messy but was do-able) so I feel optimistic about switching my main desktop to kubuntu.
                    .....
                    Just curious, have you looked at KMyMoney as a replacement for Quicken? You can import QIF and QFX files, among others.
                    "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
                    – John F. Kennedy, February 26, 1962.

                    Comment


                      #25
                      Re: Getting started with Kubuntu development.

                      Originally posted by GreyGeek
                      Originally posted by patfla
                      .....
                      ... and got Quicken working within wine (seemed messy but was do-able) so I feel optimistic about switching my main desktop to kubuntu.
                      .....
                      Just curious, have you looked at KMyMoney as a replacement for Quicken? You can import QIF and QFX files, among others.
                      AND it happens to be the one thing I figured out how to package The repo has the latest stable version (KDE3 based)

                      And this one has the slightly less stable KDE4 version

                      Comment


                        #26
                        Re: Getting started with Kubuntu development.

                        Originally posted by claydoh
                        And this one has the slightly less stable KDE4 version
                        What's the difference between the package there, and the one in your ppa:claydoh/kmymoney-kde-sc-4.4 repository, which contains:

                        kmymoney - 3.97.2-0ubuntu1~ppa1 (changes file) 2010-04-12 Published Lucid Kde All builds were built successfully.
                        The version number in ppa:claydoh/kmymoney-kde-sc-4.4 is 3.97.2
                        The version number in ppa:claydoh/kmymoney2-kde4 is 3.98.1.
                        Both are identified as packaged for Lucid.

                        I added your ppa:claydoh/kmymoney-kde-sc-4.4 repository and downloaded/installed 3.97.2. Is there any significant advantage to using the other repository, and using 3.98.1 instead?
                        Windows no longer obstructs my view.
                        Using Kubuntu Linux since March 23, 2007.
                        "It is a capital mistake to theorize before one has data." - Sherlock Holmes

                        Comment


                          #27
                          Re: Getting started with Kubuntu development.


                          I should clear that out, the kde-sc-4.4 is not the latest package (it was for KARMIC originally), I wasn't sure if a package built for "stock" Lucid (4.3.5) and qt 4.5 would run in 4.4.x. and qt 4.6 i also wasn't sure if it would work in Lucid's updated 4.4.x.

                          please use the -kde4 repo, latest version is always the best version for KMyMoney I will close the other one down

                          Also, it is safe to run both kde3 and kde4 versions at the same time, they use different rc files, though it isn't obvious which one is which in the menu entries

                          Comment


                            #28
                            Re: Getting started with Kubuntu development.

                            Thank you. I've uninstalled/removed KMyMoney, removed the ppa, added the recommended ppa, updated, and reinstalled KMyMoney.
                            Windows no longer obstructs my view.
                            Using Kubuntu Linux since March 23, 2007.
                            "It is a capital mistake to theorize before one has data." - Sherlock Holmes

                            Comment


                              #29
                              Re: Getting started with Kubuntu development.

                              Originally posted by claydoh
                              ...
                              The repo has the latest stable version (KDE3 based)
                              "KMyMoney 1.0" - version 1.04 for the KDE 3.5.10 release. I never bothered to look at its version number when I downloaded it, and I just checked it after I read your post. I've never had a problem with the repo version, but it will be interesting to try your KDE4 package.
                              "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
                              – John F. Kennedy, February 26, 1962.

                              Comment


                                #30
                                Re: Getting started with Kubuntu development.

                                Nice job, Claydoh! 8)

                                Runs great!
                                "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
                                – John F. Kennedy, February 26, 1962.

                                Comment

                                Working...
                                X