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

210 add linux support #211

Merged
merged 8 commits into from
Aug 30, 2024
Merged

210 add linux support #211

merged 8 commits into from
Aug 30, 2024

Conversation

jeskesen
Copy link
Contributor

@jeskesen jeskesen commented Aug 27, 2024

Now that the DCAM API Lite has been released for linux, allow this repo to build for linux.

@jeskesen jeskesen requested a review from aliddell August 27, 2024 19:34
@jeskesen jeskesen linked an issue Aug 27, 2024 that may be closed by this pull request
…sing linux.This involved reverting most of the previous changes, and making less invasive tweaks to finding the SDK path.
…ows-specific and breaks linux build"

This reverts commit 6a5138a.
@jeskesen jeskesen marked this pull request as draft August 28, 2024 16:36
@jeskesen
Copy link
Contributor Author

Here is the output of a linux build.

    jge@x1-carbon:~/src/acquire-dev/acquire-driver-hdcam$ cmake -B build 
    -- The C compiler identification is GNU 11.4.0
    -- The CXX compiler identification is GNU 11.4.0
    -- 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
    -- Version nightly f93402e
    -- DCAM-SDK found: /opt/Hamamatsu_DCAMSDK4_v24026764/
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
    -- Found Threads: TRUE
    -- acquire-driver-common Version nightly 8e3e995
    -- Skipping test targets
    -- Skipping test targets
    -- acquire-video-runtime Version nightly f93402e
    -- Skipping test targets
    -- Configuring done (0.9s)
    -- Generating done (0.0s)
    -- Build files have been written to: /home/jge/src/acquire-dev/acquire-driver-hdcam/build


    jge@x1-carbon:~/src/acquire-dev/acquire-driver-hdcam$ cmake --build build
    [  0%] Built target acquire-device-kit
    [  1%] Building C object src/acquire-core-libs/src/acquire-core-logger/CMakeFiles/acquire-core-logger.dir/logger.c.o
    [  3%] Linking C static library libacquire-core-logger.a
    [  3%] Built target acquire-core-logger
    [  4%] Building C object src/acquire-core-libs/src/acquire-core-platform/linux/CMakeFiles/acquire-core-platform.dir/platform.c.o
    [  6%] Linking C static library libacquire-core-platform.a
    [  6%] Built target acquire-core-platform
    [  7%] Building C object src/acquire-core-libs/src/acquire-device-properties/CMakeFiles/acquire-device-properties.dir/device/props/device.c.o
    [  9%] Building C object src/acquire-core-libs/src/acquire-device-properties/CMakeFiles/acquire-device-properties.dir/device/props/storage.c.o
    [ 11%] Building C object src/acquire-core-libs/src/acquire-device-properties/CMakeFiles/acquire-device-properties.dir/device/props/components.c.o
    [ 12%] Linking C static library libacquire-device-properties.a
    [ 12%] Built target acquire-device-properties
    [ 14%] Building C object src/CMakeFiles/acquire-driver-hdcam.dir/unsupported.driver.c.o
    [ 15%] Linking C shared module libacquire-driver-hdcam.so
    [ 15%] Built target acquire-driver-hdcam
    [ 17%] Building C object src/acquire-core-libs/src/acquire-device-hal/CMakeFiles/acquire-device-hal.dir/device/hal/camera.c.o
    [ 19%] Building C object src/acquire-core-libs/src/acquire-device-hal/CMakeFiles/acquire-device-hal.dir/device/hal/driver.c.o
    [ 20%] Building CXX object src/acquire-core-libs/src/acquire-device-hal/CMakeFiles/acquire-device-hal.dir/device/hal/device.manager.cpp.o
    [ 22%] Building C object src/acquire-core-libs/src/acquire-device-hal/CMakeFiles/acquire-device-hal.dir/device/hal/loader.c.o
    [ 23%] Building C object src/acquire-core-libs/src/acquire-device-hal/CMakeFiles/acquire-device-hal.dir/device/hal/experimental/stage.axis.c.o
    [ 25%] Building C object src/acquire-core-libs/src/acquire-device-hal/CMakeFiles/acquire-device-hal.dir/device/hal/storage.c.o
    [ 26%] Linking CXX static library libacquire-device-hal.a
    [ 26%] Built target acquire-device-hal
    [ 28%] Building CXX object src/acquire-core-libs/tests/CMakeFiles/acquire-core-libs-unit-tests.dir/unit-tests.cpp.o
    [ 30%] Linking CXX executable acquire-core-libs-unit-tests
    [ 30%] Built target acquire-core-libs-unit-tests
    [ 31%] Building CXX object src/acquire-core-libs/tests/CMakeFiles/acquire-core-libs-instance-types.dir/instance-types.cpp.o
    [ 33%] Linking CXX executable acquire-core-libs-instance-types
    [ 33%] Built target acquire-core-libs-instance-types
    [ 34%] Building CXX object src/acquire-core-libs/tests/CMakeFiles/acquire-core-libs-file-create-behavior.dir/file-create-behavior.cpp.o
    [ 36%] Linking CXX executable acquire-core-libs-file-create-behavior
    [ 36%] Built target acquire-core-libs-file-create-behavior
    [ 38%] Building C object tests/acquire-video-runtime/src/CMakeFiles/acquire-video-runtime.dir/acquire.c.o
    [ 39%] Building C object tests/acquire-video-runtime/src/CMakeFiles/acquire-video-runtime.dir/runtime/channel.c.o
    [ 41%] Building C object tests/acquire-video-runtime/src/CMakeFiles/acquire-video-runtime.dir/runtime/throttler.c.o
    [ 42%] Building C object tests/acquire-video-runtime/src/CMakeFiles/acquire-video-runtime.dir/runtime/source.c.o
    [ 44%] Building C object tests/acquire-video-runtime/src/CMakeFiles/acquire-video-runtime.dir/runtime/filter.c.o
    [ 46%] Building C object tests/acquire-video-runtime/src/CMakeFiles/acquire-video-runtime.dir/runtime/sink.c.o
    [ 47%] Building C object tests/acquire-video-runtime/src/CMakeFiles/acquire-video-runtime.dir/runtime/vfslice.c.o
    [ 49%] Building C object tests/acquire-video-runtime/src/CMakeFiles/acquire-video-runtime.dir/runtime/frame_iterator.c.o
    [ 50%] Linking CXX static library libacquire-video-runtime.a
    [ 50%] Built target acquire-video-runtime
    [ 52%] Building CXX object tests/CMakeFiles/acquire-driver-hdcam-list-devices.dir/list-devices.cpp.o
    [ 53%] Linking CXX executable acquire-driver-hdcam-list-devices
    [ 53%] Built target acquire-driver-hdcam-list-devices
    [ 55%] Building CXX object tests/CMakeFiles/acquire-driver-hdcam-abort-finite-acquisition.dir/abort-finite-acquisition.cpp.o
    [ 57%] Linking CXX executable acquire-driver-hdcam-abort-finite-acquisition
    [ 57%] Built target acquire-driver-hdcam-abort-finite-acquisition
    [ 58%] Building CXX object tests/CMakeFiles/acquire-driver-hdcam-dcam-check.dir/dcam-check.cpp.o
    [ 60%] Linking CXX executable acquire-driver-hdcam-dcam-check
    [ 60%] Built target acquire-driver-hdcam-dcam-check
    [ 61%] Building CXX object tests/CMakeFiles/acquire-driver-hdcam-dcam-list-triggers.dir/dcam-list-triggers.cpp.o
    [ 63%] Linking CXX executable acquire-driver-hdcam-dcam-list-triggers
    [ 63%] Built target acquire-driver-hdcam-dcam-list-triggers
    [ 65%] Building CXX object tests/CMakeFiles/acquire-driver-hdcam-dcam-reset-on-fail.dir/dcam-reset-on-fail.cpp.o
    [ 66%] Linking CXX executable acquire-driver-hdcam-dcam-reset-on-fail
    [ 66%] Built target acquire-driver-hdcam-dcam-reset-on-fail
    [ 68%] Building CXX object tests/CMakeFiles/acquire-driver-hdcam-one-video-stream.dir/one-video-stream.cpp.o
    [ 69%] Linking CXX executable acquire-driver-hdcam-one-video-stream
    [ 69%] Built target acquire-driver-hdcam-one-video-stream
    [ 71%] Building CXX object tests/CMakeFiles/acquire-driver-hdcam-set-output-trigger.dir/set-output-trigger.cpp.o
    [ 73%] Linking CXX executable acquire-driver-hdcam-set-output-trigger
    [ 73%] Built target acquire-driver-hdcam-set-output-trigger
    [ 74%] Building C object tests/acquire-driver-common/src/simcams/3rdParty/pcg-c-basic-0.9/CMakeFiles/pcg.dir/pcg_basic.c.o
    [ 74%] Built target pcg
    [ 76%] Building C object tests/acquire-driver-common/src/storage/CMakeFiles/storage.dir/basic.storage.c.o
    [ 77%] Building C object tests/acquire-driver-common/src/storage/CMakeFiles/storage.dir/raw.c.o
    [ 79%] Building CXX object tests/acquire-driver-common/src/storage/CMakeFiles/storage.dir/side-by-side-tiff.cpp.o
    [ 80%] Building CXX object tests/acquire-driver-common/src/storage/CMakeFiles/storage.dir/tiff.cpp.o
    [ 82%] Building C object tests/acquire-driver-common/src/storage/CMakeFiles/storage.dir/trash.c.o
    [ 84%] Linking CXX static library libstorage.a
    [ 84%] Built target storage
    [ 85%] Building C object tests/acquire-driver-common/src/simcams/CMakeFiles/simcams.dir/simulated.camera.c.o
    [ 87%] Building CXX object tests/acquire-driver-common/src/simcams/CMakeFiles/simcams.dir/popcount.cpp.o
    [ 88%] Building CXX object tests/acquire-driver-common/src/simcams/CMakeFiles/simcams.dir/imfill.pattern.cpp.o
    [ 90%] Linking CXX static library libsimcams.a
    [ 90%] Built target simcams
    [ 92%] Building C object tests/acquire-driver-common/src/CMakeFiles/acquire-driver-common.dir/basics.driver.c.o
    <command-line>: warning: "GIT_HASH" redefined
    <command-line>: note: this is the location of the previous definition
    [ 93%] Linking CXX shared module libacquire-driver-common.so
    [ 93%] Built target acquire-driver-common
    [ 95%] Copying acquire-driver-common to /home/jge/src/acquire-dev/acquire-driver-hdcam/build/tests
    [ 95%] Built target acquire-driver-hdcam-copy-acquire-driver-common-for-tests
    [ 96%] Copying acquire-driver-hdcam to /home/jge/src/acquire-dev/acquire-driver-hdcam/build/tests
    [ 96%] Built target acquire-driver-hdcam-copy-acquire-driver-hdcam-for-tests
    [ 98%] Building CXX object tests/CMakeFiles/acquire-driver-hdcam-set-roi.dir/set-roi.cpp.o
    [100%] Linking CXX executable acquire-driver-hdcam-set-roi
    [100%] Built target acquire-driver-hdcam-set-roi
    jge@x1-carbon:~/src/acquire-dev/acquire-driver-hdcam$

@@ -7,20 +7,27 @@
# folders should be on the system path.
find_path(DCAMSDK_ROOT_DIR
NAMES "dcamsdk4/inc/dcamapi4.h"
PATH_SUFFIXES "Hamamatsu_DCAMSDK4_v22126552"
PATH_SUFFIXES
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nclack @aliddell , are we ok adding another possible version of the SDK? It isn't readily apparent how to download older versions from their website.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's probably worth forcing the upgrade to just use the latest. Or maybe there's a way to glob on this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets upgrade. Not sure what you mean re glob @aliddell. Let me know what version is best and I'll install it on the test machine.

@jeskesen jeskesen marked this pull request as ready for review August 28, 2024 16:58
@jeskesen jeskesen force-pushed the 210-add-linux-support branch from 3d0aaa7 to 0e32d78 Compare August 30, 2024 03:23
@jeskesen jeskesen merged commit 766fe07 into main Aug 30, 2024
1 check passed
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.

Add linux support
3 participants