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

FreeBSD: xrootd-5.6.2/src/XrdPosix/XrdPosix.cc:83:3: error: "Unsupported platform! Please report it as a bug." #2090

Closed
nunotexbsd opened this issue Sep 21, 2023 · 7 comments
Assignees
Milestone

Comments

@nunotexbsd
Copy link

===>  Performing out-of-source build
/bin/mkdir -p /wrkdirs/usr/ports/databases/xrootd/work/.build
-- The C compiler identification is Clang 16.0.6
-- The CXX compiler identification is Clang 16.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for setresuid
-- Looking for setresuid - found
-- Looking for strlcpy
-- Looking for strlcpy - found
-- Looking for fstatat
-- Looking for fstatat - found
-- Looking for sigwaitinfo
-- Looking for sigwaitinfo - found
-- Looking for shadow.h
-- Looking for shadow.h - not found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for getnameinfo
-- Looking for getnameinfo - found
-- Looking for getprotobyname_r
-- Looking for getprotobyname_r - found
-- Looking for gethostbyaddr_r
-- Looking for gethostbyaddr_r - found
-- Looking for sendfile
-- Looking for sendfile - found
-- Looking for crypt
-- Looking for crypt - not found
-- Looking for crypt in crypt
-- Looking for crypt in crypt - found
-- Looking for et/com_err.h
-- Looking for et/com_err.h - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Found Threads: TRUE  
-- Performing Test HAVE_ATOMICS
-- Performing Test HAVE_ATOMICS - Success
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Found ZLIB: /usr/lib/libz.so (found version "1.3")  
-- Looking for uuid_generate_random
-- Looking for uuid_generate_random - not found
-- Looking for uuid_generate_random
-- Looking for uuid_generate_random - found
-- Found libuuid: /usr/local/include  
-- Performing Test READLINE_OK
-- Performing Test READLINE_OK - Success
-- Found Readline: /usr/local/lib/libreadline.so  
-- Could NOT find TinyXml (missing: TINYXML_LIBRARIES TINYXML_INCLUDE_DIR) 
-- Found LibXml2: /usr/local/lib/libxml2.so (found version "2.10.4") 
-- Could NOT find systemd (missing: SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES) 
-- Found CURL: /usr/local/lib/libcurl.so (found version "8.2.1")  
-- Found OpenSSL: /usr/lib/libcrypto.so (found suitable version "3.0.10", minimum required is "1.0.2")  
-- Looking for curl_multi_wait
-- Looking for curl_multi_wait - found
-- Could NOT find Macaroons (missing: MACAROONS_INCLUDES MACAROONS_LIB) 
-- Found PkgConfig: /usr/local/bin/pkgconf (found version "2.0.3") 
-- Checking for module 'json-c'
--   Found json-c, version 0.17
-- Could NOT find SciTokensCpp (missing: SCITOKENS_CPP_LIBRARIES SCITOKENS_CPP_INCLUDE_DIR) 
-- Found Python: /usr/local/bin/python3.9 (found suitable version "3.9.18", minimum required is "3") found components: Interpreter Development.Module 
-- Checking for module 'davix'
--   Found davix, version 0.8.4
-- Performing Test CURL_PIPELINING
-- Performing Test CURL_PIPELINING - Success
-- Found Python: /usr/local/bin/python3.9 (found version "3.9.18") found components: Interpreter Development.Module 
-- ----------------------------------------
-- Installation path: /usr/local
-- C Compiler:        /usr/bin/cc
-- C++ Compiler:      /usr/bin/c++
-- Build type:        Release
-- Plug-in version:   5
-- 
-- Ceph support:      disabled
-- Readline support:  yes
-- FUSE support:      disabled
-- Kerberos5 support: disabled
-- XrdCl:             yes
-- XrdClHttp:         yes
-- HTTP support:      yes
-- HTTP TPC support:  yes
-- VOMS support:      disabled
-- Python support:    yes
-- Erasure coding:    disabled
-- Macaroons:         disabled
-- SciTokens:         disabled
-- Tests:             disabled
-- ----------------------------------------
-- Configuring done (1.9s)
-- Generating done (0.1s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_COLOR_MAKEFILE
    CMAKE_C_FLAGS_RELEASE
    CMAKE_VERBOSE_MAKEFILE
    FETCHCONTENT_FULLY_DISCONNECTED
[ 34% 217/603] : && /usr/bin/c++ -fPIC -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -DNDEBUG  -L/usr/local/lib  -fstack-protector-strong -L/usr/local/lib -shared  -o src/libXrdSecProt-5.so src/CMakeFiles/XrdSecProt-5.dir/XrdSec/XrdSecProtect.cc.o src/CMakeFiles/XrdSecProt-5.dir/XrdSec/XrdSecProtector.cc.o  -Wl,-rpath,/wrkdirs/usr/ports/databases/xrootd/work/.build/src:  src/libXrdUtils.so.3.0.0  -pthread  /usr/lib/libcrypto.so && :
[ 34% 218/603] /usr/bin/c++ -DHAVE_ATOMICS -DHAVE_CRYPT -DHAVE_CURL_MULTI_WAIT -DHAVE_DH_PADDED -DHAVE_FSTATAT -DHAVE_GETHBYXR -DHAVE_GETIFADDRS -DHAVE_LIBZ -DHAVE_NAMEINFO -DHAVE_PROTOR -DHAVE_READLINE -DHAVE_SENDFILE -DHAVE_SETRESUID -DHAVE_SIGWTI -DHAVE_SSL -DHAVE_STRLCPY -DHAVE_XML2 -DHAVE_XRDCRYPTO -DXRDPLUGIN_SOVERSION=\"5\" -DXrdPosixPreload_EXPORTS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/wrkdirs/usr/ports/databases/xrootd/work/.build/src -I/wrkdirs/usr/ports/databases/xrootd/work/xrootd-5.6.2/src -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -DNDEBUG -std=gnu++14 -fPIC -fno-lto -MD -MT src/CMakeFiles/XrdPosixPreload.dir/XrdPosix/XrdPosix.cc.o -MF src/CMakeFiles/XrdPosixPreload.dir/XrdPosix/XrdPosix.cc.o.d -o src/CMakeFiles/XrdPosixPreload.dir/XrdPosix/XrdPosix.cc.o -c /wrkdirs/usr/ports/databases/xrootd/work/xrootd-5.6.2/src/XrdPosix/XrdPosix.cc
FAILED: src/CMakeFiles/XrdPosixPreload.dir/XrdPosix/XrdPosix.cc.o 
/usr/bin/c++ -DHAVE_ATOMICS -DHAVE_CRYPT -DHAVE_CURL_MULTI_WAIT -DHAVE_DH_PADDED -DHAVE_FSTATAT -DHAVE_GETHBYXR -DHAVE_GETIFADDRS -DHAVE_LIBZ -DHAVE_NAMEINFO -DHAVE_PROTOR -DHAVE_READLINE -DHAVE_SENDFILE -DHAVE_SETRESUID -DHAVE_SIGWTI -DHAVE_SSL -DHAVE_STRLCPY -DHAVE_XML2 -DHAVE_XRDCRYPTO -DXRDPLUGIN_SOVERSION=\"5\" -DXrdPosixPreload_EXPORTS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/wrkdirs/usr/ports/databases/xrootd/work/.build/src -I/wrkdirs/usr/ports/databases/xrootd/work/xrootd-5.6.2/src -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -DNDEBUG -std=gnu++14 -fPIC -fno-lto -MD -MT src/CMakeFiles/XrdPosixPreload.dir/XrdPosix/XrdPosix.cc.o -MF src/CMakeFiles/XrdPosixPreload.dir/XrdPosix/XrdPosix.cc.o.d -o src/CMakeFiles/XrdPosixPreload.dir/XrdPosix/XrdPosix.cc.o -c /wrkdirs/usr/ports/databases/xrootd/work/xrootd-5.6.2/src/XrdPosix/XrdPosix.cc
/wrkdirs/usr/ports/databases/xrootd/work/xrootd-5.6.2/src/XrdPosix/XrdPosix.cc:83:3: error: "Unsupported platform! Please report it as a bug."
 #error "Unsupported platform! Please report it as a bug."
  ^
1 error generated.

Full log at https://people.freebsd.org/~eduardo/logs/xrootd/xrootd-5.6.2.log

Any clues?

Thanks

@amadio amadio self-assigned this Sep 21, 2023
@amadio
Copy link
Member

amadio commented Sep 21, 2023

I will have a look into this for 5.7, thanks for reporting!

@olifre
Copy link
Contributor

olifre commented Sep 25, 2023

@amadio Note that in case you also want to add CI for FreeBSD with GitHub actions, that's currently a bit fiddly, but doable. One possible way is this one:
https://github.com/mpv-player/mpv/blob/9cd2a9fc48ea92cf45e2925e7ed65152e377aea2/.github/workflows/build.yml#L164
(i.e. using a FreeBSD VM on macOS resources provided by GitHub).

@amadio
Copy link
Member

amadio commented Sep 27, 2023

@olifre Thanks, I will have a look. We could also try a self-hosted VM in CERN openstack for it, but first I need to fix the code 😁

@olifre
Copy link
Contributor

olifre commented Oct 23, 2023

@amadio Note that the approach I linked above has developed issues (bootloops inside the GitHub macOS runners), so the following action may be a better choice these days:
cross-platform-actions/action
It seems to provide a nicer abstraction on GitHub runners and also supports other BSDs, if necessary.

@amadio
Copy link
Member

amadio commented Oct 24, 2023

@olifre Thanks. I have not had time to look into this yet, but will eventually set something up if FreeBSD becomes a supported platform.

@eamjensen
Copy link

@amadio xrootd version 4.10.0 is available on FreeBSD (https://www.freshports.org/databases/xrootd/) and it is used by ROOT version 6.28/06 on FreeBSD (https://www.freshports.org/devel/root/).
There is a minor patch of one of the source files of xrootd on FreeBSD (https://cgit.freebsd.org/ports/tree/databases/xrootd/files/patch-src_XrdSys_XrdSysFAttrBsd.icc), so it might be as simple as marking FreeBSD as supported and perhaps incorporating this small patch in the xrootd source code.

amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 18, 2024
@amadio
Copy link
Member

amadio commented Feb 18, 2024

Alright, I have good news and bad news to share. The good news is that over this weekend I've setup a local FreeBSD VM on my machine with VirtualBox and fixed the build on FreeBSD. The bad news is that the client doesn't seem to function properly, so that will require further effort to understand what's going on. At the moment, however, we do not have time to invest on this, but I will happily test/merge patches to fix this. Hopefully it won't require drastic changes to fix. The task manager seems to hang once the client starts, so I suspect something odd is happening at initialization. I'm closing this particular issue as I just merged the build fix into the devel branch (which will become v5.7 release), but with the understanding that full FreeBSD support will require more effort and is a separate issue.

@amadio amadio closed this as completed Feb 18, 2024
@amadio amadio modified the milestones: 5.7.0, 5.6.8 Feb 18, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 21, 2024
amadio added a commit to amadio/xrootd that referenced this issue Feb 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants