[GenABEL-dev] [genabel-Bugs][5299] Filevector doesn't work on big-endian architectures

Yurii Aulchenko yurii.aulchenko at gmail.com
Wed Apr 16 13:02:19 CEST 2014


Is that something for bug tracker or forum or a mix?

----------------------
Yurii Aulchenko
(sent from mobile device)

> On Apr 16, 2014, at 12:23 PM, "genabel-bugs at r-forge.r-project.org" <genabel-bugs at r-forge.r-project.org> wrote:
>
> Bugs item #5299, was changed at 2014-01-24 09:38 by Jurica Stanojkovic
> You can respond by visiting:
> https://r-forge.r-project.org/tracker/?func=detail&atid=2058&aid=5299&group_id=505
>
> Status: Open
> Priority: 2
> Submitted By: Lennart Karssen (lckarssen)
> Assigned to: Nobody (None)
> Summary: Filevector doesn't work on big-endian architectures
> Resolution: Accepted As Bug
> Operating System: All
> Severity: normal
> Hardware: Other
> Version: other
> Component: FileVector
> URL: https://buildd.debian.org/status/package.php?p=probabel
>
>
> Initial Comment:
> The Debian build logs for big-endian machines (see URL) show that the ProbABEL checks fail on machines with that architecture. Closer inspection reveals that the checks fail on the comparison between text and binary (filevector-format) input.
>
> Also see this discussion on the debian-mentor mailing list, especially Gert Wollny's posts: https://lists.debian.org/debian-mentors/2014/01/msg00326.html
> Wollny writes:
> "I dug around in the code and voila, e.g. in fvlib/frutil.cpp the
> function blockWriteOrRead uses fstream.read|write to do raw data IO and
> then in other parts of the code the data is just cast to the desired
> type without doing any checks of endianess let alone the needed
> conversions."
>
>
> Since I doubt that many people will use ProbABEL/DatABEL/filevector on other (big-endian) architectures there is no hurry in fixing this. Nevertheless it's worth having this bug visible and in the back of our minds.
>
> ----------------------------------------------------------------------
>
> Comment By: Jurica Stanojkovic (juricast)
> Date: 2014-04-16 12:23
>
> Message:
> Hello,
>
> I have tried building package probabel on mips big endian.
> It looks like that inputfiles/*.fvd and inputfiles/*.fvi are created on little endian machine and are not working on big endian ones.
>
> I have tried to create them on big endian mips, and replace ones that came with source package with the ones that I have created.
> The package was built with new files without an error.
>
> I used following command to create files:
> library(GenABEL)
> library(DatABEL)
> fvdose <- mach2databel(imputedg="./checks/inputfiles/test.mldose", mlinfo="./checks/inputfiles/test.mlinfo", outfile="./checks/inputfiles/test.dose")
> fvprob <- mach2databel(imputedg="./checks/inputfiles/test.mlprob", mlinfo="./checks/inputfiles/test.mlinfo", outfile="./checks/inputfiles/test.prob", isprob=TRUE)
> mmdose <- mach2databel(imputedg="./checks/inputfiles/mmscore_gen.mldose", mlinfo="./checks/inputfiles/mmscore_gen.mlinfo", outfile="./checks/inputfiles/mmscore_gen.dose")
> mmprob <- mach2databel(imputedg="./checks/inputfiles/mmscore_gen.mlprob", mlinfo="./checks/inputfiles/mmscore_gen.mlinfo", outfile="./checks/inputfiles/mmscore_gen.prob", isprob=TRUE)
>
> I am new to ProbABEL, GenABEL, DatABEL so could someone please help me with following questions:
>
> What is the best course of action for supporting probabel on big endian?
> Should *.fvi, *.fvd files allways be in little endian format (than DatABEL needs to be changed to always create little endian files)?
> Or can *.fvd, *.fvi files be replaced with big endian files for big endian build?
>
> Is it necessary to be able to use *.fvd *.fvi files created on a different endian system?
>
> I am willing to work on adding big endian support and I will appreciate any help in determining the right course of action in resolving this problem.
>
> Regards,
> Jurica
>
> ----------------------------------------------------------------------
>
> Comment By: Lennart Karssen (lckarssen)
> Date: 2014-01-27 21:20
>
> Message:
> A suggestion by Andreas Tille on the debian-med list: It's good to keep in mind that in the near future architectures like arm(64) may become much more popular in genomics.
>
>
> ----------------------------------------------------------------------
>
> You can respond by visiting:
> https://r-forge.r-project.org/tracker/?func=detail&atid=2058&aid=5299&group_id=505


More information about the genabel-devel mailing list