Giter VIP home page Giter VIP logo

Comments (5)

mzucker avatar mzucker commented on July 18, 2024

I am concerned about some of the errors I am seeing above, for instance this one:

/data/melnichenko/Progs/apriltag/core/common/time_util.c:57:2: error: invalid preprocessing directive #void
 #void utime_to_timespec(int64_t v, struct timespec *ts)

If you look at the corresponding file in the master branch, you will find the corresponding line 57 does not start with a hash mark # .

Perhaps you attempted to introduce Python-style comments to a C file? In any event, the code probably been improperly edited. Please check out a clean copy of the repo and try again – if you still see errors, we can proceed from there.

from apriltag.

amelnichenko avatar amelnichenko commented on July 18, 2024

Sorry, maybe I put he wrong output by mistake. The correct one is

Scanning dependencies of target apriltag
[  1%] Building C object core/CMakeFiles/apriltag.dir/tag25h7.c.o
[  3%] Building C object core/CMakeFiles/apriltag.dir/tag16h5.c.o
[  7%] Building C object core/CMakeFiles/apriltag.dir/apriltag_quad_thresh.c.o
[  7%] Building C object core/CMakeFiles/apriltag.dir/apriltag.c.o
In file included from /data/melnichenko/Progs/apriltag/core/common/timeprofile.h:44:0,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.h:45,
                 from /data/melnichenko/Progs/apriltag/core/tag25h7.c:36:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
/data/melnichenko/Progs/apriltag/core/tag25h7.c: In function ‘tag25h7_create’:
/data/melnichenko/Progs/apriltag/core/tag25h7.c:41:15: warning: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]
    tf->name = strdup("tag25h7");
               ^~~~~~
               strcmp
/data/melnichenko/Progs/apriltag/core/tag25h7.c:41:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
    tf->name = strdup("tag25h7");
             ^
In file included from /data/melnichenko/Progs/apriltag/core/common/timeprofile.h:44:0,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.h:45,
                 from /data/melnichenko/Progs/apriltag/core/tag16h5.c:36:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
In file included from /data/melnichenko/Progs/apriltag/core/common/timeprofile.h:44:0,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.h:45,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.c:32:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
/data/melnichenko/Progs/apriltag/core/tag16h5.c: In function ‘tag16h5_create’:
/data/melnichenko/Progs/apriltag/core/tag16h5.c:41:15: warning: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]
    tf->name = strdup("tag16h5");
               ^~~~~~
               strcmp
/data/melnichenko/Progs/apriltag/core/tag16h5.c:41:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
    tf->name = strdup("tag16h5");
             ^
/data/melnichenko/Progs/apriltag/core/apriltag.c: In function ‘rotate90’:
/data/melnichenko/Progs/apriltag/core/apriltag.c:89:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int32_t c = 0; c < d; c++) {
                               ^
/data/melnichenko/Progs/apriltag/core/apriltag.c: In function ‘quick_decode_init’:
/data/melnichenko/Progs/apriltag/core/apriltag.c:180:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < family->ncodes; i++) {
                       ^
/data/melnichenko/Progs/apriltag/core/apriltag.c: In function ‘quad_decode’:
/data/melnichenko/Progs/apriltag/core/apriltag.c:602:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int pattern_idx = 0; pattern_idx < sizeof(patterns)/(5*sizeof(float)); pattern_idx ++) {
                                           ^
/data/melnichenko/Progs/apriltag/core/apriltag.c:607:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i = 0; i < 2*family->black_border + family->d; i++) {
                           ^
/data/melnichenko/Progs/apriltag/core/apriltag.c:637:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int bitidx = 0; bitidx < family->d * family->d; bitidx++) {
                                 ^
/data/melnichenko/Progs/apriltag/core/apriltag.c: In function ‘apriltag_detector_detect’:
/data/melnichenko/Progs/apriltag/core/apriltag.c:1129:9: warning: implicit declaration of function ‘srandom’; did you mean ‘srand’? [-Wimplicit-function-declaration]
         srandom(0);
         ^~~~~~~
         srand
/data/melnichenko/Progs/apriltag/core/apriltag.c:1136:33: warning: implicit declaration of function ‘random’; did you mean ‘randf’? [-Wimplicit-function-declaration]
             int color = bias + (random() % (255-bias));
                                 ^~~~~~
                                 randf
In file included from /data/melnichenko/Progs/apriltag/core/apriltag_quad_thresh.c:44:0:
/data/melnichenko/Progs/apriltag/core/common/unionfind.h: In function ‘unionfind_create’:
/data/melnichenko/Progs/apriltag/core/common/unionfind.h:63:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i <= maxid; i++) {
                       ^~
/data/melnichenko/Progs/apriltag/core/apriltag_quad_thresh.c: In function ‘apriltag_quad_thresh’:
/data/melnichenko/Progs/apriltag/core/apriltag_quad_thresh.c:1705:51: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if (unionfind_get_set_size(uf, v) < td->qtp.min_cluster_pixels)
                                                   ^
[  9%] Building C object core/CMakeFiles/apriltag.dir/tag25h9.c.o
In file included from /data/melnichenko/Progs/apriltag/core/common/timeprofile.h:44:0,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.h:45,
                 from /data/melnichenko/Progs/apriltag/core/tag25h9.c:36:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
/data/melnichenko/Progs/apriltag/core/tag25h9.c: In function ‘tag25h9_create’:
/data/melnichenko/Progs/apriltag/core/tag25h9.c:41:15: warning: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]
    tf->name = strdup("tag25h9");
               ^~~~~~
               strcmp
