-
Notifications
You must be signed in to change notification settings - Fork 15.6k
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
Need to run ./autogen.sh twice #149
Comments
Note that this happens on a clean system only, and can be reproduced using Docker or Travis. If |
I can not reproduce this problem on my machine and our Travis project is also passing: https://travis-ci.org/google/protobuf Are you using the github master branch or some other version? |
I'll see if I can make a minimal testcase. |
I have a minimal testcase in the autogen_twice branch of my fork. I made two annotated tags on that repository:
The travis results can be seen in the following links. Running ./autogen.sh once When running The error is:
Running ./autogen.sh twice When running Here is my modified install.sh script which also contains some diagnostic messages. It's just 5 lines, so I consider it minimal. Here is my modified travis.yml file which simply calls "install.sh". |
I have found a similar issue report here: I tried adding "AC_CONFIG_AUX_DIR([.])" and it seems to fix the problem. Could you check whether it works for you as well? |
@xfxyjwf Nope, still failing: https://travis-ci.org/dionyziz/protobuf/builds/47279041 Here's my diff: dionyziz@30e7b27 So I think this is a bug. Interestingly, it's hard to reproduce because you need to run This seems like two separate problems to me:
Interestingly, it may help to note that I cannot reproduce the problem if I don't This bug is not blocking me, so no rush. I just have two |
This is still reproducible. Clean install of Ubuntu 16.04 image on VirtualBox. Protobuf is the very first thing I try to install on this VM, aside from its dependencies and git/vim. Same exact error. |
@chrislgarry We have never been able to reproduce this issue in our testing environment. It would be great if you can provide a docker image that's able to reproduce the issue. |
Ok sure. I’ll try to do to that this weekend.
2018年7月21日(土) 2:09 Feng Xiao <notifications@github.com>:
… @chrislgarry <https://github.com/chrislgarry> We have never been able to
reproduce this issue in our testing environment. It would be great if you
can provide a docker image that's able to reproduce the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#149 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACGVQmT7tqg8hfLxcLUo71acqCjiV9omks5uIg68gaJpZM4DNciH>
.
|
I just hit the same issue: building failed, but running ./autogen.sh twice resulted in a successful build. The weird thing is I have build protobuf3 before and it built successfully. I'm using Slackware and build in a "clean" (full Slackware install with all patches installed) chroot environment using the SlackBuild file from https://slackbuilds.org/repository/14.2/misc/protobuf3/ . In both cases I built protobuf3 release version 3.5.2. So the only difference between my original successful build (May 22nd 2018) and my "need to run autogen.sh twice" build (March 6th 2019) is the Slackware patches I have installed. A portion of the build log from the successful build:
A portion of the build log where I was forced to replace "./autogen.sh" with "./autogen.sh || ./autogen.sh" to get a successful build:
Note the difference between the two trying to copy ltmain.sh:
autogen.sh twice build:
So in a failing build it's looking for ltmain.sh in ".." for some reason but in a successful build it looks for ltmain.sh in "." I have NOT tried reproducing on the latest stable version of protobuf3. |
Ok, I figured out why this is happening. This is what set me on the right track: I (or rather, the build script) was extracting protobuf to /tmp/SBo/protobuf-3.5.2/ and building it there. A different program compilation had (incorrectly) left files directly in /tmp/SBo instead of a subdirectory, namely, /tmp/SBo/install.sh. libtoolize, which is called by autoreconf, which is called by ./autogen.sh during the build, was finding /tmp/SBo/install.sh and assuming /tmp/SBo was the proper build directory instead of /tmp/SBo/protobuf-3.5.2/ (or to be more specific, in relative path terms it was using ".." instead of ".".). Thus ltmain.sh was copied to the "wrong" location and the build failed. Removing /tmp/SBo/install.sh caused the build to be successful. What I learned: The parent directory of your build directory should be clean of files, especially ones named install.sh. This is not a problem of protobuf, it is a problem of an unclean build environment. Hopefully this helps someone else! |
Very esoteric issue: protocolbuffers/protobuf#149 Maybe this fixes the problem. Otherwise we will have to run autogen twice.
The first invocation of
./autogen.sh
fails, causing./configure
andmake
to fail. I have to run./autogen.sh
twice. In that case, it works:This occurs in Ubuntu 12.04.
The text was updated successfully, but these errors were encountered: