[Lazarus] Building Lazarus with QT (was:Git mirror)

Giuseppe Luigi Punzi glpunzi at lordzealon.com
Mon Jun 29 15:25:09 CEST 2009


Hi Graeme, list...


> > 
> > When "git clone --depth 10 git://github.com/graemeg/lazarus.git"
> > finished, I did "git checkout -b work origin/upstream" inside lazarus
> > folder.
> > 
> > Now, I'm trying to build over QT, but this is other crazy history.
> 
> I'm not sure I understand the problem. OK, I did exactly the same as you
> now... to make sure my wiki instructions were correct.
> 
> $ cd /tmp
> $ git clone --depth 10 git://github.com/graemeg/lazarus.git
> 
> This cloned the Lazarus repository with 10 history items per branch or
> tag, and created a '/tmp/lazarus' directory
> 
> $ cd lazarus
> 
> By default, if you clone a repository, you end up inside the 'master'
> branch. As per the wiki, we actually want the 'upstream' branch. So,
> lets check that out and name our new branch 'work'.
> 
> $ git checkout -b work origin/upstream


Yes, I did it, but this wasn't a problem :P

> 
> All done! We now have the latest Lazarus (trunk) code. You can confirm
> this by running 'gitk --all' to see all the branch. You are at the
> yellow dot in the tree - right at the top. And you are equal to
> 'origin/upstream'.  See attached image.
> 
> OK, seeing that I don't know how to compile lazarus from the command
> line, I copied my old lazarus binary into our new directory so I can run
> the Lazarus IDE and compile our new version from there...


$ make clean all


> 
> $ cp /opt/lazarus/lazarus .
> $ ./lazarus --pcp=/tmp/lazarus_tmp_profile
> 
> I didn't want the new lazarus to screw with my "real" ~/.lazarus
> profile. As lazarus started up it complained that it couldn't find
> various packages. This is normal, so I just keep clicking on Ignore.
> 
> Now I go to "Environment > Options" and set the FPC Source path and
> click OK. Then I go to "Tools > Configure Build Lazarus" and select the
> "Advanced Build Options" tab.
> 
>  * I set all the items (radio buttons) to the Build action (middle radio
> buttons) except for the Examples I set to None.


I tried to follow the wiki instructions, and there, "Set LCL to "clean
+build" and everything else to "None" ".

With this instructions, The build finished instantly with an error I
don't remember, and can't reproduce now. Now, this, build succesfully
the LCL, but I can't get SQLDb and others pacakges.

Selecting all (but not examples) with Build&Clean, seems all goes fine,
until linking lazarus, where...:
.
.
Target OS: Linux for x86-64
Compiling lazarus.pp
Linking ../lazarus
/usr/bin/ld: warning: ../link.res contains output sections; did you
forget -T?
/home/glpunzi/git/lazarus/lcl/units/x86_64-linux/qt/qtwidgets.o: In
function `SETSELECTEDFILTER':
/home/glpunzi/git/lazarus/lcl/interfaces/qt//qtwidgets.pas:9668:
undefined reference to `QFileDialog_selectFilter'
/home/glpunzi/git/lazarus/lcl/units/x86_64-linux/qt/qtwidgets.o: In
function `GETFILTERS':
/home/glpunzi/git/lazarus/lcl/interfaces/qt//qtwidgets.pas:9713:
undefined reference to `QFileDialog_filters'
lazarus.pp(125,1) Error: Error while linking
lazarus.pp(125,1) Fatal: There were 1 errors compiling module, stopping
TMessagesView.CollectLineParts WARNING: 18<>12 SrcLine=lazarus.pp(125,1)
Fatal: There were 1 errors compiling module, stopping
TExternalToolList.Run
Exception: /home/glpunzi/git/lazarus/ide/lazarus.pp(125,1) Fatal: There
were 1 errors compiling module, stopping



> 
>  * I make sure "With Packages" is unchecked, because I want a nice small
> Lazarus IDE to start with and little dependencies.


Then how link for example the packages?


> 
>  * I set the "Lazarus director" to /tmp/lazarus/ just to make sure the
> executable ends up inside that directory and not inside the profile
> directory.
> 
>  * Now I click "build" and wait.....
> 
> Build was successful. I quit Lazarus IDE and restart it again, which now
> loaded the new Qt based Lazarus IDE. I confirmed this in the About
> dialog. See 2nd attached image.


Failed to me before :P


> 
> PS:
> To keep your repository up-to-date you can do the following (there are a
> few other methods as well, but the following is the easiest). While
> still inside the 'work' branch, you simply run the following...
> 
> $ git pull
> 
> 
> If there was updates available, git would tell you so. If so, you can
> rebuild your IDE as normal.


Thanks a lot.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20090629/26c68705/attachment-0004.html>


More information about the Lazarus mailing list