/data/melnichenko/Progs/apriltag/core/tag25h9.c:41:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
    tf->name = strdup("tag25h9");
             ^
[ 11%] Building C object core/CMakeFiles/apriltag.dir/tag36h10.c.o
[ 13%] Building C object core/CMakeFiles/apriltag.dir/tag36h11.c.o
In file included from /data/melnichenko/Progs/apriltag/core/common/timeprofile.h:44:0,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.h:45,
                 from /data/melnichenko/Progs/apriltag/core/tag36h10.c:36:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
/data/melnichenko/Progs/apriltag/core/tag36h10.c: In function ‘tag36h10_create’:
/data/melnichenko/Progs/apriltag/core/tag36h10.c:41:15: warning: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]
    tf->name = strdup("tag36h10");
               ^~~~~~
               strcmp
/data/melnichenko/Progs/apriltag/core/tag36h10.c:41:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
    tf->name = strdup("tag36h10");
             ^
In file included from /data/melnichenko/Progs/apriltag/core/common/timeprofile.h:44:0,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.h:45,
                 from /data/melnichenko/Progs/apriltag/core/tag36h11.c:36:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
/data/melnichenko/Progs/apriltag/core/tag36h11.c: In function ‘tag36h11_create’:
/data/melnichenko/Progs/apriltag/core/tag36h11.c:41:15: warning: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]
    tf->name = strdup("tag36h11");
               ^~~~~~
               strcmp
/data/melnichenko/Progs/apriltag/core/tag36h11.c:41:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
    tf->name = strdup("tag36h11");
             ^
[ 15%] Building C object core/CMakeFiles/apriltag.dir/tag36artoolkit.c.o
In file included from /data/melnichenko/Progs/apriltag/core/common/timeprofile.h:44:0,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.h:45,
                 from /data/melnichenko/Progs/apriltag/core/tag36artoolkit.c:35:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
/data/melnichenko/Progs/apriltag/core/tag36artoolkit.c: In function ‘tag36artoolkit_create’:
/data/melnichenko/Progs/apriltag/core/tag36artoolkit.c:40:16: warning: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]
     tf->name = strdup("artoolkit");
                ^~~~~~
                strcmp
/data/melnichenko/Progs/apriltag/core/tag36artoolkit.c:40:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     tf->name = strdup("artoolkit");
              ^
[ 17%] Building C object core/CMakeFiles/apriltag.dir/g2d.c.o
[ 19%] Building C object core/CMakeFiles/apriltag.dir/apriltag_family.c.o
In file included from /data/melnichenko/Progs/apriltag/core/common/timeprofile.h:44:0,
                 from /data/melnichenko/Progs/apriltag/core/apriltag.h:45,
                 from /data/melnichenko/Progs/apriltag/core/apriltag_family.c:1:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
