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

[v4.0.0-pre.0] No rule to make target out/Release/obj.target/libsos/ext/sos/src/sos.o', needed by out/Release/obj.target/libsos.a' #542

Closed
chris48s opened this issue May 8, 2018 · 4 comments
Labels

Comments

@chris48s
Copy link

chris48s commented May 8, 2018

Hi. I'm trying to compile v4.0.0-pre.0 from https://github.com/apiaryio/drafter/archive/v4.0.0-pre.0.tar.gz as a shared library on Ubuntu linux. I'm able to get v3.2.7 from https://github.com/apiaryio/drafter/releases/download/v3.2.7/drafter-v3.2.7.tar.gz working OK, but v4.0.0-pre.0 is giving me:

$ ./configure --shared
creating ./config.gypi
creating ./config.mk
creating makefiles
All OK.

$ make libdrafter
make -C ./build V=1 libdrafter
make[1]: Entering directory `/path/to/stuff/drafter-4.0.0-pre.0/build'
make[1]: *** No rule to make target `out/Release/obj.target/libsos/ext/sos/src/sos.o', needed by `out/Release/obj.target/libsos.a'.  Stop.
make[1]: Leaving directory `/path/to/stuff/drafter-4.0.0-pre.0/build'
make: *** [libdrafter] Error 2

The release notes specify GCC 5.3 or higher, but here's my GCC details, just in case:

$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I'm afraid I'm a bit of a n00b when it comes to C, so it is possible I am missing something obvious. Any advice would be appreciated

@kylef
Copy link
Member

kylef commented May 8, 2018

Can you try the link https://github.com/apiaryio/drafter/releases/download/v4.0.0-pre.0/drafter-4.0.0-pre.0.tar.gz to download the source. The one you grabbed doesn't include some of the git submodule dependencies as GitHub computes the tarball without them. I've just uploaded the complete 4.0.0-pre.0 tarball.

@chris48s
Copy link
Author

chris48s commented May 9, 2018

Hi. Thanks for updating that, but now the new archive seems to be missing the /tools dir. I'm getting

$ ./configure --shared
creating ./config.gypi
creating ./config.mk
creating makefiles
/usr/bin/python: can't open file 'tools/gyp/gyp_main.py': [Errno 2] No such file or directory

trying to build from that.

You're right about the submodules though. If I grab the source like this

$ git clone --recursive git://github.com/apiaryio/drafter.git
$ cd drafter
$ git checkout tags/v4.0.0-pre.0

instead of using the release download, then I'm able to compile this version.

@kylef
Copy link
Member

kylef commented May 9, 2018

Oh I see, that's a good point. Our script to generate tarball doesn't include tools as that directory was separate scripts which wasn't needed for building source. That changed in 4.0 so we will need to update the script https://github.com/apiaryio/drafter/blob/master/tools/make-tarball.sh#L32.

I'll update the script over the next few days and re-publish the tarball. Thanks for reporting.

@pksunkara
Copy link
Contributor

This has been fixed in master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants