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

Fail to build on FreeBSD 14 current #154

Open
wisonye opened this issue Mar 21, 2023 · 2 comments
Open

Fail to build on FreeBSD 14 current #154

wisonye opened this issue Mar 21, 2023 · 2 comments

Comments

@wisonye
Copy link

wisonye commented Mar 21, 2023

Hi there, I'm trying to port my raylib project from MacOS to FreeBSD, but the compilation is fail:

   Compiling cc v1.0.79
   Compiling fs_extra v1.3.0
   Compiling libc v0.2.140
   Compiling cfg-if v1.0.0
   Compiling lazy_static v1.4.0
   Compiling cmake v0.1.49
   Compiling raylib-sys v3.7.0
error: failed to run custom build command for `raylib-sys v3.7.0`

Caused by:
  process didn't exit successfully: `/usr/home/wison/Rust/ping-pong-tron-legacy-rust/target/debug/build/raylib-sys-99c6dec6590bb7b2/build-script-build` (exit status: 101)
  --- stdout
  CMAKE_TOOLCHAIN_FILE_x86_64-unknown-freebsd = None
  CMAKE_TOOLCHAIN_FILE_x86_64_unknown_freebsd = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-unknown-freebsd = None
  CMAKE_GENERATOR_x86_64_unknown_freebsd = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-unknown-freebsd = None
  CMAKE_PREFIX_PATH_x86_64_unknown_freebsd = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-unknown-freebsd = None
  CMAKE_x86_64_unknown_freebsd = None
  HOST_CMAKE = None
  CMAKE = None
  running: cd "/usr/home/wison/Rust/ping-pong-tron-legacy-rust/target/debug/build/raylib-sys-377270cf76bdc406/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/usr/home/wison/Rust/ping-pong-tron-legacy-rust/target/debug/build/raylib-sys-377270cf76bdc406/out/raylib" "-DBUILD_EXAMPLES=OFF" "-DCMAKE_BUILD_TYPE=Release" "-DSUPPORT_BUSY_WAIT_LOOP=OFF" "-DPLATFORM=Desktop" "-DCMAKE_INSTALL_PREFIX=/usr/home/wison/Rust/ping-pong-tron-legacy-rust/target/debug/build/raylib-sys-377270cf76bdc406/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_COMPILER=/usr/bin/cc"
  -- The C compiler identification is Clang 14.0.5
  -- The CXX compiler identification is Clang 14.0.5
  -- 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
  -- Performing Test COMPILER_HAS_THOSE_TOGGLES
  -- Performing Test COMPILER_HAS_THOSE_TOGGLES - Success
  -- Testing if -Werror=pointer-arith can be used -- compiles
  -- Testing if -Werror=implicit-function-declaration can be used -- compiles
  -- Testing if -fno-strict-aliasing can be used -- compiles
  -- Using raylib's GLFW
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - found
  -- Found Threads: TRUE
  -- Using X11 for window creation
  -- Found X11: /usr/local/include
  -- Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so
  -- Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so - found
  -- Looking for gethostbyname
  -- Looking for gethostbyname - found
  -- Looking for connect
  -- Looking for connect - found
  -- Looking for remove
  -- Looking for remove - found
  -- Looking for shmat
  -- Looking for shmat - found
  -- Looking for IceConnectionNumber in ICE
  -- Looking for IceConnectionNumber in ICE - found
  -- Audio Backend: miniaudio
  -- Building raylib static library
  -- Generated build type: Release
  -- Compiling with the flags:
  --   PLATFORM=PLATFORM_DESKTOP
  --   GRAPHICS=GRAPHICS_API_OPENGL_33
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /usr/home/wison/Rust/ping-pong-tron-legacy-rust/target/debug/build/raylib-sys-377270cf76bdc406/out/build
  running: cd "/usr/home/wison/Rust/ping-pong-tron-legacy-rust/target/debug/build/raylib-sys-377270cf76bdc406/out/build" && "cmake" "--build" "." "--target" "install" "--config" "Debug" "--parallel" "16"
  [  8%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/context.c.o
  [  8%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/init.c.o
  [ 12%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/input.c.o
  [ 16%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/monitor.c.o
  [ 24%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/vulkan.c.o
  [ 24%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/window.c.o
  [ 32%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/x11_init.c.o
  [ 32%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/x11_monitor.c.o
  [ 36%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/x11_window.c.o
  [ 40%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/xkb_unicode.c.o
  [ 48%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/posix_time.c.o
  [ 48%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/posix_thread.c.o
  [ 56%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/glx_context.c.o
  [ 56%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/egl_context.c.o
  [ 64%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/osmesa_context.c.o
  [ 64%] Building C object raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/null_joystick.c.o

  --- stderr
  CMake Warning (dev) at /usr/local/share/cmake/Modules/FindOpenGL.cmake:315 (message):
    Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
    available.  Run "cmake --help-policy CMP0072" for policy details.  Use the
    cmake_policy command to set the policy and suppress this warning.

    FindOpenGL found both a legacy GL library:

      OPENGL_gl_LIBRARY: /usr/local/lib/libGL.so

    and GLVND libraries for OpenGL and GLX:

      OPENGL_opengl_LIBRARY: /usr/local/lib/libOpenGL.so
      OPENGL_glx_LIBRARY: /usr/local/lib/libGLX.so

    OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
    compatibility with CMake 3.10 and below the legacy GL library will be used.
  Call Stack (most recent call first):
    cmake/LibraryConfigurations.cmake:20 (find_package)
    src/CMakeLists.txt:56 (include)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning:
    Manually-specified variables were not used by the project:

      CMAKE_ASM_COMPILER
      CMAKE_ASM_FLAGS


  /usr/home/wison/Rust/ping-pong-tron-legacy-rust/target/debug/build/raylib-sys-377270cf76bdc406/out/raylib/src/external/glfw/src/posix_time.c:81:9: error: implicit declaration of function 'gettimeofday' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
          gettimeofday(&tv, NULL);
          ^
  1 error generated.
  gmake[2]: *** [raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/build.make:216: raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/posix_time.c.o] Error 1
  gmake[2]: *** Waiting for unfinished jobs....
  gmake[1]: *** [CMakeFiles/Makefile2:159: raylib/external/glfw/src/CMakeFiles/glfw_objlib.dir/all] Error 2
  gmake: *** [Makefile:166: all] Error 2
  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 2

  build script failed, must exit now', /home/wison/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.49/src/lib.rs:1104:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Tried OpenGL_GL_PREFERENCE=GLVND cargo build already but still fail:)


  • Raylib version

    pkg info --list-files raylib
    
    # raylib-4.2.0:
    #         /usr/local/include/raylib.h
    #         /usr/local/include/raymath.h
    #         /usr/local/include/rlgl.h
    #         /usr/local/lib/cmake/raylib/raylib-config-version.cmake
    #         /usr/local/lib/cmake/raylib/raylib-config.cmake
    #         /usr/local/lib/libraylib.so
    #         /usr/local/lib/libraylib.so.4.2.0
    #         /usr/local/lib/libraylib.so.420
    #         /usr/local/libdata/pkgconfig/raylib.pc
    #         /usr/local/share/licenses/raylib-4.2.0/LICENSE
    #         /usr/local/share/licenses/raylib-4.2.0/ZLIB
    #         /usr/local/share/licenses/raylib-4.2.0/catalog.mk

  • FreeBSD version

    uname -a
    
    # FreeBSD my-bsd 14.0-CURRENT FreeBSD 14.0-CURRENT #0: Sun Jan  8 12:56:00 NZDT 2023 

@raysan5
Copy link

raysan5 commented Mar 21, 2023

@wisonye An issue with FreeBSD was fixed yesterday, please, try with latest raylib master branch from github.

@wisonye
Copy link
Author

wisonye commented Mar 21, 2023

@wisonye An issue with FreeBSD was fixed yesterday, please, try with latest raylib master branch from github.

I just gave it a try, but fail to compile the latest master with the commit ([Update BINDINGS.md for raylib Odin 4.5 (]

 I  wison | /home/wison/temp/raylib   mkdir build
 I  wison | /home/wison/temp/raylib   cd build && cmake -DCMAKE_C_COMPILER=/usr/local/llvm15/bin/clang  ..
-- The C compiler identification is Clang 15.0.6
-- The CXX compiler identification is Clang 15.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/llvm15/bin/clang - 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/local/llvm15/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_HAS_THOSE_TOGGLES
-- Performing Test COMPILER_HAS_THOSE_TOGGLES - Success
-- Testing if -Werror=pointer-arith can be used -- compiles
-- Testing if -Werror=implicit-function-declaration can be used -- compiles
-- Testing if -fno-strict-aliasing can be used -- compiles
-- Setting build type to 'Debug' as none was specified.
-- Using raylib's GLFW
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Including X11 support
-- Found X11: /usr/local/include
-- Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so
-- Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Audio Backend: miniaudio
-- Building raylib static library
-- Generated build type: Debug
-- Compiling with the flags:
--   PLATFORM=PLATFORM_DESKTOP
--   GRAPHICS=GRAPHICS_API_OPENGL_33
-- Building examples is enabled
-- Looking for CLOCK_MONOTONIC
-- Looking for CLOCK_MONOTONIC - found
-- Looking for QueryPerformanceCounter
-- Looking for QueryPerformanceCounter - not found
-- Looking for stdatomic.h
-- Looking for stdatomic.h - found
-- Testing if -std=c11 can be used -- compiles
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wison/temp/raylib/build
 I  wison | /home/wison/temp/raylib/build   make
[  1%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/context.c.o
[  1%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/init.c.o
[  1%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/input.c.o
[  2%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/monitor.c.o
[  2%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/platform.c.o
[  2%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/vulkan.c.o
[  3%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/window.c.o
[  3%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/egl_context.c.o
[  3%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/osmesa_context.c.o
[  4%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/null_init.c.o
[  4%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/null_monitor.c.o
[  4%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/null_window.c.o
[  5%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/null_joystick.c.o
[  5%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/posix_module.c.o
[  5%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/posix_time.c.o
[  6%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/posix_thread.c.o
[  6%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/x11_init.c.o
[  6%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/x11_monitor.c.o
[  7%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/x11_window.c.o
[  7%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/xkb_unicode.c.o
[  7%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/glx_context.c.o
[  8%] Building C object raylib/external/glfw/src/CMakeFiles/glfw.dir/posix_poll.c.o
[  8%] Linking C static library libglfw3.a
[  8%] Built target glfw
[  8%] Building C object raylib/CMakeFiles/raylib.dir/rcore.c.o
[  9%] Building C object raylib/CMakeFiles/raylib.dir/rmodels.c.o
In file included from /home/wison/temp/raylib/src/rmodels.c:112:
/home/wison/temp/raylib/src/external/par_shapes.h:1133:32: warning: implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648 [-Wimplicit-const-int-float-conversion]
    float r = (float) rand() / RAND_MAX;
                             ~ ^~~~~~~~
/usr/include/stdlib.h:80:18: note: expanded from macro 'RAND_MAX'
#define RAND_MAX        0x7fffffff
                        ^~~~~~~~~~
1 warning generated.
[  9%] Building C object raylib/CMakeFiles/raylib.dir/rshapes.c.o
[  9%] Building C object raylib/CMakeFiles/raylib.dir/rtext.c.o
[ 10%] Building C object raylib/CMakeFiles/raylib.dir/rtextures.c.o
[ 10%] Building C object raylib/CMakeFiles/raylib.dir/utils.c.o
[ 10%] Building C object raylib/CMakeFiles/raylib.dir/raudio.c.o
[ 11%] Linking C static library libraylib.a
[ 11%] Built target raylib
[ 11%] Building C object examples/CMakeFiles/audio_mixed_processor.dir/audio/audio_mixed_processor.c.o
[ 11%] Linking C executable audio_mixed_processor
ld: error: unable to find library -latomic
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make[2]: stopped in /usr/home/wison/temp/raylib/build
*** Error code 1

Stop.
make[1]: stopped in /usr/home/wison/temp/raylib/build
*** Error code 1

Stop.
make: stopped in /usr/home/wison/temp/raylib/build

Tried to install the following dependencies that are related to atomic but will get this error: ld: error: unable to find library -latomic

  • devel/libatomic_ops
  • graphics/mesa-devel

Totally have no idea at this moment:)

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

No branches or pull requests

2 participants