[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Backporting zlib 1.2.11 to Stretch



On Tue, Jul 17, 2018 at 11:59:28AM +0100, Mark Brown wrote:
> On Tue, Jul 17, 2018 at 10:43:58AM +0200, Michael Banck wrote:
> > On Tue, Jul 17, 2018 at 09:57:30AM +0200, Andreas Tille wrote:
> 
> > > I stumbled upon some software (spoa [1]) which obviously does not build
> > > with zlib 1.2.8 (just tried building in stretch - works with a
> > > backported zlib from testing).  
> 
> > That seems to be due to bioparser using the new zlib features from
> > 1.2.11.
> 
> > Maybe it is easier to adapt bioparse to the 1.2.8 zlib interface than
> > backporting this pretty central library?
> 
> It's a pretty stable library so there's not *huge* concerns with
> backporting it, though obviously it'd still be a pretty big change to
> pull onto people's systems which they might not be enthused about.

I take both responses as some kind of "please rather don't" if you can
avoid this.  So if I try to backport spoa - or rather libbioparser-dev
to stretch I need to deal with:


...
/usr/include/bioparser/bioparser.hpp: In instantiation of ‘bool bioparser::FastqParser<T>::parse_objects(std::vector<std::unique_ptr<T> >&, uint64_t) [with T = spoa::Sequence; uint64_t = long unsigned int]’:
/home/RKID1/tillea-a/tmp/spoa-1.1.3/src/main.cpp:159:1:   required from here
/usr/include/bioparser/bioparser.hpp:357:38: error: ‘gzfread’ was not declared in this scope
         uint64_t read_bytes = gzfread(this->buffer_.data(), sizeof(char),
                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             this->buffer_.size(), input_file);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bioparser/bioparser.hpp: In instantiation of ‘bool bioparser::FastaParser<T>::parse_objects(std::vector<std::unique_ptr<T> >&, uint64_t) [with T = spoa::Sequence; uint64_t = long unsigned int]’:
/home/RKID1/tillea-a/tmp/spoa-1.1.3/src/main.cpp:159:1:   required from here
/usr/include/bioparser/bioparser.hpp:248:38: error: ‘gzfread’ was not declared in this scope
         uint64_t read_bytes = gzfread(this->buffer_.data(), sizeof(char),
                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             this->buffer_.size(), input_file);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/spoa_bin.dir/build.make:89: recipe for target 'CMakeFiles/spoa_bin.dir/src/main.cpp.o' failed
make[3]: *** [CMakeFiles/spoa_bin.dir/src/main.cpp.o] Error 1
make[3]: Leaving directory '/home/RKID1/tillea-a/tmp/spoa-1.1.3/obj-x86_64-linux-gnu'
CMakeFiles/Makefile2:144: recipe for target 'CMakeFiles/spoa_bin.dir/all' failed
make[2]: *** [CMakeFiles/spoa_bin.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
In file included from /home/RKID1/tillea-a/tmp/spoa-1.1.3/test/spoa_test.cpp:12:0:
/usr/include/bioparser/bioparser.hpp: In instantiation of ‘bool bioparser::FastqParser<T>::parse_objects(std::vector<std::unique_ptr<T> >&, uint64_t) [with T = spoa::Sequence; uint64_t = long unsigned int]’:
/home/RKID1/tillea-a/tmp/spoa-1.1.3/test/spoa_test.cpp:334:1:   required from here
/usr/include/bioparser/bioparser.hpp:357:38: error: ‘gzfread’ was not declared in this scope
         uint64_t read_bytes = gzfread(this->buffer_.data(), sizeof(char),
                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             this->buffer_.size(), input_file);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMakeFiles/spoa_test.dir/build.make:89: recipe for target 'CMakeFiles/spoa_test.dir/test/spoa_test.cpp.o' failed
...


which means line 248 and 357 of this file

    https://salsa.debian.org/med-team/libbioparser-dev/blob/master/include/bioparser/bioparser.hpp

need to be converted to the old zlib 1.2.8 interface.  This would be

248           uint64_t read_bytes = gzfread(this->buffer_.data(), sizeof(char),
249               this->buffer_.size(), input_file);

and

357           uint64_t read_bytes = gzfread(this->buffer_.data(), sizeof(char),
358               this->buffer_.size(), input_file);


Unfortunately I have no idea about zlib neither from C++.  Any kind help
would be welcome.

Kind regards

       Andreas.

-- 
http://fam-tille.de


Reply to: