yayahjb / cbflib Goto Github PK
View Code? Open in Web Editor NEWCBFlib repository cloned from SF CBFlib repository as of 1 Dec 15
CBFlib repository cloned from SF CBFlib repository as of 1 Dec 15
When I try to depende on pycbf with the egg name, I get this error message
I: pybuild base:232: python3.9 setup.py clean
error in cctbx setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Parse error at "'_pycbf'": Expected W:(abcd...)
E: pybuild pybuild:353: clean: plugin distutils failed with: exit code=1: python3.9 setup.py clean
pycbf
instead of _pycbf
Thanks for considering
I am trying to build the documentation bug I have this error message.
$ ./make-docs.sh
Running 'doxygen'...
Extracting data...
warning: failed to load external entity "doc/src/doxygen2xml.xsl"
cannot parse doc/src/doxygen2xml.xsl
processing escape sequences...
sed: impossible de lire doc/doc.xml: Aucun fichier ou dossier de ce type
Indexing...
warning: failed to load external entity "doc/doc.xml"
unable to parse doc/doc.xml
Generating HTML...
warning: failed to load external entity "doc/src/xml2html.xsl"
cannot parse doc/src/xml2html.xsl
Done.
some files are missing ?
Hello, I am preparing the cbflib 0.9.7 package for Debian.
I now have a package built with only the Python3 version pf pycbf. I want to add autopkgtest in order to have integration tests which checks that nothing break when a dependency change. So my first attempt was to execute the 4 test of the pycbf directory. But it end-up with this error
$python3 pycbf_test1.py
Traceback (most recent call last):
File "/home/experiences/instrumentation/picca/debian/science-team/cbflib/pycbf/pycbf_test1.py", line 4, in <module>
object.read_file(b"../img2cif_packed.cif",pycbf.MSG_DIGEST)
File "/usr/lib/python3/dist-packages/pycbf.py", line 2009, in read_file
return _pycbf.cbf_handle_struct_read_file(self, filename, headers)
TypeError: in method 'cbf_handle_struct_read_file', argument 2 of type 'char *
This issue cause also troubles when I try to run the dxtbx test suite.
This problem seems to be related to the handling of string/bytes.
Can you reproduce this issue on your system ?
thanks
I am building and CBFLib 0.9.6 from the distribution package available at SourceForge, on CentOS Linux 8 (x86_64), using the distribution's GCC toochain version 8.3.1. The library, wrappers, and example programs all built successfully, but when I ran the tests, nexus2cbf crashed:
LD_LIBRARY_PATH=/home/jbolling/tmp/cbflib-CBFlib-0.9.6/solib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH; cd /home/jbolling/tmp/cbflib-CBFlib-0.9.6/minicbf_test; time /home/jbolling/tmp/cbflib-CBFlib-0.9.6/bin/nexus2cbf \
-o i19-1.cbf i19-1.h5
HDF5-DIAG: Error detected in HDF5 (1.8.18) thread 0:
#000: H5D.c line 342 in H5Dopen2(): no name
major: Invalid arguments to routine
minor: Bad value
HDF5-DIAG: Error detected in HDF5 (1.8.18) thread 0:
#000: H5L.c line 1183 in H5Literate(): link iteration failed
major: Symbol table
minor: Iteration failed
#001: H5Gint.c line 844 in H5G_iterate(): error iterating over links
major: Symbol table
minor: Iteration failed
#002: H5Gobj.c line 708 in H5G__obj_iterate(): can't iterate over symbol table
major: Symbol table
minor: Iteration failed
#003: H5Gstab.c line 566 in H5G__stab_iterate(): iteration operator failed
major: Symbol table
minor: Can't move to next iterator location
#004: H5B.c line 1221 in H5B_iterate(): B-tree iteration failed
major: B-Tree node
minor: Iteration failed
#005: H5B.c line 1177 in H5B_iterate_helper(): B-tree iteration failed
major: B-Tree node
minor: Iteration failed
#006: H5Gnode.c line 1039 in H5G__node_iterate(): iteration operator failed
major: Symbol table
minor: Can't move to next iterator location
HDF5-DIAG: Error detected in HDF5 (1.8.18) thread 0:
#000: H5L.c line 1183 in H5Literate(): link iteration failed
major: Symbol table
minor: Iteration failed
#001: H5Gint.c line 844 in H5G_iterate(): error iterating over links
major: Symbol table
minor: Iteration failed
#002: H5Gobj.c line 708 in H5G__obj_iterate(): can't iterate over symbol table
major: Symbol table
minor: Iteration failed
#003: H5Gstab.c line 566 in H5G__stab_iterate(): iteration operator failed
major: Symbol table
minor: Can't move to next iterator location
#004: H5B.c line 1221 in H5B_iterate(): B-tree iteration failed
major: B-Tree node
minor: Iteration failed
#005: H5B.c line 1177 in H5B_iterate_helper(): B-tree iteration failed
major: B-Tree node
minor: Iteration failed
#006: H5Gnode.c line 1039 in H5G__node_iterate(): iteration operator failed
major: Symbol table
minor: Can't move to next iterator location
HDF5-DIAG: Error detected in HDF5 (1.8.18) thread 0:
#000: H5L.c line 1183 in H5Literate(): link iteration failed
major: Symbol table
minor: Iteration failed
#001: H5Gint.c line 844 in H5G_iterate(): error iterating over links
major: Symbol table
minor: Iteration failed
#002: H5Gobj.c line 708 in H5G__obj_iterate(): can't iterate over symbol table
major: Symbol table
minor: Iteration failed
#003: H5Gstab.c line 566 in H5G__stab_iterate(): iteration operator failed
major: Symbol table
minor: Can't move to next iterator location
#004: H5B.c line 1221 in H5B_iterate(): B-tree iteration failed
major: B-Tree node
minor: Iteration failed
#005: H5B.c line 1177 in H5B_iterate_helper(): B-tree iteration failed
major: B-Tree node
minor: Iteration failed
#006: H5Gnode.c line 1039 in H5G__node_iterate(): iteration operator failed
major: Symbol table
minor: Can't move to next iterator location
An error occured, will not try to write the file 'i19-1.cbf'
Time to convert 'i19-1.cbf': 0.006s
real 0m0.008s
user 0m0.006s
sys 0m0.002s
make: *** [Makefile_LINUX_64:2230: extra] Error 1
I found, however, that if I used the default Makefile instead of Makefile_LINUX_64, then the same test ran successfully. Ultimately, I traced the issue to optimization level. nexus2cbf works if everything is built with optimization -O3
(default Makefile), but not if everything is built with optimization -O2
(Makefile_LINUX_64 and Makefile_LINUX).
There is a clear workaround here, of course, but optimization-dependent misbehavior is usually a sign of a deeper problem, especially when it is the more aggressive optimization level that is required for (apparently) correct behavior.
Issue was noticed in the cif_img.dic
dictionary, version 1.8.5.
The photons per second
unit appear a single time in the dictionary in the definition of the _diffrn_radiation.beam_flux
data item. The usage of this item has two minor issues:
photons per second
uses spaces to separate words while all other units from the dictionary use underscores (e.g. degrees_squared
, counts_per_photon
). It would be more consistent to rename it to photons_per_second
.ITEM_UNITS_LIST
loop (_item_units_list.code
, _item_units_list.detail
) except for the photons per second
. The missing description should be added.I can create a relevant PR if the proposed changes are acceptable.
proteindiffraction.org
contains archives where the top-level downloadable file is a tar
file, and the individual files are compressed using gzip or bzip2. This way of storing files is not anticipated by the external data pointer definitions, which assume that compression is performed on the overall archive only (e.g. tar.gz
or tar.bz2
). I propose adding a new column to array_data
, _array_data.external_file_compression
with enumerated values corresponding to common compression formats. Where the value for this attribute is not 'None', after a file has been downloaded and extracted it will be decompressed according to the specified format.
Seems to be a stray semicolon on line 1236
CBF_DONT_USE_LONG_LONG could be automated.
Create this checkint.c
#include <limits.h>
#if LONG_MAX == LLONG_MAX
#error LONG=LLONG
#endif
Detect by return code such as
$(CC) -E checkint.c || echo #define CBF_DONT_USE_LONG_LONG >> longflag.h
and add #include "longflag.h"
to cbf.h
CBFlib master was converted to main. Downstream developers should convert their local repositories with:
git branch -m master main
git fetch origin
git branch -u origin/main main
Hello, you can find some warning and errors reported by lintian.
https://lintian.debian.org/sources/cbflib
I am wondering if you could help solve the
sourcce-is-missing : sources are missing for these 4 files ?
national-encoding : files are not encoded in utf8 but other type
/include$ file *
cbf_airy_disk.h: ASCII text
cbf_alloc.h: ISO-8859 text
cbf_ascii.h: ISO-8859 text
cbf_binary.h: ISO-8859 text
cbf_byte_offset.h: ISO-8859 text
cbf_canonical.h: ISO-8859 text
cbf_codes.h: ISO-8859 text
cbf_compress.h: ISO-8859 text
cbf_context.h: ISO-8859 text
cbf_copy.h: UTF-8 Unicode text
cbff.h: UTF-8 Unicode text
cbf_file.h: ISO-8859 text
cbf_getopt.h: C source, ASCII text
cbf.h: ASCII text
cbf_hdf5_filter.h: ASCII text
cbf_hdf5.h: UTF-8 Unicode text
cbf_lex.h: ISO-8859 text
cbf_minicbf_header.h: ASCII text
cbf_nibble_offset.h: ISO-8859 text
cbf_packed.h: ISO-8859 text
cbf_predictor.h: ISO-8859 text
cbf_read_binary.h: ISO-8859 text
cbf_read_mime.h: ISO-8859 text
cbf_simple.h: ISO-8859 text
cbf_string.h: ISO-8859 text
cbf_stx.h: C source, ASCII text
cbf_tree.h: ISO-8859 text
cbf_ulp.h: C source, ASCII text
cbf_uncompressed.h: ISO-8859 text
cbf_write_binary.h: ISO-8859 text
cbf_write.h: ISO-8859 text
cbf_ws.h: UTF-8 Unicode text
global.h: C source, ASCII text
img.h: C source, ASCII text
md5.h: C source, ASCII text
there is a few spelling error :)
and more problématic from my point of view is this one
thanks for considering
Fred
I'm left unsure if 0.9.7 is supposed to be used externally, or if it's just an internal/alpha partial release before something considered ready for production:
Lines 14 to 18 in 5232590
CBFlib.html
still says 0.9.5: Lines 111 to 115 in 5232590
CMakeLists.txt
still says 0.9.6 (and tries to download the 0.9.6 test data): Line 5 in 5232590
Lines 262 to 264 in 5232590
It is fine if this is the case - I am just unsure if I should put time into diagnosing the issues I'm having or whether I should just wait for a complete release!
It looks like it's trying to check if the input x, y is out of range, but it actually checks that y is in range:
Lines 2073 to 2078 in 5c31378
I just found what I think is a serious error on my part in the cbf2nexus handling of detector modules: I seem to have presented the origin, size and stride for the modules in fast to slow order (the normal convention in CBF), but for NeXus, I think I should have converted to slow to fast order. I will change the default to be slow to fast, to comply with NeXus conventions, add a command line flag to allow the fast to slow order still to be produced, and add something in both the master file and the output log to make it clear which convention was being used.
Is this agreeable?
Using cbf2nexus to make an NXmx file from a few hundred CBF files I find that the initial file compression tasks are very fast:
Time to convert 'l-cyst_01_00005.cbf': 0.050s
Time to read 'l-cyst_01_00006.cbf': 0.000s
Time to convert 'l-cyst_01_00006.cbf': 0.070s
Time to read 'l-cyst_01_00007.cbf': 0.000s
Time to convert 'l-cyst_01_00007.cbf': 0.060s
Time to read 'l-cyst_01_00008.cbf': 0.000s
Time to convert 'l-cyst_01_00008.cbf': 0.070s
Time to read 'l-cyst_01_00009.cbf': 0.000s
Time to convert 'l-cyst_01_00009.cbf': 0.070s
Time to read 'l-cyst_01_00010.cbf': 0.000s
Time to convert 'l-cyst_01_00010.cbf': 0.050s
Time to read 'l-cyst_01_00011.cbf': 0.010s
Time to convert 'l-cyst_01_00011.cbf': 0.060s
Time to read 'l-cyst_01_00012.cbf': 0.000s
Time to convert 'l-cyst_01_00012.cbf': 0.080s
Time to read 'l-cyst_01_00013.cbf': 0.000s
Time to convert 'l-cyst_01_00013.cbf': 0.060s
Time to read 'l-cyst_01_00014.cbf': 0.000s
Time to convert 'l-cyst_01_00014.cbf': 0.070s
Time to read 'l-cyst_01_00015.cbf': 0.000s
Time to convert 'l-cyst_01_00015.cbf': 0.070s
Time to read 'l-cyst_01_00016.cbf': 0.010s
Time to convert 'l-cyst_01_00016.cbf': 0.060s
Time to read 'l-cyst_01_00017.cbf': 0.000s
Time to convert 'l-cyst_01_00017.cbf': 0.070s
Time to read 'l-cyst_01_00018.cbf': 0.000s
However after a few hundred images these slow down a great deal:
Time to convert 'l-cyst_01_00686.cbf': 1.690s
Time to read 'l-cyst_01_00687.cbf': 0.000s
Time to convert 'l-cyst_01_00687.cbf': 1.690s
Time to read 'l-cyst_01_00688.cbf': 0.010s
Time to convert 'l-cyst_01_00688.cbf': 1.700s
Time to read 'l-cyst_01_00689.cbf': 0.000s
Time to convert 'l-cyst_01_00689.cbf': 1.690s
Time to read 'l-cyst_01_00690.cbf': 0.010s
Time to convert 'l-cyst_01_00690.cbf': 1.740s
Time to read 'l-cyst_01_00691.cbf': 0.000s
Time to convert 'l-cyst_01_00691.cbf': 1.720s
Time to read 'l-cyst_01_00692.cbf': 0.000s
Time to convert 'l-cyst_01_00692.cbf': 1.720s
Time to read 'l-cyst_01_00693.cbf': 0.000s
Time to convert 'l-cyst_01_00693.cbf': 1.720s
Time to read 'l-cyst_01_00694.cbf': 0.000s
Time to convert 'l-cyst_01_00694.cbf': 1.740s
Time to read 'l-cyst_01_00695.cbf': 0.000s
Time to convert 'l-cyst_01_00695.cbf': 1.750s
Time to read 'l-cyst_01_00696.cbf': 0.000s
Time to convert 'l-cyst_01_00696.cbf': 1.740s
Time to read 'l-cyst_01_00697.cbf': 0.000s
Time to convert 'l-cyst_01_00697.cbf': 1.750s
Time to read 'l-cyst_01_00698.cbf': 0.010s
Time to convert 'l-cyst_01_00698.cbf': 1.750s
Time to read 'l-cyst_01_00699.cbf': 0.000s
Time to convert 'l-cyst_01_00699.cbf': 1.760s
Time to read 'l-cyst_01_00700.cbf': 0.000s
Time to convert 'l-cyst_01_00700.cbf': 1.760s
Time to read 'l-cyst_01_00701.cbf': 0.000s
Thought it may be worth checking in the code to see if there is some loop which scales as #frames squared or similar?
A file containing UTF8-encoded strings for NX_class
cause library routine cbf_write_nx2cbf
to fail. This can be fixed by adding the line:
CBF_H5CALL(H5Tset_cset(*type,H5T_CSET_UTF8));
to cbf_H5Tcreate_string
however this then leads to ASCII-encoded string attributes to cause an error. A proper fix would presumably detect the appropriate string type and set the character set accordingly.
_diffrn_scan_axis.angle_range
is currently defined as "The range from the starting position for the specified axis in degrees.". Read in conjunction with the chapter in volume G, this could be interpreted as the range of starting positions for the beginning of a step, or the difference between the starting position and the final position at the end of the final step. I prefer the latter interpretation, which is supported by Examples 2 and 3 for the diffrn_scan category. So, looking at line 7695 for a single-frame scan the range is given as 1.0 degree, which is the total angular range of the scan.
However, Example 1 above the previous example has 201 frames, each covering 0.1 degrees, and the scan range is given as 20.0. This suggests that range refers to the range in starting positions for each step. This cannot be reconciled by supposing that Example 1 involved no scanning of the axis during data collection as _diffrn_scan_frame_axis.angle_increment
is 0.1
Can I suggest either correcting Example 1 or Examples 2 and 3, and improving the definition text to clarify which interpretation is correct?
See issue described here. I can make a pull request in this repository against the .dic
file but not sure how that interacts with the .html
file.
The package's "basic" tests compare the outputs of img2cif, makecbf, and cif2cbf. These tests are presently reporting discrepancies because cif2cbf includes an X-Binary-Size-Third-Dimension:
header in the binary sections it emits, but the other two programs do not.
Various categories in imgCIF have names starting with diffrn
(e.g. diffrn_scan_axis
, diffrn_scan
). I believe it is implied that a child data name of _diffrn.id
is present in the category in these cases, but such child data names are not always defined by the dictionary. Am I correct in suggesting that these data names should be added to the relevant categories and to the category keys as well? I believe it is correct to say that for most data files these child data names can be left out as they implicitly take the value of _diffrn.id
for data blocks containing data from a single wavelength, so there are no implications for existing data files of these data names being added in.
[filiperosset@raw ~]$ cd rpmbuild/my/CBFlib/
[filiperosset@raw CBFlib]$ fedpkg local
warning: Macro expanded in comment on line 110: %{_bindir}/convert_image
warning: Macro expanded in comment on line 110: %{_bindir}/convert_image
setting SOURCE_DATE_EPOCH=1562112000
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.A4lFSS
umask 022
cd /home/filiperosset/rpmbuild/my/CBFlib
cd /home/filiperosset/rpmbuild/my/CBFlib
rm -rf CBFlib-0.9.6
/usr/bin/gzip -dc /home/filiperosset/rpmbuild/my/CBFlib/CBFlib-0.9.6.tar.gz
/usr/bin/tar -xof -
STATUS=0
'[' 0 -ne 0 ']'
cd CBFlib-0.9.6
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
iconv -f iso8859-15 -t utf-8 doc/cif_img_1.5.3_8Jul07.dic
mv -f doc/cif_img_1.5.3_8Jul07.dic.conv doc/cif_img_1.5.3_8Jul07.dic
rm doc/.symlinks
rm doc/.undosymlinks
chmod 644 examples/adscimg2cbf.c examples/adscimg2cbf_sub.c examples/arvai_test.c examples/cbf2adscimg.c examples/cbf2adscimg_sub.c examples/cbf2nexus.c examples/cbf_standardize_numbers.c examples/cbf_tail.c examples/cbf_testxfelread.c examples/changtestcompression.c examples/cif2c.c examples/cif2cbf.c examples/convert_image.c examples/convert_minicbf.c examples/dps_peaksearch.c examples/img2cif.c examples/makecbf.c examples/minicbf2nexus.c examples/nexus2cbf.c examples/roi_peaksearch.c examples/seqmatchsub.c examples/sequence_match.c examples/test_cbf_airy_disk.c examples/testalloc.c examples/testcbf.c examples/testflat.c examples/testflatpacked.c examples/testhdf5.c examples/testreals.c examples/testtree.c examples/testulp.c examples/tiff2cbf.c
RPM_EC=0
++ jobs -p
exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.cG8HOP
umask 022
cd /home/filiperosset/rpmbuild/my/CBFlib
cd CBFlib-0.9.6
cd src
gcc -fPIC -DCBF_DONT_USE_LONG_LONG -D_USE_XOPEN_EXTENDED -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c cbf.c cbf_airy_disk.c cbf_alloc.c cbf_ascii.c cbf_binary.c cbf_byte_offset.c cbf_canonical.c cbf_codes.c cbf_compress.c cbf_context.c cbf_copy.c cbf_file.c cbf_getopt.c cbf_hdf5.c cbf_hdf5_filter.c cbf_lex.c cbf_minicbf_header.c cbf_nibble_offset.c cbf_packed.c cbf_predictor.c cbf_read_binary.c cbf_read_mime.c cbf_simple.c cbf_string.c cbf_stx.c cbf_tree.c cbf_ulp.c cbf_uncompressed.c cbf_write.c cbf_write_binary.c cbf_ws.c cbff.c fgetln.c img.c md5c.c -I../include/
In file included from /usr/include/string.h:494,
from cbf.c:266:
In function 'strncpy',
inlined from 'cbf_validate' at cbf.c:7605:6:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' output may be truncated copying 80 bytes from a string of length 81 [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'strncpy',
inlined from 'cbf_validate' at cbf.c:7686:25:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' output may be truncated copying 80 bytes from a string of length 81 [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:494,
from cbf_context.c:262:
In function 'strncpy',
inlined from 'cbf_copy_string' at cbf_context.c:937:21:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cbf_context.c: In function 'cbf_copy_string':
cbf_context.c:909:13: note: length computed here
909 | n = strlen(string);
| ^~~~~~~~~~~~~~
In file included from /usr/include/string.h:494,
from cbf_context.c:262:
In function 'strncpy',
inlined from 'cbf_copy_string' at cbf_context.c:922:21:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cbf_context.c: In function 'cbf_copy_string':
cbf_context.c:909:13: note: length computed here
909 | n = strlen(string);
| ^~~~~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_write_nx2cbf__cbfcat_op':
cbf_hdf5.c:20819:38: warning: implicit declaration of function 'cbf_read_h5file_group'; did you mean 'cbf_read_h5file'? [-Wimplicit-function-declaration]
20819 | error |= cbf_read_h5file_group(cbf,nx,nx->flags,(hid_t)object);
| ^~~~~~~~~~~~~~~~~~~~~
| cbf_read_h5file
cbf_hdf5.c:20811:48: warning: unused variable 'indent' [-Wunused-variable]
20811 | const unsigned int indent = table->indent;
| ^~~~~~
cbf_hdf5.c:20784:31: warning: unused variable 'nxpdb_found' [-Wunused-variable]
20784 | const int nxpdb_found = _cbf_Attrval(object,"NXpdb_class", &NXpdb_class);
| ^~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_write_nx2cbf__cbfdb_op':
cbf_hdf5.c:20933:48: warning: unused variable 'indent' [-Wunused-variable]
20933 | const unsigned int indent = table->indent;
| ^~~~~~
cbf_hdf5.c:20906:31: warning: unused variable 'nxpdb_found' [-Wunused-variable]
20906 | const int nxpdb_found = _cbf_Attrval(object,"NXpdb_class", &NXpdb_class);
| ^~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_write_nx2cbf__entry_op':
cbf_hdf5.c:21797:48: warning: unused variable 'indent' [-Wunused-variable]
21797 | const unsigned int indent = table->indent;
| ^~~~~~
cbf_hdf5.c:21716:31: warning: unused variable 'nxpdb_found' [-Wunused-variable]
21716 | const int nxpdb_found = _cbf_Attrval(object,"NXpdb_class", &NXpdb_class);
| ^~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_write_nx2cbf':
cbf_hdf5.c:22516:36: warning: variable 'node' set but not used [-Wunused-but-set-variable]
22516 | cbf_node * node = NULL;
| ^~~~
cbf_hdf5.c:22769:25: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
22769 | if (pixel_offset_name[i]) free((void*)pixel_offset_name[i]);pixel_offset_name[i]=NULL;
| ^~
cbf_hdf5.c:22769:85: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
22769 | if (pixel_offset_name[i]) free((void*)pixel_offset_name[i]);pixel_offset_name[i]=NULL;
| ^~~~~~~~~~~~~~~~~
cbf_hdf5.c:22770:25: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
22770 | if (pixel_offset_long_name[i]) free((void*)pixel_offset_long_name[i]);pixel_offset_long_name[i]=NULL;
| ^~
cbf_hdf5.c:22770:95: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
22770 | if (pixel_offset_long_name[i]) free((void*)pixel_offset_long_name[i]);pixel_offset_long_name[i]=NULL;
| ^~~~~~~~~~~~~~~~~~~~~~
cbf_hdf5.c:22771:25: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
22771 | if (pixel_size_name[i]) free((void*)pixel_size_name[i]);pixel_size_name[i]=NULL;
| ^~
cbf_hdf5.c:22771:81: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
22771 | if (pixel_size_name[i]) free((void*)pixel_size_name[i]);pixel_size_name[i]=NULL;
| ^~~~~~~~~~~~~~~
cbf_hdf5.c:22110:30: warning: variable 'data_row' set but not used [-Wunused-but-set-variable]
22110 | unsigned int data_row = 0x0;
| ^~~~~~~~
cbf_hdf5.c:22836:32: warning: variable 'diffrn_scan_axis' set but not used [-Wunused-but-set-variable]
22836 | cbf_node * diffrn_scan_axis = NULL;
| ^~~~~~~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_write_cbf2nx__array_structure_list_axis':
cbf_hdf5.c:26493:50: warning: unused variable 'rotation_axis_path' [-Wunused-variable]
26493 | const char * rotation_axis_path = NULL;
| ^~~~~~~~~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_write_cbf2nx__cbf_general_axes':
cbf_hdf5.c:26704:26: warning: unused variable 'equipment_component' [-Wunused-variable]
26704 | const char * equipment_component = NULL;
| ^~~~~~~~~~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_write_cbf2nx__axis':
cbf_hdf5.c:27034:28: warning: variable 'axis_rotation_axis' set but not used [-Wunused-but-set-variable]
27034 | cbf_node * axis_rotation_axis = NULL;
| ^~~~~~~~~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_h5ds_store_as_column':
cbf_hdf5.c:29166:40: warning: unused variable 'close' [-Wunused-variable]
29166 | char open, close;
| ^~~~~
cbf_hdf5.c:29166:34: warning: unused variable 'open' [-Wunused-variable]
29166 | char open, close;
| ^~~~
cbf_hdf5.c:28931:21: warning: variable 'type_order' set but not used [-Wunused-but-set-variable]
28931 | H5T_order_t type_order;
| ^~~~~~~~~~
cbf_hdf5.c:28925:16: warning: unused variable 'byte_order' [-Wunused-variable]
28925 | char * byte_order;
| ^~~~~~~~~~
cbf_hdf5.c:28903:14: warning: unused variable 'buffer' [-Wunused-variable]
28903 | char buffer[25];
| ^~~~~~
cbf_hdf5.c: In function 'cbf_object_visit':
cbf_hdf5.c:30752:42: warning: variable 'checked_digest' set but not used [-Wunused-but-set-variable]
30752 | int binary_id, bits, sign, type, checked_digest, realarray = 0;
| ^~~~~~~~~~~~~~
cbf_hdf5.c:30752:36: warning: variable 'type' set but not used [-Wunused-but-set-variable]
30752 | int binary_id, bits, sign, type, checked_digest, realarray = 0;
| ^~~~
cbf_hdf5.c:30708:32: warning: variable 'atcbf' set but not used [-Wunused-but-set-variable]
30708 | int save_incbf, incbf, atcbf; /* within or at NXpdb or CBF_cif, etc. /
| ^~~~~
cbf_hdf5.c:30707:36: warning: unused variable 'atnexus' [-Wunused-variable]
30707 | int save_innexus, innexus, atnexus; / within or at NXentry */
| ^~~~~~~
cbf_hdf5.c: In function 'cbf_read_h5file_group':
cbf_hdf5.c:31937:13: warning: unused variable 'errorcode' [-Wunused-variable]
31937 | int errorcode = 0;
| ^~~~~~~~~
cbf_hdf5.c:31933:19: warning: unused variable 'node' [-Wunused-variable]
31933 | cbf_node *node;
| ^~~~
At top level:
cbf_hdf5.c:20853:16: warning: 'cbf_write_nx2cbf__cbfdb_op' defined but not used [-Wunused-function]
20853 | static int cbf_write_nx2cbf__cbfdb_op
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
cbf_hdf5.c:20641:16: warning: 'cbf_write_nx2cbf__cbfcat_op' defined but not used [-Wunused-function]
20641 | static int cbf_write_nx2cbf__cbfcat_op
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
cbf_hdf5.c:9133:16: warning: 'cbf_require_nxdetectors' defined but not used [-Wunused-function]
9133 | static int cbf_require_nxdetectors(const cbf_handle handle,
| ^~~~~~~~~~~~~~~~~~~~~~~
cbf_hdf5.c: In function 'cbf_get_nxdata_field_name2':
cbf_hdf5.c:6345:37: warning: '%06d' directive writing between 6 and 10 bytes into a region of size 7 [-Wformat-overflow=]
6345 | sprintf(buffer,"%06d",block);
| ^~~~
cbf_hdf5.c:6345:36: note: directive argument in the range [1, 2147483647]
6345 | sprintf(buffer,"%06d",block);
| ^~~~~~
In file included from /usr/include/stdio.h:867,
from /usr/include/H5Epublic.h:20,
from /usr/include/hdf5.h:26,
from ../include/cbf.h:253,
from cbf_hdf5.c:258:
/usr/include/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 7 and 11 bytes into a destination of size 7
36 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cbf_hdf5.c: In function '_cbf_nx2cbfDread_scalar_string':
cbf_hdf5.c:18976:30: warning: 'llvalue' may be used uninitialized in this function [-Wmaybe-uninitialized]
18976 | *value = _cbf_strdup(*lvalue);
| ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:494,
from ../include/cbf_hdf5.h:265,
from cbf_hdf5.c:260:
In function 'strncat',
inlined from 'cbf_create_h5handle2' at cbf_hdf5.c:17932:9:
/usr/include/bits/string_fortified.h:136:10: warning: '__builtin___strncat_chk' output may be truncated copying 10 bytes from a string of length 11 [-Wstringop-truncation]
136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'strncat',
inlined from 'cbf_create_h5handle2' at cbf_hdf5.c:17934:9:
/usr/include/bits/string_fortified.h:136:10: warning: '__builtin___strncat_chk' output may be truncated copying 50 bytes from a string of length 53 [-Wstringop-truncation]
136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'strncat',
inlined from 'cbf_create_h5handle2u' at cbf_hdf5.c:18014:9:
/usr/include/bits/string_fortified.h:136:10: warning: '__builtin___strncat_chk' output may be truncated copying 10 bytes from a string of length 11 [-Wstringop-truncation]
136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'strncat',
inlined from 'cbf_create_h5handle2u' at cbf_hdf5.c:18016:9:
/usr/include/bits/string_fortified.h:136:10: warning: '__builtin___strncat_chk' output may be truncated copying 50 bytes from a string of length 53 [-Wstringop-truncation]
136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:494,
from ../include/cbf_minicbf_header.h:264,
from cbf_minicbf_header.c:259:
In function 'strncpy',
inlined from 'cbf_append_string.part.0' at cbf_minicbf_header.c:325:9:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cbf_minicbf_header.c: In function 'cbf_append_string.part.0':
cbf_minicbf_header.c:302:18: note: length computed here
302 | srclen = strlen(src);
| ^~~~~~~~~~~
In file included from /usr/include/string.h:494,
from ../include/cbf_minicbf_header.h:264,
from cbf_minicbf_header.c:259:
In function 'strncat',
inlined from 'cbf_append_string.part.0' at cbf_minicbf_header.c:313:13:
/usr/include/bits/string_fortified.h:136:10: warning: '__builtin_strncat' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cbf_minicbf_header.c: In function 'cbf_append_string.part.0':
cbf_minicbf_header.c:302:18: note: length computed here
302 | srclen = strlen(src);
| ^~~~~~~~~~~
cbf_nibble_offset.c: In function 'cbf_compress_nibble_offset':
cbf_nibble_offset.c:936:21: warning: 'dmode[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
936 | curmode = dmode[inrun];
| ~~~~~~~~^~~~~~~~~~~~~~
cbf_simple.c: In function 'cbf_set_reference_beam_center':
cbf_simple.c:8587:44: warning: variable 'ncenter2' set but not used [-Wunused-but-set-variable]
8587 | double nindex1, nindex2, ncenter1, ncenter2;
| ^~~~~~~~
cbf_simple.c:8587:34: warning: variable 'ncenter1' set but not used [-Wunused-but-set-variable]
8587 | double nindex1, nindex2, ncenter1, ncenter2;
| ^~~~~~~~
cbf_stx.c: In function 'cbf_lex_wrapper':
cbf_stx.c:370:13: warning: variable 'cbffile' set but not used [-Wunused-but-set-variable]
370 | cbf_file *cbffile;
| ^~~~~~~
At top level:
cbf_stx.c:827:26: warning: 'yytname' defined but not used [-Wunused-const-variable=]
827 | static const char *const yytname[] =
| ^~~~~~~
img.c: In function 'img_read_mar345header':
img.c:1334:44: warning: array subscript -1 is outside array bounds of 'char[65]' [-Warray-bounds]
1334 | for (C = C64+strlen(C64)-1; (C != C64-1 && *C == ' '); C-- ) *C = '\0';
| ~~~^
img.c:1230:8: note: while referencing 'C64'
1230 | char C64[65], D64[65], *C, *D, *E;
| ^~~
gcc -shared -Wl,-soname,libcbf.so.0 -o libcbf.so.0.0.0 cbf.o cbf_airy_disk.o cbf_alloc.o cbf_ascii.o cbf_binary.o cbf_byte_offset.o cbf_canonical.o cbf_codes.o cbf_compress.o cbf_context.o cbf_copy.o cbf_file.o cbf_getopt.o cbf_hdf5.o cbf_hdf5_filter.o cbf_lex.o cbf_minicbf_header.o cbf_nibble_offset.o cbf_packed.o cbf_predictor.o cbf_read_binary.o cbf_read_mime.o cbf_simple.o cbf_string.o cbf_stx.o cbf_tree.o cbf_ulp.o cbf_uncompressed.o cbf_write.o cbf_write_binary.o cbf_ws.o cbff.o fgetln.o img.o md5c.o -lhdf5 -lz -lm
rm cbf.o cbf_airy_disk.o cbf_alloc.o cbf_ascii.o cbf_binary.o cbf_byte_offset.o cbf_canonical.o cbf_codes.o cbf_compress.o cbf_context.o cbf_copy.o cbf_file.o cbf_getopt.o cbf_hdf5.o cbf_hdf5_filter.o cbf_lex.o cbf_minicbf_header.o cbf_nibble_offset.o cbf_packed.o cbf_predictor.o cbf_read_binary.o cbf_read_mime.o cbf_simple.o cbf_string.o cbf_stx.o cbf_tree.o cbf_ulp.o cbf_uncompressed.o cbf_write.o cbf_write_binary.o cbf_ws.o cbff.o fgetln.o img.o md5c.o
gfortran -fPIC -fno-range-check -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c fcb_atol_wcnt.f90 fcb_ci_strncmparr.f90 fcb_nblen_array.f90 fcb_read_byte.f90 fcb_read_line.f90 fcb_skip_whitespace.f90 -I../include/
fcb_atol_wcnt.f90:10:31:
10 | INTEGER, PARAMETER :: I0=Z'30',& !IACHAR('0')
| 1
Warning: Conversion from 'INTEGER(16)' to 'INTEGER(4)' at (1) [-Wconversion]
fcb_atol_wcnt.f90:11:1:
11 | I9=Z'39',& !IACHAR('9')
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:11:10:
11 | I9=Z'39',& !IACHAR('9')
| 1
Warning: Conversion from 'INTEGER(16)' to 'INTEGER(4)' at (1) [-Wconversion]
fcb_atol_wcnt.f90:12:1:
12 | IM=Z'2D',& !IACHAR('-')
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:12:10:
12 | IM=Z'2D',& !IACHAR('-')
| 1
Warning: Conversion from 'INTEGER(16)' to 'INTEGER(4)' at (1) [-Wconversion]
fcb_atol_wcnt.f90:13:1:
13 | IP=Z'2B',& !IACHAR('+')
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:13:10:
13 | IP=Z'2B',& !IACHAR('+')
| 1
Warning: Conversion from 'INTEGER(16)' to 'INTEGER(4)' at (1) [-Wconversion]
fcb_atol_wcnt.f90:14:1:
14 | SP=Z'20',& !IACHAR(' ')
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:14:10:
14 | SP=Z'20',& !IACHAR(' ')
| 1
Warning: Conversion from 'INTEGER(16)' to 'INTEGER(4)' at (1) [-Wconversion]
fcb_atol_wcnt.f90:15:1:
15 | HT=Z'09' !tab position in the ASCII code
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:15:10:
15 | HT=Z'09' !tab position in the ASCII code
| 1
Warning: Conversion from 'INTEGER(16)' to 'INTEGER(4)' at (1) [-Wconversion]
fcb_atol_wcnt.f90:23:1:
23 | K=ARRAY(I)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:24:1:
24 | IF (K.GE.I0 .AND. K.LE.I9 ) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:25:1:
25 | FCB_ATOL_WCNT = FCB_ATOL_WCNT*10+(K-I0)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:26:1:
26 | BLANK = -1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:27:1:
27 | IF (VORZEICHEN.EQ.0) VORZEICHEN=1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:28:1:
28 | ELSE IF (K.EQ.IM .OR. K.EQ.IP ) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:29:1:
29 | IF (VORZEICHEN.NE.0) EXIT
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:30:1:
30 | IF (K.EQ.IM) VORZEICHEN =-1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:31:1:
31 | IF (K.EQ.IP) VORZEICHEN = 1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:32:1:
32 | ELSE IF (K.EQ.SP .OR. K.EQ.HT ) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:33:1:
33 | IF (BLANK.LT.0) EXIT
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:34:1:
34 | BLANK = BLANK+1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:35:1:
35 | ELSE
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:36:1:
36 | EXIT
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:37:1:
37 | END IF
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_atol_wcnt.f90:38:1:
38 | CNT = CNT+1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:17:1:
17 | J=0
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:18:1:
18 | IF (I.LE.LEN(STRING)) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:19:1:
19 | J=IACHAR(STRING(I:I))
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:20:1:
20 | IF ((J.GE.IA).AND.(J.LE.IZ))J=J+UP
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:21:1:
21 | ENDIF
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:22:1:
22 | K=0
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:23:1:
23 | IF (I.LE.N) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:24:1:
24 | K=ARRAY(I)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:25:1:
25 | IF ((K.GE.IA).AND.(K.LE.IZ))K=K+UP
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:26:1:
26 | ENDIF
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:27:1:
27 | FCB_CI_STRNCMPARR = J-K
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_ci_strncmparr.f90:28:1:
28 | IF (J.NE.K)EXIT
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_nblen_array.f90:12:1:
12 | IF (FCB_NBLEN_ARRAY.NE.0)EXIT
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_nblen_array.f90:13:1:
13 | J=ARRAY(I)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_nblen_array.f90:14:1:
14 | IF ((J.NE.IACHAR(' ')).AND.(J.NE.Z'09').AND.(J.NE.Z'0A').AND. &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_nblen_array.f90:15:1:
15 | (J.NE.Z'0D').AND.(J.NE.0)) FCB_NBLEN_ARRAY = I
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_read_byte.f90:2:1:
2 | REC_IN_FILE,BYTE_IN_FILE,IBYTE)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_read_byte.f90:13:12:
13 | IBYTE=0
| 1
Warning: Conversion from 'INTEGER(4)' to 'INTEGER(1)' at (1) [-Wconversion]
fcb_read_byte.f90:28:26:
28 | BUFFER(K) = 0
| 1
Warning: Conversion from 'INTEGER(4)' to 'INTEGER(1)' at (1) [-Wconversion]
fcb_read_line.f90:2:1:
2 | BYTE_IN_FILE,REC_IN_FILE,BUFFER,LINE,N,LINELEN)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:2:1:
2 | FCB_BYTES_IN_REC,BYTE_IN_FILE,REC_IN_FILE,BUFFER,&
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:3:1:
3 | LINE,N,LINELEN,ICUR,FRESH_LINE)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:14:1:
14 | FRESH_LINE
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:16:1:
16 | LAST_CHAR
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:24:1:
24 | ICUR = LINELEN+1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:25:1:
25 | RETURN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:31:1:
31 | IF ((IC.LE.LINELEN).AND.(LINE(IC).NE.IACHAR(' ')).AND. &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:32:1:
32 | (LINE(IC).NE.Z'09').AND.(LINE(IC).NE.IACHAR('(')) )EXIT
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:34:1:
34 | IF (IC.GT.LINELEN) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:35:1:
35 | FCB_SKIP_WHITESPACE = FCB_READ_LINE (TAPIN,LAST_CHAR, &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:36:1:
36 | FCB_BYTES_IN_REC,BYTE_IN_FILE,REC_IN_FILE,BUFFER,&
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:37:1:
37 | LINE,N,LINELEN)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:38:1:
38 | IF (FCB_SKIP_WHITESPACE.NE.0) RETURN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:39:1:
39 | IC = 1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:40:1:
40 | IF ((LINELEN.EQ.0) &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:41:1:
41 | .OR.(FCB_NBLEN_ARRAY(LINE(1:LINELEN),LINELEN).EQ.0) &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:42:1:
42 | .OR.(FCB_NBLEN_ARRAY(LINE(1:1),1).NE.0)) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:41:1:
41 | .OR.(FCB_NBLEN_ARRAY(LINE(1:LINELEN),LINELEN).EQ.0) &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:42:1:
42 | .OR.(FCB_NBLEN_ARRAY(LINE(1:1),1).NE.0)) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:43:1:
43 | FRESH_LINE = 1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:44:1:
44 | ICUR = LINELEN+1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:45:1:
45 | RETURN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:46:1:
46 | END IF
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:47:1:
47 | ELSE
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:48:1:
48 | IF (LINE(IC) .EQ. IACHAR('(')) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:49:1:
49 | IC = IC+1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:50:1:
50 | COMMENT_LEVEL = COMMENT_LEVEL+1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:51:1:
51 | DO
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:52:1:
52 | IF (COMMENT_LEVEL.EQ.0)EXIT
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:53:1:
53 | IF (IC.GT.LINELEN) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:54:1:
54 | FCB_SKIP_WHITESPACE=FCB_READ_LINE(TAPIN,LAST_CHAR, &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:55:1:
55 | FCB_BYTES_IN_REC,BYTE_IN_FILE,REC_IN_FILE, &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:56:1:
56 | BUFFER,LINE,N,LINELEN)
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:57:1:
57 | IF (FCB_SKIP_WHITESPACE.NE.0) RETURN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:58:1:
58 | IC = 1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:59:1:
59 | IF ((LINELEN.EQ.0).OR. &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:60:1:
60 | (FCB_NBLEN_ARRAY(LINE(1:LINELEN),LINELEN).EQ.0) &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:61:1:
61 | .OR. FCB_NBLEN_ARRAY(LINE(1:1),1).NE.0) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:60:1:
60 | (FCB_NBLEN_ARRAY(LINE(1:LINELEN),LINELEN).EQ.0) &
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:61:1:
61 | .OR. FCB_NBLEN_ARRAY(LINE(1:1),1).NE.0) THEN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:62:1:
62 | FRESH_LINE = 1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:63:1:
63 | ICUR = LINELEN+1
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:64:1:
64 | RETURN
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:65:1:
65 | END IF
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:66:1:
66 | ELSE
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:67:1:
67 | SELECT CASE (LINE(IC))
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:68:1:
68 | CASE (Z'5C') ! backslash
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:69:1:
69 | IC = IC+1 ! force skip of next character
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:70:1:
70 | CASE (Z'28') ! open paren
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:71:1:
71 | COMMENT_LEVEL = COMMENT_LEVEL+1;
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:72:1:
72 | CASE (Z'29') ! close paren
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:73:1:
73 | COMMENT_LEVEL = COMMENT_LEVEL-1;
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:74:1:
74 | END SELECT
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:75:1:
75 | IC = IC+1;
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:76:1:
76 | END IF
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:77:1:
77 | END DO
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:78:1:
78 | ELSE
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:79:1:
79 | IC = IC+1;
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:80:1:
80 | END IF
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
fcb_skip_whitespace.f90:81:1:
81 | END IF
| 1
Warning: Nonconforming tab character at (1) [-Wtabs]
gfortran -shared -Wl,-soname,libfcb.so.0 -o libfcb.so.0.0.0 fcb_atol_wcnt.o fcb_ci_strncmparr.o fcb_nblen_array.o fcb_read_byte.o fcb_read_line.o fcb_skip_whitespace.o
cd ../examples
utilsublist='adscimg2cbf
cbf2adscimg
adscimg2cbf'
for i in $utilsublist
gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection adscimg2cbf.c adscimg2cbf_sub.c -I../include ../src/libcbf.so.0.0.0 -o adscimg2cbf -lm
adscimg2cbf.c: In function 'main':
adscimg2cbf.c:245:27: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
245 | strstrhit = cbf_cistrnstr(argv[iarg], flags[j], strlen(flags[j]));
| ^
adscimg2cbf.c:176:10: warning: unused variable 'thickness' [-Wunused-variable]
176 | double thickness=0.;
| ^~~~~~~~~
adscimg2cbf.c:162:7: warning: variable 'cbf_status' set but not used [-Wunused-but-set-variable]
162 | int cbf_status;
| ^~~~~~~~~~
In file included from /usr/include/string.h:494,
from adscimg2cbf.c:13:
In function 'strncpy',
inlined from 'gethd.constprop' at adscimg2cbf.c:31:3:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
adscimg2cbf.c: In function 'gethd.constprop':
adscimg2cbf.c:28:7: note: length computed here
28 | l = strlen (field);
| ^~~~~~~~~~~~~~
adscimg2cbf_sub.c: In function 'adscimg2cbf_sub2':
adscimg2cbf_sub.c:793:20: warning: passing argument 1 of 'convertroi' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
793 | if (convertroi(roi, smv_size1, smv_size2,
| ^~~
adscimg2cbf_sub.c:433:22: note: expected 'char *' but argument is of type 'const char *'
433 | int convertroi(char *roi, int fastdim, int slowdim,
| ~~~~~~^~~
adscimg2cbf_sub.c:1727:27: warning: passing argument 1 of 'cbf_free_text' from incompatible pointer type [-Wincompatible-pointer-types]
1727 | cbf_free_text(&log,NULL);
| ^~~~
| |
| char **
In file included from ../include/cbf_minicbf_header.h:262,
from adscimg2cbf_sub.c:179:
../include/cbf_alloc.h:274:33: note: expected 'const char **' but argument is of type 'char **'
274 | int cbf_free_text (const char **old_block, size_t *old_nelem);
| ~~~~~~~~~~~~~^~~~~~~~~
adscimg2cbf_sub.c:1868:30: warning: variable 'valmax' set but not used [-Wunused-but-set-variable]
1868 | double valnew,valmin,valmax;
| ^~~~~~
adscimg2cbf_sub.c:1868:16: warning: variable 'valnew' set but not used [-Wunused-but-set-variable]
1868 | double valnew,valmin,valmax;
| ^~~~~~
adscimg2cbf_sub.c:530:27: warning: unused variable 'kjcm' [-Wunused-variable]
530 | int ki, kj, kicm, kjcm;
| ^~~~
adscimg2cbf_sub.c:530:21: warning: unused variable 'kicm' [-Wunused-variable]
530 | int ki, kj, kicm, kjcm;
| ^~~~
adscimg2cbf_sub.c:522:28: warning: variable 'smv_bin_type' set but not used [-Wunused-but-set-variable]
522 | int smv_bin, smv_adc, smv_bin_type;
| ^~~~~~~~~~~~
adscimg2cbf_sub.c: In function 'adscimg2cbf_sub':
adscimg2cbf_sub.c:2075:34: warning: passing argument 4 of 'adscimg2cbf_sub2' makes integer from pointer without a cast [-Wint-conversion]
2075 | NULL,NULL,NULL,NULL,
| ^~~~
| |
| void *
adscimg2cbf_sub.c:481:29: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'void '
481 | size_t old_int_data_size,
| ~~~~~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:494,
from ../include/cbf_minicbf_header.h:264,
from adscimg2cbf_sub.c:179:
In function 'strncpy',
inlined from 'gethd.constprop' at adscimg2cbf_sub.c:263:3:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
adscimg2cbf_sub.c: In function 'gethd.constprop':
adscimg2cbf_sub.c:260:7: note: length computed here
260 | l = strlen (field);
| ^~~~~~~~~~~~~~
adscimg2cbf_sub.c: In function 'adscimg2cbf_sub2':
adscimg2cbf_sub.c:588:27: warning: '%s' directive writing up to 1023 bytes into a region of size between 0 and 1023 [-Wformat-overflow=]
588 | sprintf(temp, "%s=%s;\n", s, s1);
| ^~ ~~
In file included from /usr/include/stdio.h:867,
from /usr/include/H5Epublic.h:20,
from /usr/include/hdf5.h:26,
from ../include/cbf.h:253,
from adscimg2cbf_sub.c:177:
/usr/include/bits/stdio2.h:36:10: note: '__builtin___sprintf_chk' output between 4 and 2050 bytes into a destination of size 1024
36 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
adscimg2cbf_sub.c:1846:53: warning: 'smooth_data_as_int' may be used uninitialized in this function [-Wmaybe-uninitialized]
1846 | if (ki > 0 && smooth_data_as_int[(ki-1)(1+fasthigh-fastlow+fastpadlow+fastpadhigh)/(bin+1)+kj] > 0) {
| ^
/usr/bin/ld: ../src/libcbf.so.0.0.0: undefined reference to pcre_regcomp' /usr/bin/ld: ../src/libcbf.so.0.0.0: undefined reference to
pcre_regexec'
/usr/bin/ld: ../src/libcbf.so.0.0.0: undefined reference to `pcre_regfree'
collect2: error: ld returned 1 exit status
error: Bad exit status from /var/tmp/rpm-tmp.cG8HOP (%build)
Macro expanded in comment on line 110: %{_bindir}/convert_image
Bad exit status from /var/tmp/rpm-tmp.cG8HOP (%build)
RPM build errors:
Could not execute local: rpmbuild --define '_sourcedir /home/filiperosset/rpmbuild/my/CBFlib' --define '_specdir /home/filiperosset/rpmbuild/my/CBFlib' --define '_builddir /home/filiperosset/rpmbuild/my/CBFlib' --define '_srcrpmdir /home/filiperosset/rpmbuild/my/CBFlib' --define '_rpmdir /home/filiperosset/rpmbuild/my/CBFlib' --define 'dist %{?distprefix}.fc31' --define 'fedora 31' --eval '%undefine rhel' --define 'fc31 1' -ba /home/filiperosset/rpmbuild/my/CBFlib/CBFlib.spec | tee .build-0.9.6-1.fc31.log
[filiperosset@raw CBFlib]$
[filiperosset@raw CBFlib]$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 9.1.1 20190605 (Red Hat 9.1.1-2) (GCC)
[filiperosset@raw CBFlib]$
Not necessarily an issue report, more a case where we should have a think about the correct behaviour.
imgCIF header:
loop_
_diffrn_scan_axis.scan_id
_diffrn_scan_axis.axis_id
_diffrn_scan_axis.angle_start
_diffrn_scan_axis.angle_range
_diffrn_scan_axis.angle_increment
_diffrn_scan_axis.displacement_start
_diffrn_scan_axis.displacement_range
_diffrn_scan_axis.displacement_increment
SCAN1 GON_OMEGA 30.0000 0.0000 0.0000 0.0 0.0 0.0
SCAN1 GON_CHI 0.0000 0.0000 0.0000 0.0 0.0 0.0
SCAN1 GON_PHI 0.0000 0.0000 0.0000 0.0 0.0 0.0
SCAN1 DET_Z 0.0 0.0 0.0 209.35 0.0 0.0
SCAN1 DET_Y 0.0 0.0 0.0 0.0 0.0 0.0
SCAN1 DET_X 0.0 0.0 0.0 0.0 0.0 0.0
Code:
import pycbf, sys
h = pycbf.cbf_handle_struct()
h.read_widefile(sys.argv[1], pycbf.MSG_DIGEST)
g = h.construct_goniometer()
angles = tuple(g.get_rotation_range())
I would have expected angles to be 30, 30 but I get
dials.python bugreport.py grid_full_cbf_0005.cbf
Traceback (most recent call last):
File "bugreport.py", line 5, in <module>
angles = tuple(g.get_rotation_range())
File "/Users/graeme/svn/cctbx/build/lib/pycbf.py", line 725, in get_rotation_range
return _pycbf.cbf_positioner_struct_get_rotation_range(self)
Exception: CBFlib Error(s): CBF_NOTFOUND
presumably because cbf_simple looks for axes which are changing - perhaps we should have Python bindings to a lower level, or handle this differently in cbflib? Example image attached.
grid_full_cbf_0005.zip
The latest version of cif_img.dic
in the doc
directory is 1.8.5, which (among other things) should contain the external data pointer work that was in jrh_ext_data
branch. Comparing the two and correcting for the move to the array_data_external_data
category, the following data names are missing and should be added back:
_array_data.external_archive_path
-> _array_data_external_data.archive_path
This describes the location of a file within an archive. It is distinct from _array_data_external_data.path
which describes the location of a frame within a file, e.g. a location within an HDF5 file, which itself might be part of a larger archive.
_array_data.external_archive_format
-> _array_data_external_data.archive_format
This gives the format of the archive (e.g. .tar.gz
) within which the file containing the frame is found.
Not due to code itself but due to TIFFLIB:
..... snip ....
duplicate symbol _isspace in:
CMakeFiles/tiff.dir/libtiff/tif_print.c.o
CMakeFiles/tiff.dir/libtiff/tif_sprint.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_sprint.c.o
duplicate symbol _isalpha in:
CMakeFiles/tiff.dir/libtiff/tif_print.c.o
CMakeFiles/tiff.dir/libtiff/tif_sprint.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_strip.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_swab.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_thunder.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_tile.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_version.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_warning.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_write.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_zip.c.o
duplicate symbol ___sputc in:
CMakeFiles/tiff.dir/libtiff/tif_aux.c.o
CMakeFiles/tiff.dir/libtiff/tif_unix.c.o
ld: 118 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[5]: *** [libtiff.dylib] Error 1
make[4]: *** [CMakeFiles/tiff.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [tiff-4.0.3-rev-29Sep13-prefix/src/tiff-4.0.3-rev-29Sep13-stamp/tiff-4.0.3-rev-29Sep13-build] Error 2
make[1]: *** [CMakeFiles/tiff-4.0.3-rev-29Sep13.dir/all] Error 2
make: *** [all] Error 2
This is a known problem with TIFFLIB I think
Configuration:
CBF_USE_FORTRAN=NO /Applications/CMake.app/Contents/bin/cmake ../cbflib/
make
testing later tifflib now (seems to be up to 4.0.6 on ftp://download.osgeo.org/libtiff - canonical source today?)
There's a missing ending string quote in the cmake file at
Line 1098 in 6f8cb00
As a following advise e-mail, I tried to install but still have a problem.
I tried to build the 'cbflib-master' as a command 'make' and 'cmake' both.
as a 'make' command , during the process 'make install'
libtool: install: (cd /root/lib && { ln -s -f libtiff.so.5.2.4 libtiff.so.5 || { rm -f libtiff.so.5 && ln -s libtiff.so.5.2.4 libtiff.so.5; }; })
libtool: install: (cd /root/lib && { ln -s -f libtiff.so.5.2.4 libtiff.so || { rm -f libtiff.so && ln -s libtiff.so.5.2.4 libtiff.so; }; })
libtool: install: /usr/bin/install -c .libs/libtiff.lai /root/lib/libtiff.la
libtool: error: error: cannot install 'libtiffxx.la' to a directory not ending in /usr/local/cbflib-master/lib
make[3]: *** [install-libLTLIBRARIES] Error 1
make[3]: Leaving directory /usr/local/cbflib-master/tiff-4.0.6_rev_3Nov16/libtiff' make[2]: *** [install-am] Error 2 make[2]: Leaving directory
/usr/local/cbflib-master/tiff-4.0.6_rev_3Nov16/libtiff'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/local/cbflib-master/tiff-4.0.6_rev_3Nov16'
make: *** [tiff-4.0.6_rev_3Nov16_INSTALL] Error 2
as 'cmake', during the 'make all' command
Scanning dependencies of target test_fcb_read_image
[ 13%] Building Fortran object CMakeFiles/test_fcb_read_image.dir/src/test_fcb_read_image.f90.o
Warning: Nonexistent include directory "/usr/local/cbflib-master/hdf5-1.8.14/include"
Warning: Nonexistent include directory "/usr/local/cbflib-master/tiff-4.0.3-rev-29Sep13/include"
make[2]: *** No rule to make target hdf5-1.8.14/lib/libhdf5.so', needed by
bin/test_fcb_read_image'. Stop.
make[1]: *** [CMakeFiles/test_fcb_read_image.dir/all] Error 2
make: *** [all] Error 2
and after changing 'makefile'
DOWNLOAD = wget -N
#DOWNLOAD ?= curl -O -L
mkdir -p /root/bin
mkdir -p /root/include
mkdir -p /root/include/cbflib
chmod -R 755 /root/include/cbflib
chmod 755 /root/lib/libcbf.a
cp /root/lib/libcbf.a /root/lib/libcbf_old.a
cp ./lib/libcbf.a /root/lib/libcbf.a
chmod 755 /root/lib/libimg.a
cp /root/lib/libimg.a /root/lib/libimg_old.a
cp ./lib/libimg.a /root/lib/libimg.a
chmod 755 /root/lib/libfcb.a
cp /root/lib/libfcb.a /root/lib/libfcb_old.a
cp ./lib/libfcb.a /root/lib/libfcb.a
chmod 755 /root/lib/libcbf.so
cp /root/lib/libcbf.so /root/lib/libcbf_old.so
cp ./lib/libcbf.so /root/lib/libcbf.so
cp: cannot stat ‘./lib/libcbf.so’: No such file or directory
make: *** [install] Error 1
same problem is happen still.
I'm having trouble working out how to regenerate pycbf on the new release. it looks like the linux.sh
file is maybe out of date, and it looks to me as though the files on release don't cleanly regenerate or even compile in latex, which is a prerequisite for the nuweb workflow.
Rough list of the most important Issues I've encountered:
pycbf/CBFlib.txt
file is (six years!) out of date:
$ make $(pwd)/pycbf/CBFlib.txt
make: '/home/cbfbuilder/cbflib/pycbf/CBFlib.txt' is up to date.
$ touch doc/CBFlib.html
$ make $(pwd)/pycbf/CBFlib.txt
links -dump /home/cbfbuilder/cbflib/doc/CBFlib.html > /home/cbfbuilder/cbflib/pycbf/CBFlib.txt
make all
, and not in make tests
(which only builds _pycbf.so
). This issue can be demonstrated by simply asking for pycbf.py
(or pycbf.pdf
, which is the actual rule for trying to regenerate the sources):
$ make $(pwd)/pycbf/pycbf.py
(cd /home/cbfbuilder/cbflib/pycbf; \
....
(./pycbf.toc
! Missing $ inserted.
<inserted text>
$
l.16 ...th write logic added}{17}{subsection.10.4}
?
Makefile
doesn't seem to build nuweb things properly e.g. the rule for make_pycbf.py
is plain incorrect:
$(PY3CBF)/make_pycbf.py: $(NUWEB_DEP) $(NUWEB_DEP2) $(PY3CBF)/make_pycbf.w
(cd $(PY3CBF); $(NUWEB) make_pycbf.w)
make_pycbf.tex
. This latex script also seems to not compile (and is not checked in), so I am unable to confirm if the checked in code is an up-to-date regeneration.Without being able to compile the nuweb sources, I can't regenerate anything that depends on them e.g. everything. So what am I doing wrong, how do I actually generate these?
Finally... I notice that you've kept the whole nuweb lifecycle in this release. I'd urge reconsideration for future releases, since it looks as though it's not being developed in a literate programming way any more, and looks as though it barely was - almost the entirety of most .w
files appear to be plain sections with the pasted code, beyond the initial efforts at documentation in pycbf.w
. It would make the build process considerably simpler, make it so that commit changes don't have the same change in three different files all over the place (.w
, .tex
, and the generated output), and eliminate the error of "forgetting to regenerate after changes" (see e.g. much of the noise on the now out-of-date #19, which hadn't been correctly regenerated in a while).
I'm wondering if anybody sees an advantage in separating the development of imgCIF, the dictionary, from CBFlib the library? They are, after all, logically different. imgCIF
could become a separate repository under yayahjb, or the COMCIFS organisation could be used, or indeed some other organisation. There is an imgCIF
repository under COMCIFS at the moment that directs people here and has an older version of the dictionary.
It is possible to split a Git repository so that it retains the history of particular files, so for example it would be possible to create a new imgCIF repository that included all the history of the imgCIF.dic
files (and only those files).
In preparation for the upcoming 0.9.7 release we will be reviewing and removing stale branches. If you have any old favorites you wish to have retained, please post a comment to this issue by no later than 1 April 2021. -- Herbert
Hello,
At the ESRF we are trying to add CBF compression into HDF5 files to our acquisition chain.
We would appreciate to have an example of CBF file with its equivalent CBF filter compressed HDF5 file. Is that possible?
Thanks!
Hello, I got this bug report from one of our users
https://bugs.debian.org/cgi-bin/bugreport.cgi?archive=yes&bug=1041395
thanks for considering
Hello, I got this patch from one of our Debian developper in order to support Python 3.12
With the removable of distutils, it switched to setuptools.
https://salsa.debian.org/science-team/cbflib/-/commit/32c733a87ecf7ddffaa531b6974c0e7b39aad38c
Could you consiere integrating this change ?
thanks
Fred
Hello,
I am preparing a Debian package for dials and take care of libcbf in Debian (added python3-pycbf)
Im facing this issue[1] with the version branded by dials.
I would like to find a solution in order to be able to use the upstream cbflib instad of doing this brand.
So, I would like your opinion n the best way to solve this.
thanks for considering
Frederic
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.