Comments (5)
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.
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.
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.
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((
from apriltag.
from apriltag.
Related Issues (20)
- problem while using python script HOT 1
- Cannot install apriltag-python HOT 1
- I got a Error in python3.5 HOT 3
- how to find pose data from 3x3 homography matrix ? HOT 11
- Is there any plant to upgrade to latest apriltag3?
- What is the unit of tag size? HOT 2
- Fatal Error opencv2/core/core.hpp: No such file or directory
- Error while running make
- Unable to detect tag with border=2 HOT 4
- Too many borders. Core dumped HOT 3
- Silence please! HOT 1
- Issues when installing python wrapper on Windows HOT 1
- Distance HOT 1
- Extracting pose data to other python scripts HOT 1
- Ok, I found a few more leaks and fixed them in commit 15db309 – I also discovered the https://pypi.org/project/memory_profiler/ module along with its tool mprof which helped. Please let me know if you still see increasing memory usage over time.
- Can't build on M1 Mac HOT 2
- support tagStandard41h12
- detect_pose Units
- pip install error HOT 2
- Wildcard Option for IMAGE
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apriltag.