Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to compile tomcat for Jira installation in ubuntu

So, I'm mostly done installing Jira 8.0.2 on ubuntu server.  But when I attempt to build tomcat;
$JIRA_INSTALLATION/bin/tomcat-native-1.2.18-src/native && ./configure --with-apr=/usr/local/apr/lib --with-java-home=/usr/lib/jvm/java-11-openjdk-amd64/bin/java

the below error is thrown;

checking for APR... configure: error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.

I have been installing and re-installing apr all day, with no results, so any further information, or instructions, on this issue would be greatly appreciated.

1 answer

0 votes

This begs a simple question - why?  Why are you building a Tomcat when the one bundled into the Atlassian distributions of Jira works (ok, it needs a couple of config tweaks if you choose to use apr, but nothing that needs a rebuild)

Because I was preparing to implement the server from tar.gz not from .bin

I have resolved this with the following;

cd "${INSTALL-DIR}"/bin && tar -zxvf tomcat-native.tar.gz
cd "${INSTALL_DIR}"/bin/tomcat-native-"${TOMCAT_VERSION}"-src/native && ./configure --with-apr=/usr --with-java-home="${JAVA_HOME}"
cd "${INSTALL_DIR}"/bin/tomcat-native-"${TOMCAT_VERSION}"-src/native && make && make install

There were a number of issues I experienced while delivering this server; from variations to previously validated scripting, to more surprisingly, a mislabeled package contained within the jira installation package which labeled the tomcat as an incorrect version; This was corrected rapidly once I discovered it.

The .tar.gz install does not need compiling or building - you expand it and it's ready to run.

Where are the "variations" and "mislabeled packages" coming from?  Is this a copy of another Jira some previous admin has been messing with?

The commands I provided resolved the issue I had regardless, perhaps I am using the wrong terms for the process then;

cd $APP_INSTALL/bin && tar -zxvf $TOMCAT_PACKAGE
cd $APP_INSTALL/bin/tomcat-native-$TOMCAT_VERSION-src/native && ./configure --with-apr=/usr --with-java-home=$JAVA_HOME
cd $APP_INSTALL/bin/tomcat-native-$TOMCAT_VERSION-src/native && make && make install

You don't need to do any of that, and in fact, shouldn't, because you end up running a non-supported variant.

Why are you not installing Jira as per standard instructions?

Because the platform requires it;
Tomcat is a requirement, and the instructions I provided install it on the platform.


Of course it isn't supported by Atlassian; It is a secondary application, which Jira requires, and I will review support with Apache if I have need of it with Tomcat; This would be like requesting support of Ubuntu/CentOS/Alpine from Atlassian; It is unproductive.

This isn't an issue, as I mentioned previously, I resolved this with the steps I provided above.

Realistically however, IF Atlassian does not want administrators to do as I did, then why is the tomcat tar.gz file included in the delivery?

I suspect there are answers to that question which are beyond both of us.

I am sorry, I am not making myself clear.

  • The .tar.gz installations of Jira do not need to be compiled.
  • You download the file
  • expand it
  • create the directories you want it to live in
  • edit a config file for a setting for the home directory
  • run the start script

This is a summary of the installation instructions (from .tar.gz) you can find at https://confluence.atlassian.com/adminjiraserver/installing-jira-applications-on-linux-from-archive-file-938846844.html .  There is no "compile" in it at all.

The main reason I'm questioning all of this is that Atlassian do not support non-standard builds such as yours.  Because you have compiled, everything is unsupported.  If you had used the installation file as documented, they do support you - Tomcat and all.

TLDR: The platform does not require what you are doing (and you would be fully supported if you do not do it)

But, the other reason for asking is sheer curiosity - I don't know why you're doing this, and I'm wondering what you read that implies you did (so we can get Atlassian to fix it, if it's their docs misleading you).   Although I do appreciate that you managed to fix it, and way faster than I would have got there!

I have been running on Alpine for the last 4 years which does not have many of the requisites available in a conventional distro.

