{"action":"created","issue":{"url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/issues/23","labels_url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/issues/23/comments","events_url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/issues/23/events","html_url":"https://github.com/dburkart/mail-sieve-verifier/issues/23","id":103910409,"number":23,"title":"Undefined reference to sieve::<things>","user":{"login":"GeoffreyFrogeye","id":1685403,"avatar_url":"https://avatars.githubusercontent.com/u/1685403?v=3","gravatar_id":"","url":"https://api.github.com/users/GeoffreyFrogeye","html_url":"https://github.com/GeoffreyFrogeye","followers_url":"https://api.github.com/users/GeoffreyFrogeye/followers","following_url":"https://api.github.com/users/GeoffreyFrogeye/following{/other_user}","gists_url":"https://api.github.com/users/GeoffreyFrogeye/gists{/gist_id}","starred_url":"https://api.github.com/users/GeoffreyFrogeye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeoffreyFrogeye/subscriptions","organizations_url":"https://api.github.com/users/GeoffreyFrogeye/orgs","repos_url":"https://api.github.com/users/GeoffreyFrogeye/repos","events_url":"https://api.github.com/users/GeoffreyFrogeye/events{/privacy}","received_events_url":"https://api.github.com/users/GeoffreyFrogeye/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/milestones/3","html_url":"https://github.com/dburkart/mail-sieve-verifier/milestones/Version%200.3","labels_url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/milestones/3/labels","id":1250763,"number":3,"title":"Version 0.3","description":"","creator":{"login":"dburkart","id":55467,"avatar_url":"https://avatars.githubusercontent.com/u/55467?v=3","gravatar_id":"","url":"https://api.github.com/users/dburkart","html_url":"https://github.com/dburkart","followers_url":"https://api.github.com/users/dburkart/followers","following_url":"https://api.github.com/users/dburkart/following{/other_user}","gists_url":"https://api.github.com/users/dburkart/gists{/gist_id}","starred_url":"https://api.github.com/users/dburkart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dburkart/subscriptions","organizations_url":"https://api.github.com/users/dburkart/orgs","repos_url":"https://api.github.com/users/dburkart/repos","events_url":"https://api.github.com/users/dburkart/events{/privacy}","received_events_url":"https://api.github.com/users/dburkart/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":6,"state":"open","created_at":"2015-08-11T21:54:17Z","updated_at":"2015-08-31T06:08:45Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2015-08-30T09:28:59Z","updated_at":"2015-09-04T15:13:41Z","closed_at":null,"body":"Hi!\r\n\r\nI'm looking forward to use mail-sieve-verifier, however when I'm running `make` I'm getting the following:\r\n```\r\n$ make\r\ng++ -Igen/ -Isrc/ -std=c++0x -fPIC -Wno-deprecated-register -DPLATFORM=\\\"x86_64-Linux\\\" -c src/sieve.cc\r\ng++ -Igen/ -Isrc/ -std=c++0x -fPIC -Wno-deprecated-register -DPLATFORM=\\\"x86_64-Linux\\\" libchecksieve.a sieve.o -o check-sieve\r\nsieve.o: In function `print_version()':\r\nsieve.cc:(.text+0xa): undefined reference to `sieve::version()'\r\nsieve.o: In function `main':\r\nsieve.cc:(.text+0x179): undefined reference to `sieve::driver::driver()'\r\nsieve.cc:(.text+0x413): undefined reference to `sieve::driver::parse_file(std::string const&)'\r\nsieve.cc:(.text+0x483): undefined reference to `sieve::driver::~driver()'\r\nsieve.cc:(.text+0x4bb): undefined reference to `sieve::driver::~driver()'\r\ncollect2: error: ld returned 1 exit status\r\nMakefile:11: recipe for target 'check-sieve' failed\r\nmake: *** [check-sieve] Error 1\r\n```\r\nAm I missing a dependency? Sieve, bison and flex are installed with the correct version.\r\n\r\nSome infos that may be useful:\r\n```\r\n$ uname -a\r\nLinux geoffrey-vps 4.0.6-1-ARCH #1 SMP PREEMPT Tue Jun 23 14:25:08 CEST 2015 x86_64 GNU/Linux\r\n$ g++ --version\r\ng++ (GCC) 5.2.0\r\nCopyright (C) 2015 Free Software Foundation, Inc.\r\nThis is free software; see the source for copying conditions.  There is NO\r\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r\n$ pacman -Q gcc-multilib\r\ngcc-multilib 5.2.0-2\r\n$ pacman -Q bison\r\nbison 3.0.4-1\r\n$ pacman -Q flex\r\nflex 2.5.39-1\r\n$ pacman -Q pigeonhole\r\npigeonhole 0.4.8-1\r\n```"},"comment":{"url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/issues/comments/137762888","html_url":"https://github.com/dburkart/mail-sieve-verifier/issues/23#issuecomment-137762888","issue_url":"https://api.github.com/repos/dburkart/mail-sieve-verifier/issues/23","id":137762888,"user":{"login":"dburkart","id":55467,"avatar_url":"https://avatars.githubusercontent.com/u/55467?v=3","gravatar_id":"","url":"https://api.github.com/users/dburkart","html_url":"https://github.com/dburkart","followers_url":"https://api.github.com/users/dburkart/followers","following_url":"https://api.github.com/users/dburkart/following{/other_user}","gists_url":"https://api.github.com/users/dburkart/gists{/gist_id}","starred_url":"https://api.github.com/users/dburkart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dburkart/subscriptions","organizations_url":"https://api.github.com/users/dburkart/orgs","repos_url":"https://api.github.com/users/dburkart/repos","events_url":"https://api.github.com/users/dburkart/events{/privacy}","received_events_url":"https://api.github.com/users/dburkart/received_events","type":"User","site_admin":false},"created_at":"2015-09-04T15:13:41Z","updated_at":"2015-09-04T15:13:41Z","body":"Okay, I am able to reproduce with Vagrant:\r\n\r\n```\r\nvagrant@archlinux:~$ uname -a\r\nLinux archlinux.vagrant.vm 4.1.2-2-ARCH #1 SMP PREEMPT Wed Jul 15 08:30:32 UTC 2015 x86_64 GNU/Linux\r\nvagrant@archlinux:~$ g++ --version\r\ng++ (GCC) 5.1.0\r\nCopyright (C) 2015 Free Software Foundation, Inc.\r\nThis is free software; see the source for copying conditions.  There is NO\r\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r\nvagrant@archlinux:/vagrant$ make\r\ng++ -Igen/ -Isrc/ -std=c++0x -fPIC -Wno-deprecated-register -c gen/sieve_parser.tab.cc gen/sieve_scanner.c src/sieve_driver.cc\r\nar rc libchecksieve.a sieve_scanner.o sieve_parser.tab.o sieve_driver.o\r\ng++ -Igen/ -Isrc/ -std=c++0x -fPIC -Wno-deprecated-register -c src/sieve.cc\r\ng++ -Igen/ -Isrc/ -std=c++0x -fPIC -Wno-deprecated-register libchecksieve.a sieve.o -o check-sieve\r\nsieve.o: In function `main':\r\nsieve.cc:(.text+0xf1): undefined reference to `sieve_driver::sieve_driver()'\r\nsieve.cc:(.text+0x37b): undefined reference to `sieve_driver::parse_file(std::string const&)'\r\nsieve.cc:(.text+0x3eb): undefined reference to `sieve_driver::~sieve_driver()'\r\nsieve.cc:(.text+0x423): undefined reference to `sieve_driver::~sieve_driver()'\r\ncollect2: error: ld returned 1 exit status\r\nMakefile:8: recipe for target 'check-sieve' failed\r\nmake: *** [check-sieve] Error 1\r\n```\r\n\r\nThis seems to be an ordering problem with the final g++ command, and the fix looks easy. It's interesting that Ubuntu doesn't care about this while Arch does (since Travis-CI is all Ubuntu-based IIRC). I'll have a fix shortly."}}