Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no match for max(unsigned long, _int64) #68

Closed
mr-c opened this issue Jan 24, 2016 · 2 comments
Closed

no match for max(unsigned long, _int64) #68

mr-c opened this issue Jan 24, 2016 · 2 comments

Comments

@mr-c
Copy link
Contributor

mr-c commented Jan 24, 2016

Hello all,

There is an experimental architecture with growing support in Debian called x32. While not yet official, all software is built for this port by default. During this a problem was found, though it doesn't affect the other official ports:

32-bit builds of snap-aligner that get past #812376 still fail:

  SNAPLib/SortedDataWriter.cpp:338:70: error: no matching function for call to 'max(long unsigned int, _int64)'
               min(1UL << 23, max(1UL << 17, bufferSpace / blocks.size()))); // 128kB to 8MB buffer space per block

So far, this error has only occurred on x32, but I expect *i386
builds will fail the same way.  I'd suggest including <stdint.h> and
substituting UINT64_C(1) for both occurrences of 1UL here.  Could you
please take a look?

I made a x32 bit chroot and tested the offered fix but it didn't work for me. This is out of my league, but I thought I'd mention it in the interest of completeness.

@bolosky
Copy link
Contributor

bolosky commented Jan 24, 2016

You’re trying to do a 32 bit version of SNAP?

That would have very limited utility, because SNAP’s index data structure is typically around 10 bytes/base of reference, which means that you’d run out of address space for references much bigger than 400M bases (not even counting all of the address space used by buffers, etc., and assuming that you can use the entire 32 bits for user processes, which may not may not be true for your OS).

Do you have applications in mind that will use a tiny reference? Because on the face of it, this doesn’t really make much sense to me.

--Bill

From: Michael R. Crusoe [mailto:notifications@github.com]
Sent: Sunday, January 24, 2016 6:59 AM
To: amplab/snap snap@noreply.github.com
Subject: [snap] no match for max(unsigned long, _int64) (#68)

Hello all,

There is an experimental architecture with growing support in Debian called x32https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fwiki.debian.org%2fX32Port&data=01%7c01%7cbolosky%40microsoft.com%7cb5f9ab4132734d7b3e4008d324cee088%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=tx%2fWjduyRT5X7lb1zER%2fnWdkX5oIHXDysqk7wVwq494%3d. While not yet official, all software is built for this port by default. During this a problem was foundhttps://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fbugs.debian.org%2fcgi-bin%2fbugreport.cgi%3fbug%3d812378%235&data=01%7c01%7cbolosky%40microsoft.com%7cb5f9ab4132734d7b3e4008d324cee088%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=cgm%2fiHgc46cHKoAvJAr39kzTcyP4ejK7fDh8db6JFDs%3d, though it doesn't affect the other official ports:

32-bit builds of snap-aligner that get past #812376 still fail:

SNAPLib/SortedDataWriter.cpp:338:70: error: no matching function for call to 'max(long unsigned int, _int64)'

           min(1UL << 23, max(1UL << 17, bufferSpace / blocks.size()))); // 128kB to 8MB buffer space per block

So far, this error has only occurred on x32, but I expect *i386

builds will fail the same way. I'd suggest including <stdint.h> and

substituting UINT64_C(1) for both occurrences of 1UL here. Could you

please take a look?

I made a x32 bit chroot and tested the offered fix but it didn't work for me. This is out of my league, but I thought I'd mention it in the interest of completeness.


Reply to this email directly or view it on GitHubhttps://github.com//issues/68.

@mr-c
Copy link
Contributor Author

mr-c commented Jan 24, 2016

32 bit version isn't a personal concern of mine; but was auto-attempted by Debian's build infrastructure; I'm just the messenger here :-)

Since it isn't a good fit for this package I'll see if I can disable the build.

For your leisure time reading, here is more on the x32 platform: https://wiki.debian.org/X32Port

@mr-c mr-c closed this as completed Feb 1, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants