SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
In a recent post that I now can't find, somebody mentioned a problem with some software compiling and working correctly with 64-bit but not with 32-bit. I have run into that problem with some non stock Slackware software I'm compiling.
The problem is not correctly detecting large files, specifically DVD ISO images. The problem occurs only in the 32-bit build but detects those files correctly in the 64-bit build.
Although the problem could be a system library not having proper support for 64 bit variables, files, etc., I suspect I'm doing something wrong that causes the build process to fail to recognize large files in 32-bit systems.
I use separate and clean build environments for both the 32-bit and 64-bit builds. No multilibs. No cross contamination (that I am aware). Other than this peculiar problem, everything otherwise builds and functions correctly.
In my 32-bit build log output I notice the following:
checking size of long... 4
checking size of char *... 4
checking size of size_t... 4
checking size of unsigned long... 4
In my 64-bit log:
checking size of long... 8
checking size of char *... 8
checking size of size_t... 8
checking size of unsigned long... 8
Is there a way to control those sizes?
When I use the terms 32-bit and 64-bit I am referring to the build environment and not my hardware. All builds are performed on the same AMD 64-bit dual core CPU system.
In my 32-bit build log output I notice the following:
checking size of long... 4
checking size of char *... 4
checking size of size_t... 4
checking size of unsigned long... 4
In my 64-bit log:
checking size of long... 8
checking size of char *... 8
checking size of size_t... 8
checking size of unsigned long... 8
Is there a way to control those sizes?
Why on earth do you think those values are wrong?
A 32 bit pointer (char *) is 4 bytes long. A 64 bit pointer (char *) is 8 bytes long. A long is a minimum of 4 bytes but can be larger if the runtime supports it.
The problem is not correctly detecting large files, specifically DVD ISO images. The problem occurs only in the 32-bit build but detects those files correctly in the 64-bit build.
Try to be more specific than this, please. It makes no sense what you are telling here.
What are you trying to compile. Why is this compilation trying to find a DVD ISO? What are the error messages?
The problem is not correctly detecting large files, specifically DVD ISO images. The problem occurs only in the 32-bit build but detects those files correctly in the 64-bit build.
Maybe you need to add "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" in CFLAGS.
Last edited by Petri Kaukasoina; 09-26-2012 at 09:17 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.