Regarding your answer, I am aware that the atlassian-jira-software-8.1.0.tar.gz file does not need to be compiled, but on review of the atlassian-jira-software-8.1.0-standalone\bin directory you will find tomcat-native.tar.gz, which provides installation of tomcat for the purposes of the Jira server, if one is not already installed.  In this case, this is not already installed however and requires the steps I provided above to implement from the source material (which is included IN the tar.gz for Jira (...\bin\tomcat-native.tar.gz).
As I have not as yet found a suitable alternative to this, available through apr, and because this provides all the functionality I require, it is suitable to build it and utilize it this way.
~This is what I mean by utilizing support in a platform agnostic way; I can find whatever solutions may be required once I understand the requisites of the software itself.

I'm afraid what you've just said is completely wrong.

Just because a package includes a compilable resource does not mean you have to compile it. 

The installation of Jira Software from the .tar.gz on almost every Unix-like system is:

  • Download
  • Unzip to the location you want it to live
  • Create a data directory for it
  • Edit a properties file to point to the data directory
  • Run the start script

Could you tell me where in that list any compiling is stated?

It is interesting that you mention Alpine (I'm assuming you mean the Linux distro) - I tried that a couple of months ago as it says it is for security and simplicity.  One of my Jira installs is running on it now.  Installed from .tar.gz, with just the steps above as the install process.

I do not understand why you think you need to compile anything.  For learning, for curiosity, to prove you can do it, heck even for fun - yes, all good reasons, but you do not need to, as the packages deliver compiled and ready-to-run software.  What makes you think you should compile it?

Apologies,
I don't have time to test/validate my Dockerfile now, as I spent time developing it previous to now.  What I do know is that it operates as expected, and it doesn't without the aforementioned lines.  I will review this if I have need to create an updated container in the future.

Your container interests me, as alpine certainly does not come natively with tomcat, though you may be building from a derivative of alpine which provides this perhaps.  In any case that is something I will review on need in the future.

Thanks for your assistance all the same,

Kyle

Now I'm even more confused!  My container?  There's no container, you don't need one.   The Alpine Jira install I've got here is "install Alpine, log in, download and unpack Jira as above, and run it"

I am not building or compiling anything.  My whole question here is why do you think you need to compile?

That was in regards to mentioning you run Jira on Alpine; Which was designed with the purpose of use in Docker containers, sorry.  You 'can' use it on a host system, but it is awfully clumsy for that, as it lacks so many higher level features, but it can be done, as Docker and your use-case validate.

I'm aware of what Alpine is built for, what I am questioning is why you are building the Tomcat when you absolutely do not need to. 

Is there a reason you are not telling me why you think you need to compile anything?  What made you think you should?

My Confluence server was started and instantiated via {}/bin/start-confluence.sh , but had no web-gui.  I reviewed the machine for listening ports via netstat, identified that no application was listening, so I determined that tomcat required installation.  On review of the tar.gz file ({JIRA-INSTALL}/bin/tomcat-native.tar.gz, I identified it had buildable components, extracted them, and built them.

>so I determined that tomcat required installation. 

I am sorry, that is utterly the wrong conclusion from what you've said, I don't understand why you would even begin to think that. 

Because I needed a web server...

I did not have port 8080 open on the machine.  As this is the explicit port that Jira requires this was the use case I determined a resolution for, and determined that I needed a web package to provide this.  I had expected this to be looked after with the .sh script, but my environment + the running script did not provide it, so I implemented it by extracting the tomcat-native.tar.gz package and implementing it.

I can understand why you would be so frustrated if my case didn't work, but it did, so someone clearly had an oversight, and just because you don't understand how/why is NO reason to insult me.

I'm done here.

I am not trying to insult you, I am very sorry if it came over that way.

It is purely my curiosity - you needed a web-server, why did you not use the one that is part of Jira?  The one that Jira runs on, and is started by the startup scripts?

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira Software

How to create Jira issus from Excel file?

When to use CSV importer When managing your processes in Jira, there are many occasions where you need to create a lot of tasks. Creating them one by one will cost you a lot of time and effort and i...

4,469 views 22 32
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you