[ 21%] Building C object core/CMakeFiles/apriltag.dir/common/zarray.c.o
[ 23%] Building C object core/CMakeFiles/apriltag.dir/common/zhash.c.o
[ 25%] Building C object core/CMakeFiles/apriltag.dir/common/zmaxheap.c.o
/data/melnichenko/Progs/apriltag/core/common/zhash.c: In function ‘zhash_get’:
/data/melnichenko/Progs/apriltag/core/common/zhash.c:143:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < bucket->size; i++) {
                       ^
/data/melnichenko/Progs/apriltag/core/common/zhash.c: In function ‘zhash_get_volatile’:
/data/melnichenko/Progs/apriltag/core/common/zhash.c:166:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < bucket->size; i++) {
                       ^
/data/melnichenko/Progs/apriltag/core/common/zhash.c: In function ‘zhash_put_real’:
/data/melnichenko/Progs/apriltag/core/common/zhash.c:195:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < bucket->size; i++) {
                       ^
/data/melnichenko/Progs/apriltag/core/common/zhash.c: In function ‘zhash_remove’:
/data/melnichenko/Progs/apriltag/core/common/zhash.c:245:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < bucket->size; i++) {
                       ^
/data/melnichenko/Progs/apriltag/core/common/zhash.c:262:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if (i != bucket->size - 1) {
                   ^~
/data/melnichenko/Progs/apriltag/core/common/zhash.c: In function ‘zhash_iterator_next_volatile’:
/data/melnichenko/Progs/apriltag/core/common/zhash.c:368:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (zit->idx < bucket->size) {
                      ^
/data/melnichenko/Progs/apriltag/core/common/zmaxheap.c: In function ‘zmaxheap_test’:
/data/melnichenko/Progs/apriltag/core/common/zmaxheap.c:369:14: warning: implicit declaration of function ‘random’; did you mean ‘rand’? [-Wimplicit-function-declaration]
         if ((random() & 1) == 0 && sz < cap) {
              ^~~~~~
              rand
[ 26%] Building C object core/CMakeFiles/apriltag.dir/common/unionfind.c.o
In file included from /data/melnichenko/Progs/apriltag/core/common/unionfind.c:32:0:
/data/melnichenko/Progs/apriltag/core/common/unionfind.h: In function ‘unionfind_create’:
/data/melnichenko/Progs/apriltag/core/common/unionfind.h:63:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i <= maxid; i++) {
                       ^~
[ 28%] Building C object core/CMakeFiles/apriltag.dir/common/matd.c.o
[ 30%] Building C object core/CMakeFiles/apriltag.dir/common/image_u8.c.o
/data/melnichenko/Progs/apriltag/core/common/image_u8.c: In function ‘image_u8_write_pnm’:
/data/melnichenko/Progs/apriltag/core/common/image_u8.c:181:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (im->width != fwrite(&im->buf[y*im->stride], 1, im->width, f)) {
                       ^~
[ 32%] Building C object core/CMakeFiles/apriltag.dir/common/pnm.c.o
[ 34%] Building C object core/CMakeFiles/apriltag.dir/common/image_f32.c.o
[ 36%] Building C object core/CMakeFiles/apriltag.dir/common/image_u32.c.o
[ 38%] Building C object core/CMakeFiles/apriltag.dir/common/workerpool.c.o
[ 40%] Building C object core/CMakeFiles/apriltag.dir/common/time_util.c.o
In file included from /data/melnichenko/Progs/apriltag/core/common/time_util.c:32:0:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:45: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void    utime_to_timespec(int64_t v, struct timespec *ts);
                                             ^~~~~~~~
/data/melnichenko/Progs/apriltag/core/common/time_util.c:57:42: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration
 void utime_to_timespec(int64_t v, struct timespec *ts)
                                          ^~~~~~~~
/data/melnichenko/Progs/apriltag/core/common/time_util.c:57:6: error: conflicting types for ‘utime_to_timespec’
 void utime_to_timespec(int64_t v, struct timespec *ts)
      ^~~~~~~~~~~~~~~~~
In file included from /data/melnichenko/Progs/apriltag/core/common/time_util.c:32:0:
/data/melnichenko/Progs/apriltag/core/common/time_util.h:48:9: note: previous declaration of ‘utime_to_timespec’ was here
 void    utime_to_timespec(int64_t v, struct timespec *ts);
         ^~~~~~~~~~~~~~~~~
/data/melnichenko/Progs/apriltag/core/common/time_util.c: In function ‘utime_to_timespec’:
/data/melnichenko/Progs/apriltag/core/common/time_util.c:59:7: error: dereferencing pointer to incomplete type ‘struct timespec’
     ts->tv_sec  = (time_t) utime_get_seconds(v);
       ^~
/data/melnichenko/Progs/apriltag/core/common/time_util.c: In function ‘timeutil_usleep’:
/data/melnichenko/Progs/apriltag/core/common/time_util.c:66:12: warning: implicit declaration of function ‘usleep’; did you mean ‘sleep’? [-Wimplicit-function-declaration]
     return usleep(useconds);
            ^~~~~~
            sleep
core/CMakeFiles/apriltag.dir/build.make:542: recipe for target 'core/CMakeFiles/apriltag.dir/common/time_util.c.o' failed
make[2]: *** [core/CMakeFiles/apriltag.dir/common/time_util.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:93: recipe for target 'core/CMakeFiles/apriltag.dir/all' failed
make[1]: *** [core/CMakeFiles/apriltag.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

The repository is certainly clean one updated to the latest commit.

As I mentioned, I managed to build it with void utime_to_timespec(int64_t v, struct timespec *ts)
deleted in core/common/time_util.c but I get Segmentation fault (core dumped) on every alpintag demo((

from apriltag.

mzucker avatar mzucker commented on July 18, 2024

Initially I had no clue how to fix this, but on the Ubuntu 18.04 box I had access to, changing from -std=c99 to -std=gnu99 fixed the problem. Thanks, Google! https://stackoverflow.com/questions/3875197/linux-gcc-with-std-c99-complains-about-not-knowing-struct-timespec

Committed in ac58e4c – please let me know if that fixed the problem for you.

from apriltag.

amelnichenko avatar amelnichenko commented on July 18, 2024

Thank you very much for the fast fix! It seems to work now.

The last quick question, would you please advise how to make my image to be detected? The sample from images/ works well, but mine doesn't although I don't see a big difference((
img_20180626_160909_small2

from apriltag.

mzucker avatar mzucker commented on July 18, 2024

from apriltag.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.