Closed javarias closed 8 years ago
A port has been done on my ACS fork: https://github.com/javarias/ACS/tree/ubuntu-port With the set of changes I have done, all the modules, but emacs, build correctly. I have tested basic functionality, but more testing is required.
More details are available here: https://github.com/javarias/ACS/wiki/Ubuntu-port
We have downloaded your Ubuntu port and tried to compile the ExtProducts first at Debian Wheezy, (gcc 4.7.2). We have ran into trouble with Mico:
poa_impl.cc: In constructor ‘MICOPOA::POA_impl::POAimpl(const char, PortableServer::POAManager_ptr, const PolicyList&, MICOPOA::POAimpl, CORBA::ORB_ptr)’:
poaimpl.cc:1939:80: error: invalid user-defined conversion from ‘const ObjVarCORBA::Policy’ to ‘CORBA::Object’ [-fpermissive]
In file included from ../include/CORBA.h:151:0,
from poaimpl.cc:38:
../include/mico/template.h:96:3: note: candidate is: ObjVar/home/almamgr/ACS-ubuntu-port/ExtProd/PRODUCTS/mico/orb' make[1]: *** [system] Error 1 make[1]: se sale del directorio
/home/almamgr/ACS-ubuntu-port/ExtProd/PRODUCTS/mico'
Yes you are right, mico is not building in ubuntu. I didn't care much about this because mico is used only to validate of the idl files being loaded into the interface repository, which are checked, anyway, when the idl files are compiled for all the programming languages.
Regardless of that, I applied the patch of @tstaig: tstaig/ACS@ca56c7eeff81f90c5607cc7caba6ef5b0095d1a8 There was required an extra patch to to deal with missing linking symbols (see javarias/ACS@b571e58d56af8efb6889ad79b788b4752adc2a25). You can pull these changes from my repository in ubuntu-port branch.
We have made very slight modifications to make it work in Debian. I think it would be best if you include them in your branch. The one I point here is regarding JAVA_HOME env variable. If you try to install ACS in a 32 bit distribution it fails because JAVA_HOME is incorrectly set. See below the correction (and a comment in spanish):
LGPL/acsBUILD/config/.acs/.bash_profile.acs:
if [ X"$JAVA_HOME" = X ] || [ X"$ACS_RETAIN" = X ] then if [ "$OSYSTEM" = "$CYGWIN_VER" ] then JAVA_HOME=/Java elif [ "$DISTRO" = "DEBIAN" ] then
if [ "$ARCH" = "x86_64" ] then JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
elif [ "$ARCH" = "i686" ] then JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386" fi else JAVA_HOME=/usr/java/default fi fi
The key lines are: if [ "$ARCH" = "x86_64" ] and elif [ "$ARCH" = "i686" ]
Second change we made for Debian. In file ExtProd/INSTALL/buildPyModules
Hi,
there are several different installation paths for the jdk, and you
can use either openjdk or oracle (and maybe other implementations). When
you do not have a standard Java path the correct way to do this is in
your own environment exporting JAVA_HOME before sourcing the ACS
.bash_profile.acs file:
if [ "$ARCH" = "x86_64" ]; then
export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
elif [ "$ARCH" = "i686" ]; then
export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386"
fi
source
Note the '-r' flag which sets the ACS_RETAIN variable in the sourced script in order to persist your own configurations instead of discarding them.
Regards, Tomas.
On 11/13/2014 08:45 AM, Pablo de Vicente wrote:
We have made very slight modifications to make it work in Debian. I think it would be best if you include them in your branch. The one I point here is regarding JAVA_HOME env variable. If you try to install ACS in a 32 bit distribution it fails because JAVA_HOME is incorrectly set. See below the correction (and a comment in spanish):
*
LGPL/acsBUILD/config/.acs/.bash_profile.acs: if [ X"$JAVA_HOME" = X ] || [ X"$ACS_RETAIN" = X ] then if [ "$OSYSTEM" = "$CYGWIN_VER" ] then JAVA_HOME=/Java elif [ "$DISTRO" = "DEBIAN" ] then #bash identifica como asignacion el simbolo '=' pegado a la variable y como comparación cuando este está separado por un espacio #if [ $ARCH="X86_64" ] if [ "$ARCH" = "x86_64" ] then JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64" #elif [ $ARCH="i686" ] elif [ "$ARCH" = "i686" ] then JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386" fi else JAVA_HOME=/usr/java/default fi fi
— Reply to this email directly or view it on GitHub https://github.com/ACS-Community/ACS/issues/10#issuecomment-62878999.
Yes, we know about setting JAVA_HOME this way. This is how we do that since a long time with previous versions of ACS and I believe this is more flexible. I just wanted to point out that .bash_profile.acs has an error and it is that "$ARCH"="x86_64" should be "$ARCH" = "x86_64". The space at both sides of the = is important.
Hi Matias, what vesion of .bash_profile.acs are you talking about? ACS/ESO version does not have this problem. I have double checked just in case. But we should have spotted already because ACS for 64bit has been released long ago and is also in use.
Chao, Ale
On 11/18/2014 09:26 AM, Pablo de Vicente wrote:
Yes, we know about setting JAVA_HOME this way. This is how we do that since a long time with previous versions of ACS and I believe this is more flexible. I just wanted to point out that .bash_profile.acs has an error and it is that "$ARCH"="x86_64" should be "$ARCH" = "x86_64". The space at both sides of the = is important.
— Reply to this email directly or view it on GitHub https://github.com/ACS-Community/ACS/issues/10#issuecomment-63436530.
You are right Pablo. I made the corrections for both problems you reported here. The commits I did to fix the problems are in javarias/ACS@ac75e4f and javarias/ACS@75904ec in the ubuntu-port branch.
I think the last fix javarias/ACS@75904ec should go into the ACS master branch in the ACS Community repo also.
Hi Jorge:
I'm testing ubuntu 14.04 , and everything compile smoothly. The problem is that Logging Service got stuck and never starts.
2014-12-07T00:12:49.194 INFO [acsLoggingService] Starting Logging Service
I have this problem in two different virtual machines (fresh installations); both stuck in the same place.
m_logging_supplier returns null for some unknown reason.
543LoggingService::create_suppliers ()
544{
545 if(!m_logBin)
546 m_logging_supplier = new ACSStructuredPushSupplierXml ();
547 else
548 m_logging_supplier = new ACSStructuredPushSupplierBin ();
549
550 ACE_ASSERT (m_logging_supplier);
551
552 m_logging_supplier->connect (this->m_logging_supplier_admin.in ()
553 );
554}
try to modify/remove "SourceThread" from: $ACSROOT/config/svc.conf/defaultNotify.svc.conf
Hi Bogdan !
I just tried, and It doesn't work either. I removed the option and also I increase the source threads, but still, logging service never start.
ok, you can try to comment out the whole line containing "SourceThread" (so the line: static Notify_Default.......), if it does not work try to experiment with other config7uration in $ACSROOT/config/svc.conf/defaultNotify.svc.conf
Hi Bogdan It doesn't work either. This quite strange, with a fresh ISO image of Xubuntu 14.04, it was compiled, and it worked without any modification. I think better leave this as register and see if the problem appears to someone else, because if nobody has this issue anymore it was something related to my ubuntu's ISO (hopefully)
I tried a fresh build of my branch on xubuntu 14.04.1 and in xubuntu 14.10. I was unable reproduce the problem described by Norman on neither xubuntu versions.
We have seen that behaviour 2 weeks ago. It was not myself, but Rubén who is no loger at Yebes, but at the Azores Islands now. We compiled a fresh 2014.4 ACS on a Debian Wheezy 64 bit host. This worked and our components work fine here. Then Rubén did a tar from /alma/ACS-2014.4 from that host and copied it into a laptop with Debian Wheezy 64 bit. He untared the file and, after cleaning the cache and the temp files, he tried to start up the ACS. The logging channel never starts up and ACS boot does not complete.
We have seen that behaviour 2 weeks ago. It was not myself, but Rubén who is no loger at Yebes, but at the Azores Islands now. We compiled a fresh 2014.4 ACS on a Debian Wheezy 64 bit host. This worked and our components work fine here. Then Rubén did a tar from /alma/ACS-2014.4 from that host and copied it into a laptop with Debian Wheezy 64 bit. He untared the file and, after cleaning the cache and the temp files, he tried to start up the ACS. The logging channel never starts up and ACS boot does not complete.
2014-12-11 14:56 GMT+01:00 Jorge Avarias notifications@github.com:
I tried a fresh build of my branch on xubuntu 14.04.1 and in xubuntu 14.10. I was unable reproduce the problem described by Norman on neither xubuntu versions.
— Reply to this email directly or view it on GitHub https://github.com/ACS-Community/ACS/issues/10#issuecomment-66621665.
I tried to replicate the problem that @normansaez and @pdevicente reported, but I was unable to replicate the failing acsStart. I just did a fresh installation of Ubuntu 14.04.1 in a Vmware VMm installing on top the needed packages to run ACS.
If any of you could give a VM (it doesn't matter the VM software) on which the problem can be replicated, it would be great!
@javarias I have a VM with the problem mentioned here. It was build with vmware. Write me how provide it to you.
try to modify/remove "SourceThread" from: $ACSROOT/config/svc.conf/defaultNotify.svc.conf
Hi Tzu!
So you just commented out the line indicated by Bogdan and it worked? or you change the configuration a little bit ?
Hi, I created the machine that Tzu was using.
Initially I created 8gb virtual machine with centos 6.7. After moving the virtual machine to 1gb, this problem appear. With 2gb the problem persist. But with 4gb the problem didn't appear.
The changes to support Ubuntu were merge with pull request #53 I am closing this ticket given the pull request as been accepted
As an alternative for some users, it is necessary to port ACS to Ubuntu.
The current Ubuntu version is 14.04 LTS. ubuntu distribution has a newer set of gcc compilers (gcc 4.8.x), which a stricter than the gcc available in RHEL 6.5