I've got one user trying CheckBook tracker who got the following errors. Most is…
Tony Maro wrote 14 lines
I get the exact same error. Is the source available yet? I could try to build it on my machine and see if it works from a local build.

Mailing lists / lazarus / 2002-09
20 messages · 3 people ·
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
I've got one user trying CheckBook tracker who got the following errors. Most is…
I get the exact same error. Is the source available yet? I could try to build it on my machine and see if it works from a local build.
I've got one user trying CheckBook tracker who got the following errors. Most is expected... but it dies at
** ERROR **: file io-bmp.c: line 282 (DecodeHeader): assertion failed:
I know I didn't write any C code... lol
This happens when creating the about form which contains a TImage component (which is empty at creation - loaded from a file when form is shown).
Would this mean he didn't have pixbuf libraries installed? I thought the only thing needed was GTK+...
Thanks,
Tony
-----Forwarded Message-----
Yes, it's available:
http://members.telocity.com/~tonymaro/cbtracker-0.9.0-src.tar.gz
Michael A. Hess wroteI get the exact same error. Is the source available yet? I could try to build it on my machine and see if it works from a local build.
Thanks!
-Tony
I've got one user trying CheckBook tracker who got the following errors. Most is…
Mmm... I guess I had the advantage because I have Mandrake 8.2 and used Red Carpet to download PixBuf AFTER I downloaded Lazarus because I didn't already have it installed.
io-bmp.c is the Pixbuf Libraries read BMP file code.
Would this mean he didn't have pixbuf libraries installed?
No it means that he does, but loading failed internally.
I thought the only thing needed was GTK+...
No, until I finish code to manually load Bitmaps, Pixbuf is required. I have started this but I haven't had a lot of time to finish..
But I am guessing that Pixbuf is just one of his issues. He probably needs to update his glib, gdk, gtk, and gdk-pixbuf libaries(a newer gtk-pixbuf requires a newer gtk/gdk requires a newer glib.. DOH!)
I can't remember what version's were on 7.2, but I thought that the Pixbuf vs was 0.13 so he might at least upgrade that to 0.18, and probably GTK/GDK to 1.2.10, and Glib to 1.2.10 as well.
However I just dowloaded your program and got all the other errors he did, and though otherwise it seemed fine(barring the missing panel, which I am asuming you had removed in the version you uploaded because of the issues you were having) the source version gave me lots of errors. I tried deleting and recreating the lpi and I still got bizzarro problems. But I think that is something to do with lpi corruption or the like.
Andrew
Andrew
_________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com
That's what has me concerned.
don't let it, its a minor issue, really, as a result of a temporary gdk-pixbuf dependency. Once this code no longer requires gdk-pixbuf, it won't matter what version is installed
Simple, really. I just lloked through the notes and then the source tree of gdk-pixbuf. It looks like there were alignment problems in the io-bmp.c file in version prior to 0.13, and some more that weren't fixed until 0.15, there also may have been fixes in 0.16, but I started working with gdk-pixbuf in version 0.13, with only a few bitmaps that didn't work(it's been awhile so I don't remember what kind) and all problems dissapeared for me in 0.15, and the header we currently use was based on the gdk-pixbuf version 0.16 header from my old laptop, which at the time had (I believe) Mandrake 8.1 with Ximian( err. maybe helix?) installed. So basically most things should work on systems with 0.15 and higher, and all things should compile fine on 0.11 and higher, aka things compiled against 0.11 will work with >=0.11, and things compiled against 0.18 will work on >=0.11, however the bitmap code is broken on versions <0.15.
I hope I am making sense here. But basically regardless of your GTK version(>=1.2.1) and gdkpixbuf (>=0.11) all lazarus programs should work for stretcblt'ing etc, but for bitmap loading gdk-pixbuf >=0.15 is required for stable functionality. Preferably >=0.18 since that is what I am using so that is what I can debug with. If you were to recompile without gdk-pixbuf this error would go away, but all stretching and bitmap loading would do nothing.. the same as if you removed the bitmaps entirely(like what Tony has done in the exp. build) except that they will still be streamed in(so they still need to be present), they just won't be decoded and displayed.
Okay now.. I am going to make a suggestion to Tony I probably should have to begin with... but I am a dope... so, use Gimp to create pixmap(aka .xpm) versions of your bitmaps. This can be done by opening them in Gimp and save as, and select xpm from the file extension list, (and change the name extension to .xpm), Pixmap support is native in all supported versions of GTK, and don't use gdk-pixbuf for the loading process so it doesn't matter if the user has a broken version or not. so long as they have a version
=0.11
BTW I AM working on native support for DIB Sections in the GTK interface, it just requies that I do a lot of redesigning of Drawing code throughout the interface, so I am being carefull before I send in a Patch that will break everybody's build. Once it is in place, Bitmaps should load properly with or without gdk-pixbuf support enabled. Its just taking longer than I thought because Win32 design is STUPID!!!
Andrew
_________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com
On 25 Sep 2002 08:38:10 -0500 io-bmp.c is the Pixbuf Libraries read BMP file code. No it…
Yeah, I haven't worried about most of the GTK "warnings" that it throws
- I think it has something to do with creating labels and things in the form's ONCREATE instead of ONSHOW event. I'll address that once I get other things functional. It doesn't affect the operation of the program and only seems to occur when the form is created.
I have been having ongoing lpi issues (see my other post about lazarus crashing on load), but didn't have any on that source image... dunno on that.
Yes, I dumped the panel and have since put it back in now that it works again. I'm continuing to develop the scheduled bill pay features and anxiously awaiting being able to embed bitmap graphics into the form stream. It's going to be a graphically boring application until then ;-)
-Tony
On Wed, 25 Sep 2002 11:49:25 -0400 AFAIK, this is not true. the Pixbuf library itself…
0.19 version???? I can only find 0.18 on rpmfind or 2.0_0-2.0.6-8
If I try to upgrade to the 2.0_0-2 I get:
error: failed dependencies:
libglib-2.0.so.0 is needed by libgdk_pixbuf2.0_0-2.0.6-8mdk libgmodule-2.0.so.0 is needed by libgdk_pixbuf2.0_0-2.0.6-8mdk libgobject-2.0.so.0 is needed by libgdk_pixbuf2.0_0-2.0.6-8mdk libpng12.so.0 is needed by libgdk_pixbuf2.0_0-2.0.6-8mdk
That means to me it is using GTK 2 stuff.
If I try to upgrade to 0.18 I get:
error: failed dependencies:
gdk-pixbuf-loaders = 0.18.0-3mdk is needed by
libgdk-pixbuf2-0.18.0-3mdk
gdk-pixbuf = 0.11.0 is needed by gdk-pixbuf-devel-0.11.0-5mdk
The trying to load gdk-pixbuf-loaders I get:
libpng12.so.0 is needed by gdk-pixbuf-loaders-0.18.0-3mdk gdk-pixbuf-loaders = 0.11.0-5mdk is needed by gdk-pixbuf-0.11.0-5mdk gdk-pixbuf-loaders = 0.11.0-5mdk is needed by
gdk-pixbuf-gnomecanvas-0.11.0-5mdk
gdk-pixbuf-loaders = 0.11.0-5mdk is needed by
gdk-pixbuf-xlib-0.11.0-5mdk
So it appears to need another libpng and it looked like it was going to go on and on so I just decided to drop it for now. Loading the dev RPM gave me even more issues.
If you know of an RPM that takes care of the whole issue at once fine but I am going to wait until I upgrade to Mandrake 9. I have 8.2 but I might as well wait to do 9 now.
I've got one user trying CheckBook tracker who got the following errors. Most is…
I realized that when I say Andrews message about downloading it.
I have since downloaded it and didn't have any problems rebuilding the app from the source.
However it still fails with the error.
I checked and the version of pixbuf I have is 0.11. I am using Mandrake 8.1 and this was the included lib.
I am in the process of trying to get the 0.18 version to see if that makes a difference. I'll let you know.
----
Okay now.. I am going to make a suggestion to Tony I probably should have to begin with... but I am a dope... so, use Gimp to create pixmap(aka .xpm) versions of your bitmaps. This can be done by opening them in Gimp and save as, and select xpm from the file extension list, (and change the name extension to .xpm), Pixmap support is native in all supported versions of GTK, and don't use gdk-pixbuf for the loading process so it doesn't matter if the user has a broken version or not. so long as they have a version
=0.11
----
Well, I did that a long time ago for the splash, etc... it's the TBitBtn that's causing the crash. I converted it to a standard button and it worked afterwards. I really like my bitbtn's though, so I anxiously await non-reliance on pixbuf.
Thanks,
Tony
<<winmail.dat>>
On Wed, 25 Sep 2002 11:49:25 -0400 AFAIK, this is not true. the Pixbuf library itself…
Well here's what I have installed:
gdk-pixbuf-loaders 0.18.0-1.ximian.1
And matching...
libgdk-pixbuf-gnomecanvas1
libgdk-pixbuf-xlib2
libdgk-pixbuf2
libgdk-pixbuf2-devel
But the real question is why an app built on mine with those versions won't work on your machine. I wonder if the reverse is true...? If you rebuilt my app and sent the executable back, would I be able to run it?
-Tony
On Wed, 25 Sep 2002 11:49:25 -0400 AFAIK, this is not true. the Pixbuf library itself…
Tony Maro wroteDoes the app run, though?
It just prints the GTK errors which you addressed and then crashes on the io-bmp.c thingy.
This is JUST the executable without the graphics so you'll need the full package already to use this.
Yup. This took care of the GTK errors but I still crash the same as before.:-\
It's the TBitBtn that's causing the crash. I converted it to a standard button and it worked afterwards. I really like my bitbtn's though, so I anxiously await non-reliance on pixbuf.
Just to clarify here - TBitBtn is not causing the crash. It is an issue in older pixbuf's made apparent on account of my incomplete code. Arrgh I wish I had a test system, w/older libs. but I don't. IF I am correct this issue is caused by the little blip of garbage data(which is by the way a properly formatted BMP) in the lfm file on TBitBtn. So. If you
1.)turn of TBitmap.ReadStream by inserting an exit; right after begin,
and (if you aren't already)
2.)use LoadFromXPMFile in TBitmap.LoadFromFile instead of inherited
and then
3.) recompile Lazarus
Programs you make should work, because it never actually reads the BitBtn Glyph from resources.
I hope this works for you, as it is a simple if temporary fix. Sorry for all the bother.. but I did warn that the streaming portion was incomplete & very Dangerous. I just never thought about how it would affect TBitBtn's.
Andrew
_________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx
AFAIK, this is not true. the Pixbuf library itself only requires GTK+ 1.2.1 and higher, which is farely old. In addition to GTK it only requires 4 other standard installed libs :
libpng 1.0.3(version 1.0.5 came with RH 6.2)
zlib 1.1.3 (version included with RH 6.2)
libjpg v6b (version included with RH 6.2)
libtiff v3.4(version 3.5 came with RH 6.2)
which I also believe are farely old(based on rpmfind.net).
Any higher requirements are as a result of the installed versions on the RPM build system, so downloading the source and making your own should work fine without any extra depends.
BTW these version number requirements are based on the new 0.19 version source code.
Andrew
_________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com
Well that was painful.
I found what's killing CheckBook Tracker on older installs of PixBuf.
I just installed FPC / Lazarus on a Mandrake 8.0 for testing purposes (and documented what I did so I can update my howto page BTW)
I found that the sources would open and compile, but still wouldn't run
- same error. I then went to open the FrmAbout in the designer and boom! Lazarus crashed. I opened the source elsewhere and there's only one component on the entire form... a TBitBtn.
So there you have it - the presence of a TBitBtn on older PixBuf libraries bombs.
-Tony
On Wed, 25 Sep 2002 11:49:25 -0400 AFAIK, this is not true. the Pixbuf library itself…
Does the app run, though? The warnings at runtime I just figured out... it throws those if you set any properties of a component that you haven't set the parent for yet. Setting parent first followed by width, height, etc... cleans up the list of errors.
FYI: I've got another fresh install of Mandrake 8.2 with pretty standard package installs - it runs my original compiled app just fine. Just finished testing it.
I've created a custom test build here just to see what happens. Here's what I did:
The problem appears to be related to the creation of the FrmAbout. In fact, it happens during the creation process of that form. I was not using an oncreate event, so it's not directly my code. What I just did was delete the empty TImage component that was on the form and I now create the TImage at runtime in the onshow event (freeing in onclose) for the FrmAbout.
Now, that wouldn't answer the question of why it doesn't crash on the main form creation, because I've got two blank TImage's on it.
Anyway for any daring souls with free time, particularly those who have already been unable to run my app:
http://members.telocity.com/~tonymaro/cbtrack.tar.gz
This is JUST the executable without the graphics so you'll need the full package already to use this. Replace the exe from the the actual release. (I just realized since it's only one file I could have left off the tar, eh? LOL)
-Tony
0.19 version???? I can only find 0.18 on rpmfind or 2.0_0-2.0.6-8
new version just came out.. I wouldn't expect many packages to be released yet.
If you know of an RPM that takes care of the whole issue at once fine but I am going to wait until I upgrade to Mandrake 9. I have 8.2 but I might as well wait to do 9 now.
no what I am trying to say is make your own rpm package from the tar.gz file at the gnome ftp site. Assuming you have all the Gnome devel packages for your dist installed,(I am not sure of specific requirements). If you know for certain that you installed the devels packages, it should be easy to create and install an RPM. If you are going to upgrade to 9 soon don't bother but nonethless, I will give the steps.
Simply
1.)download from:
ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/0.19/gdk-pixbuf-0.19.0.tar.gz
2.)run rpmbuild -tb gdk-pixbuf*.19.tar.gz in the download directory
3.)install the resulting RPM packages(rpmbuild will list location at the bottom of all its output)
If you want to try this go for it, but as I said, if you don't have all the devels installed this won't work, and you'll end up in something of the same boat as before requiring who knows how many devel and depend packages for them.
If I had a spare system I could make you an RPM package in 2 minutes, but my current working system is RH 7.3, and so all my RPM's, and RPMlib are too new, so the resulting package would have a bunch of pointless depends too.
Andrew
_________________________________________________________________ Join the world�s largest e-mail service with MSN Hotmail. http://www.hotmail.com
I've got one user trying CheckBook tracker who got the following errors. Most is…
I am going to hold off on trying to upgrade my pixbuf stuff. It is a huge dependency list and I don't have the time right now to mess with upgrading all of the GTK stuff required. So I guess I can't evaluate the app yet.
However this is something to note. Since I am using a Mandrake 8.1 install it means that a much newer release of GTK is required to use Lazarus correctly as it now stands. :-\
On Wed, 25 Sep 2002 23:18:22 -0500 Just to clarify here - TBitBtn is not causing the…
I just updated my HOWTO on getting a fresh install of FPC / Lazarus running. I may have done things the hard way, so if someone has an easier way, let me know. I just know it works for me.
http://tony.maro.net/mod.php?mod=userpage&page_id=17
This steps you through downloading the FPC binaries and sources, getting it ready for a Lazarus install. I guess this is more of a HOWTO FPC than a HOWTO Lazarus, but once FPC works, Lazarus is a cinch.
-Tony
On Wed, 25 Sep 2002 11:49:25 -0400 AFAIK, this is not true. the Pixbuf library itself…
Tony Maro wroteOn Wed, 2002-09-25 at 13:14, Michael A. Hess wrote: But the real question is why an app built on mine with those versions won't work on your machine.
That's what has me concerned.
I wonder if the reverse is true...? If you rebuilt my app and sent the executable back, would I be able to run it?
That's another point. I do have pixbuf and everything required on my machine, it is just an earlier version. (0.11) It is obviously OK as far as Lazarus is concerned because I make nightly binaries with this machine.
So I downloaded your source and rebuilt it on my machine.
I still get the same error even though it should have been built against the libraries I have on my machine. I'm not sure what is going on.