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

Remove declarations of crc32 and adler32 #709

Closed
wants to merge 1 commit into from

Conversation

amadio
Copy link
Member

@amadio amadio commented May 18, 2018

These breaks compilation with the error below on my machine.

xrootd-4.8.3/tests/XrdSsiTests/XrdShMap.cc:
    In function ‘int DoA32(const char*)’:
xrootd-4.8.3/tests/XrdSsiTests/XrdShMap.cc:418:34:
    error: expected initializer before ‘OF’
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
                              ^^

This PR is a fix for issue #708.

These break compilation with the error below:

xrootd-4.8.3/tests/XrdSsiTests/XrdShMap.cc:
    In function ‘int DoA32(const char*)’:
xrootd-4.8.3/tests/XrdSsiTests/XrdShMap.cc:418:34:
    error: expected initializer before ‘OF’
ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
                              ^^
@amadio
Copy link
Member Author

amadio commented May 29, 2018

@gganis Could you please take a look at this PR?

@abh3
Copy link
Member

abh3 commented May 30, 2018

Actually, this is not Gerri's issue. I'll look at this, it's part of the SSI package.

@abh3
Copy link
Member

abh3 commented May 30, 2018

Amdio
I don't dispute that it breaks compilation on your machine but we don't know what that is. Could you provide that information (release, distribution, etc). It certainly doesn't break anything on systems we compile for. So, we need to understand why breaks on yours.

@abh3
Copy link
Member

abh3 commented Jun 11, 2018

I did not get any more information of wy these lines need to be deleted as they work with all the releases we support. So, I am closing this pull request.

@abh3 abh3 closed this Jun 11, 2018
@amadio
Copy link
Member Author

amadio commented Jun 11, 2018

Sorry, I was busy with ROOT. I will attach the errors that I get, and then you can decide to reopen if you want.

@abh3
Copy link
Member

abh3 commented Jun 11, 2018

Please also indicate which Linux distribution you are using, the release, as well as the gcc version and libz version being used.

@amadio
Copy link
Member Author

amadio commented Jun 11, 2018

This is the error that I get:

