Comicmaster

Requests go here. If you fill a request, give it a new thread in the appropriate category and then link to it in the request thread.
Message
Author
kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#21 Post by kumosan »

muggins wrote:Unfortunately it only got to 15%. Mainly I suspect because my qt4-4.3.2 is missing certain features. Which qt4 are you using?
Oh my, never expected that many problems. Never watched others 'over the shoulder' when they tried to compile ComicMaster. :cry:

QSharedPointer: No such file or directory....
This class was introduced in Qt 4.5.

You need Qt 4.6. Since this is the latest stable version, which is out since December 2009, I never expected problems here.

Don't use the .pro files. They are not supported anymore and will be removed soon.

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#22 Post by kumosan »

muggins wrote:You were right...qute a few files missing newlines. This time I used Qt4-4.6.2 ,from Slax, and cmake made it to 60%...before a whole bunch of linkage errors showed up! Might have another look in a day or so.
Could you quote them? Qt4-4.6.2 is fine. I suspect missing boost. 0066 had still some boost dependencies, which I removed in 0067. And please stop using anything before 0067... it is useless. :oops:

User avatar
battleshooter
Posts: 1378
Joined: Wed 14 May 2008, 05:10
Location: Australia

#23 Post by battleshooter »

Hi Kumosan,

Using .0067, at 16%:

Code: Select all

[ 16%] Building CXX object CMakeFiles/ComicMaster.dir/src/main.cpp.o
In file included from /root/ComicMaster/src/./KeyboardManager/../PluginCode/ComicDatabase/DatabaseCode/PageFrame.h:26,
                 from /root/ComicMaster/src/./KeyboardManager/PageHandler.h:26,
                 from /root/ComicMaster/src/main.cpp:24:
/root/ComicMaster/src/./KeyboardManager/../PluginCode/ComicDatabase/DatabaseCode/../../../PageManager/PageListManagerSingleton.h:28:7: error: no newline at end of file
make[2]: *** [CMakeFiles/ComicMaster.dir/src/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/ComicMaster.dir/all] Error 2
make: *** [all] Error 2
What do you think it is?
[url=http://www.murga-linux.com/puppy/viewtopic.php?t=94580]LMMS 1.0.2[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94593]Ardour 3.5.389[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94629]Kdenlive 0.9.8[/url]

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#24 Post by kumosan »

I wish I knew...
error: no newline at end of file
.. is usually only a warning. And though I activated -Werror and -Wall, which should give me all warnings and treat them as errors, I never get this. What version of gcc do you use?

Only thing I can do is add newlines. Strange, for newer files, and PageListManagerSingleton.h is newer, the editor should have done this automatically.

Problem is, I can easily search for strings and characters in my project, but searching for the absence.... :?

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#25 Post by muggins »

All these files need a newline added:

src/PageManager/PageListManagerSingleton.h
src/PluginCode/SingletonAccess.cpp
src/CommonCode/PreparedQuery.cpp
src/FileManipulator/FileSelectorDialog/FileSelectorButtons/FileSelectorVerifyAction.cpp
src/ControlCenter/SearchPlate/SearchThread.cpp
src/FileManipulator/FileSelectorDialog/FileSelectorComponents/BookmarkTableModel.cpp
src/FileManipulator/FileSelectorDialog/FileSelectorComponents/PathNavigator.cpp

Then it compiles OK for me using p431 & QT4-4.6.2. Now I just need to bodgy up a supporting, minimal, QT4.

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#26 Post by kumosan »

Those bastards....

From:
http://www.spinics.net/lists/gcchelp/msg16707.html
This is a long-standing complaint that usually results in people just
saying "fix your invalid source code" or "use a non-broken editor."
See PR14331 for some history. There have been patches suggested over
the years to add a -Wno-eof-newline option to disable the warning but
they never went in. However, earlier this year the discussion concluded
that it would be simpler just to remove the warning than to add an
option to disable it, and so if you use a recent 4.3 (mainline >=
2007-05-31) then you will no longer see the warning.
In other words, I can never see such a warning. However, you probably use an older gcc and get this warnings, which results due to the -Werror flag in an abort. I would hate to remove -Werror. This is one good method to keep code clean and warning free.

Can you edit the CMakeLists.txt files?

Change to line

Code: Select all

 ADD_DEFINITIONS( "-ansi -Werror -Wall -DQT_NO_DEBUG")
to

Code: Select all

 ADD_DEFINITIONS( "-ansi  -Wall -DQT_NO_DEBUG")

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#27 Post by kumosan »

muggins wrote:All these files need a newline added:

...

Then it compiles OK for me using p431 & QT4-4.6.2. Now I just need to bodgy up a supporting, minimal, QT4.
Thanks, muggins, I will fix the code. To bad, there is not even an option to switch on the old warning. :(

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#28 Post by kumosan »

Did it. :D

Fixed all the files muggins showed me. Here is the new version:
http://comicmaster.git.sourceforge.net/ ... 856;sf=tgz

Sorry, I cannot test it myself. I just don't get the warnings.

User avatar
battleshooter
Posts: 1378
Joined: Wed 14 May 2008, 05:10
Location: Australia

#29 Post by battleshooter »

Nice job man, I'll try and test it more thouroughly tomorrow, for now, I have an error:

Code: Select all

[ 61%] Building CXX object CMakeFiles/ComicMaster.dir/build/qrc_SQLite.cxx.o
Linking CXX executable bin/ComicMaster
/usr/local/Trolltech/Qt-4.6.3/lib/libQtCore.so: undefined reference to `inotify_init1@GLIBC_2.9'
/usr/local/Trolltech/Qt-4.6.3/lib/libQtCore.so: undefined reference to `pipe2@GLIBC_2.9'
/usr/local/Trolltech/Qt-4.6.3/lib/libQtNetwork.so: undefined reference to `accept4@GLIBC_2.10'
collect2: ld returned 1 exit status
make[2]: *** [bin/ComicMaster] Error 1
make[1]: *** [CMakeFiles/ComicMaster.dir/all] Error 2
make: *** [all] Error 2

I don't know if it's serious or easily fixed. I'll think about it more later. Just let you know where I'm at. I don't think it matters though, Muggins is already on the case and was able to compile it so there shouldn't be a problem.

Battleshooter
[url=http://www.murga-linux.com/puppy/viewtopic.php?t=94580]LMMS 1.0.2[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94593]Ardour 3.5.389[/url], [url=http://www.murga-linux.com/puppy/viewtopic.php?t=94629]Kdenlive 0.9.8[/url]

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#30 Post by kumosan »

Hmm, this does not look good at all. I forwarded you error message to the Qt mailinglist. I think it might be a too old glibc. Did you compile the Qt libs yourself, or did you download a binary package?

If you did not compile you Qt yourself, this would still be an option. Though I doubt that ComicMaster is actually worth that much effort.

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#31 Post by muggins »

kumosan & battleshooter,

I think we might need to put this in the "To Do in the Future" basket. Whilst it did compile OK, on p431 using QT4-4.6.2, when I tried running the package on Lupu it gave an error to the effect that it couldn't find sqlite. And I don't see the point in trying to compile different versions of programs for different puppy releases. Also, the minimal QT4 library package, for the compiled program to run, was of the order of 7Mbytes...it goes against the grain of puppy's mean & lean philosophy.

What do you think?

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#32 Post by muggins »

If the original requester, who I think had p431, or anyone else, is still interested, I could upload it somewhere for them to try.

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#33 Post by kumosan »

... when I tried running the package on Lupu it gave an error to the effect that it couldn't find sqlite.
Did you use the new 0067? 0066 had problems creating its config files, which are based on sqlite. This definitely is fixed on 0067.

If it still has sqlite problems, you could check 'ldd ComicMaster'. It should look like

Code: Select all

 libQtCore.so.4 => /usr/local/Trolltech/Qt/lib/libQtCore.so.4 
 libQtGui.so.4 => /usr/local/Trolltech/Qt/lib/libQtGui.so.4 
 libQtSql.so.4 => /usr/local/Trolltech/Qt/lib/libQtSql.so.4 
 libQtXml.so.4 => /usr/local/Trolltech/Qt/lib/libQtXml.so.4 
 libQtNetwork.so.4 => /usr/local/Trolltech/Qt/lib/libQtNetwork.so.4 
Also, the minimal QT4 library package, for the compiled program to run, was of the order of 7Mbytes...it goes against the grain of puppy's mean & lean philosophy.

Interesting. As I said, I am not a puppy user, so I don't know much about this distro. Can you use KDE 4 on puppy? If not ComicMaster really might be a bit overkill.

When it comes to simply reading a digital comic now an then, there are certainly better readers out there, e.g. QComicBook. ComicMaster's strength is the additional stuff. Functionality to manage comic collections. Rename image names in archives, remove/add/rotate/reorder pages. Compare two releases. Export comics as pdf or resize them for mobile readers. Limited default database support based on sqlite. Extensive, but largely untested postgreSQL database support as plugin.

ComicMaster was never intended to be mean & lean. So it really might strain certain distributions. I would not put it on a stick. Sorry. :D

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#34 Post by kumosan »

So, as expected the answer from the Qt guys:
Yes, the glibc you're using is older than the glibc that was used to build Qt.
You must either upgrade the glibc there or rebuild with this older glibc.

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#35 Post by muggins »

kumosan,

Yes I compiled v0067 successfully, for p431, but it wouldn't work for p501. It could be that I need to re-compile qt4...maybe I'll have another attempt later.

I wasn't saying that ComicMaster is too big. In short, I came to puppy because I was annoyed by the bloatware of windows, and puppy generally tends to favour small apps, and small support libraries. Often someone will ask if app xyz can be compiled, but when you look at the dependencies, they'll often be bigger, or of a similar size, to the basic puppy .iso! And QT4 is getting to the stage of bloatware.

kumosan
Posts: 14
Joined: Wed 28 Jul 2010, 14:07

#36 Post by kumosan »

muggins wrote:Often someone will ask if app xyz can be compiled, but when you look at the dependencies, they'll often be bigger, or of a similar size, to the basic puppy .iso! And QT4 is getting to the stage of bloatware.
I hear that from time to time. That Qt 4 is becoming bloatware. I disagree. Sure, Qt is not small, but in many situations it is all you need. I have worked on many projects. Some were open source, others were paid commercial projects. When those projects were based on Qt, Qt usually was the only dependency. No other non-standard libs necessary.
No further xml libs, no further database libs, no boost, no graphics libs.

Of course, the advantage of a lib exists only when there are many applications, which use the lib. Installing full Qt for a single app might feel a bit strange, but this certainly is not Qt's fault. :-)

As long as Qt stays modularized as it is now, I would not even call it bloat if it triples its size. There is even a tool, which is not build by default, (qconfig), which allows an even finer control what Qt compiles in and what not. For instance, if your program does not need certain language support, those languages can be 'switched off'. Or if you don't need QString, you can remove this class from Qt. The tool looks a bit like the Qt linux kernel config. Handles all the dependencies and tells you what else you would lose when you switch off feature 'xx'. This tool is mostly used for embedded projects.

You might have noticed, I love Qt. Always wince a bit when someone calls it bloated. ;-)

Post Reply