How to compile tomcat for Jira installation in ubuntu

admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 2, 2019

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

1 vote
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 25, 2019

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)

admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 26, 2019

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

admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 26, 2019

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.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 28, 2019

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?

admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 29, 2019

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

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 29, 2019

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?

admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 30, 2019

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.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 30, 2019

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!

admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 9, 2019

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.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 9, 2019

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?

admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 9, 2019

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

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 9, 2019

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?

admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 9, 2019

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.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 11, 2019

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?

Like William Crighton _CCC_ likes this
admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 14, 2019

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.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 14, 2019

>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. 

Like William Crighton _CCC_ likes this
admin admin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 14, 2019

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.

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 14, 2019

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