[  1%] Building CXX object src/CMakeFiles/XrdUtils.dir/XrdSys/XrdSysDNS.cc.o
cd /var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3_build/src && /usr/lib64/ccache/bin/x86_64-pc-linux-gnu-g++ -DHAVE_ATOMICS -DHAVE_CRYPT -DHAVE_ET_COM_ERR_H -DHAVE_FSTATAT -DHAVE_FUSE -DHAVE_GETHBYXR -DHAVE_GETIFADDRS -DHAVE_LIBZ -DHAVE_NAMEINFO -DHAVE_PROTOR -DHAVE_READLINE -DHAVE_SENDFILE -DHAVE_SETRESUID -DHAVE_SHADOWPW -DHAVE_SIGWTI -DHAVE_SSL -DHAVE_SYSTEMD -DHAVE_TLS1 -DHAVE_TLS11 -DHAVE_TLS12 -DHAVE_XML2 -DHAVE_XRDCRYPTO -DUSE_LIBC_SEMAPHORE=0 -DXRDPLUGIN_SOVERSION=\"4\" -DXrdUtils_EXPORTS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D__linux__=1 -I/var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3/src/.. -I/var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3/src/. -I/var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3/src -I/var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3_build/src -I/usr/local/include   -DNDEBUG -march=native -O2 -pipe -std=c++0x -std=c++0x -Wall -Wextra -Werror -Wno-unused-parameter -fno-omit-frame-pointer -Wno-error=misleading-indentation -fPIC   -o CMakeFiles/XrdUtils.dir/XrdSys/XrdSysDNS.cc.o -c /var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3/src/XrdSys/XrdSysDNS.cc
/var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3/src/XrdSsi/XrdSsiShMam.cc: In member function ‘int XrdSsiShMam::HashVal(const char*)’:
/var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3/src/XrdSsi/XrdSsiShMam.cc:885:32: error: expected initializer before ‘OF’
 {  ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
                                ^~
make[2]: *** [src/CMakeFiles/XrdSsiShMap.dir/build.make:63: src/CMakeFiles/XrdSsiShMap.dir/XrdSsi/XrdSsiShMam.cc.o] Error 1
make[2]: Leaving directory '/var/tmp/portage/net-libs/xrootd-4.8.3/work/xrootd-4.8.3_build'
make[1]: *** [CMakeFiles/Makefile2:552: src/CMakeFiles/XrdSsiShMap.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

and here is some information about my system (Gentoo Linux):

Portage 2.3.40 (python 3.6.5-final-0, default/linux/amd64/17.0/systemd, gcc-7.3.0, glibc-2.27-r3, 4.14.2-gentoo x86_64)
=================================================================
System uname: Linux-4.14.2-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700_CPU_@_3.40GHz-with-gentoo-2.6
KiB Mem:    16267472 total,   3332292 free
KiB Swap:          0 total,         0 free
Head commit of repository gentoo: 689e16682357ad63d26f324558aca005df091d86

sh bash 4.4_p23
ld GNU ld (Gentoo 2.30 p2) 2.30.0
ccache version 3.3.4 [enabled]
app-shells/bash:          4.4_p23::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.26.2::gentoo
dev-lang/python:          2.7.14-r2::gentoo, 3.5.5-r1::gentoo, 3.6.5-r1::gentoo
dev-util/ccache:          3.3.4-r1::gentoo
dev-util/cmake:           3.11.3::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.13.4-r2::gentoo, 1.15.1-r2::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.29::gentoo, 2.29.1-r1::gentoo, 2.30-r2::gentoo
sys-devel/gcc:            4.8.5::gentoo, 4.9.4::gentoo, 5.4.0-r4::gentoo, 6.4.0-r2::gentoo, 7.2.0-r1::gentoo, 7.3.0-r3::gentoo, 8.1.0-r3::gentoo
sys-devel/gcc-config:     9999::gentoo
sys-devel/libtool:        2.4.6-r5::gentoo
sys-devel/make:           4.2.1-r3::gentoo
sys-kernel/linux-headers: 4.16-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.27-r3::gentoo
sys-libs/zlib:            1.2.11-r1::gentoo
Repositories:

local
    location: /home/amadio/gentoo/local
    masters: gentoo
    priority: 0

gentoo
    location: /home/amadio/gentoo/gentoo
    sync-type: git
    sync-uri: git+ssh@git.gentoo.org/repo/gentoo.git
    priority: 1

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/srv/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch preserve-libs protect-owned sandbox sfperms strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"

The full build log can be found here.

@amadio
Copy link
Member Author

amadio commented Jun 11, 2018

I think that if you use zlib 1.2.11 you will probably be able to reproduce this.

@abh3
Copy link
Member

abh3 commented Jun 11, 2018 via email

@amadio
Copy link
Member Author

amadio commented Jun 11, 2018

Hi Andy, thanks for the pointer. In the bug report, other Gentoo developers argue that this OF macro is internal to zlib, so it shouldn't be exposed or used externally. I think that removing the redeclarations from xrootd would also be fine, and would not break on any other platform. You don't need to add a fix, I already apply the patch from this PR to xrootd in Gentoo, which is the only platform affected.

@xrootd-dev
Copy link

xrootd-dev commented Jun 11, 2018 via email

@amadio
Copy link
Member Author

amadio commented Jun 11, 2018

Ok, no problem. I will drop the patch when the next version of xrootd is released then. Thanks!

@amadio
Copy link
Member Author

amadio commented Jun 11, 2018

Actually, your fix only adds the macro to one of the files. Could you please also add the macro to tests/XrdSsiTests/XrdShMap.cc, where it is used?

@abh3
Copy link
Member

abh3 commented Jun 11, 2018 via email

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

Successfully merging this pull request may close these issues.

None yet

3 participants