Update #3:
Tried with CentOS 6.6; gcc seems to be the correct version:
$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
'make all' moved further but failed due to 'qmake' not available - log excerpt
below:
-----------------------------------------------------------------
/usr/bin/g++ -DSQ_PHANDLE_VERIFIER -m64 -O0 -fshort-wchar -std=c++0x
-fcheck-new -fno-strict-aliasing -msse2 -mfpmath=sse -g3 -ggdb -fPIC
-Wno-unknown-pragmas -Wreturn-type -Wformat -Werror -shared -o
../lib/linux/64bit/debug/libclitest.so -L../lib/linux/64bit/debug
-L/home/nitinlamba/incubator-trafodion/core/sqf/export/lib64d
-L/home/nitinlamba/incubator-trafodion/core/sqf/export/lib64d
clitest/linux/64bit/debug/blobtest.o
clitest/linux/64bit/debug/vers_libclitest.o
clitest/linux/64bit/debug/mpisetup.o -L
/usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server -ljvm -lhdfs
-lthrift -lcurl -llog4cxx ##(SQL)
cd ../SqlCompilerDebugger && . ./mk.sh; \ ##(SQL)
cp -f $PWD/libSqlCompilerDebugger.so
../lib/linux/64bit/debug/libSqlCompilerDebugger.so; ##(SQL)
./mk.sh: line 28: qmake: command not found ##(SQL)
make[5]: warning: jobserver unavailable: using -j1. Add `+' to parent make
rule. ##(SQL)
make[5]: *** No targets specified and no makefile found. Stop. ##(SQL)
cp: cannot stat
`/home/nitinlamba/incubator-trafodion/core/sql/SqlCompilerDebugger/libSqlCompilerDebugger.so':
No such file or directory ##(SQL)
make[4]: *** [cmpdbg_qt_build] Error 1 ##(SQL)
-----------------------------------------------------------------
A quick check on the web suggests that package 'qt-devel' should be installed -
this is missing from the wiki page as a dependency [1].
Frankly, this is too much of a trial and error for a new developer to get
started. The instructions should be updated for all of these gotchas (CentOS
6.X, gcc, qmake, ...).
I'll keep digging...
Nitin
[1]
https://cwiki.apache.org/confluence/display/TRAFODION/Create+Build+Environment
________________________________________
From: Liu, Ming (Ming) <[email protected]>
Sent: Friday, February 26, 2016 9:27 PM
To: [email protected]
Cc: Steve Varnau
Subject: Re: Error building Trafodion
I tried CentOS 6.4 , 6.5 and 6.6 before, just not 6.7...
So sorry for not clear before, you need CentOS 6.6 or older version. The
problem is the GCC version. In the error message below, it seems the GCC you
are using is 4.8.2, some Trafodion modules not compatible with GCC 4.8. You
have to use a lower version. GCC 4.4.7 is what I am using without issue, and my
workstation is CentOS 6.6.
It should be possible to install GCC 4.4 on newer CentOS versions, but maybe
need to change some C/C++ rumtime lib as well. You may need to build the
toolchain from gcc source code in order to get a complete gcc 4.4. I will try
it asap.
Thanks,
Ming
-----邮件原件-----
发件人: Nitin Lamba [mailto:[email protected]]
发送时间: 2016年2月27日 13:14
收件人: [email protected]
抄送: Steve Varnau <[email protected]>
主题: Re: Error building Trafodion
Update:
Started with CentOS 6.7 (Final) but ran into a different issue in the same
module (undefined reference to certain functions) - log excerpt below:
Linux-x86_64/64/dbg/ldapconfignode.o: In function `std::basic_string<char,
std::char_traits<char>, std::allocator<char> >* std::__copy_move<true, false,
std::random_access_iterator_tag>::__copy_m<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >*, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >*>(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >*, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >*, std::basic_string<char,
std::char_traits<char>, std::allocator<char> >*)': ##(Security)
/usr/include/c++/4.8.2/bits/stl_algobase.h:354: undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::operator=(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&&)' ##(Security)
Linux-x86_64/64/dbg/ldapconfignode.o: In function
`_ZN9__gnu_cxx13new_allocatorISsE9constructISsJSsEEEvPT_DpOT0_':
##(Security)
/usr/include/c++/4.8.2/ext/new_allocator.h:120: undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&&)' ##(Security)
Linux-x86_64/64/dbg/ldapconfignode.o: In function
`_ZSt10_ConstructISsJSsEEvPT_DpOT0_': ##(Security)
/usr/include/c++/4.8.2/bits/stl_construct.h:75: undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string(std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&&)' ##(Security)
Linux-x86_64/64/dbg/ldapcheck.o: In function
`AuthEvents::AuthEvents(AuthEvents&&)': ##(Security)
/home/nitinlamba/incubator-trafodion/core/dbsecurity/auth/src/ldapcheck.cpp:50:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >&&)' ##(Security)
/home/nitinlamba/incubator-trafodion/core/dbsecurity/auth/src/ldapcheck.cpp:50:
undefined reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >&&)' ##(Security)
collect2: ld returned 1 exit status ##(Security)
Any ideas?
Nitin
________________________________________
From: Nitin Lamba <[email protected]>
Sent: Friday, February 26, 2016 7:37 PM
To: [email protected]
Cc: Steve Varnau
Subject: Re: Error building Trafodion
Thanks Ming! Will try with CentOS 6.
Nitin
________________________________________
From: Liu, Ming (Ming) <[email protected]>
Sent: Friday, February 26, 2016 7:32 PM
To: [email protected]
Cc: Steve Varnau
Subject: 答复: Error building Trafodion
Hi, Nitin,
I run into same error last week when I tried to use CentOS 7 as my Development
machine. The default GCC on CentOS 7 is GCC4.8, it seems incompatible.
For this particular issue, I modified the Makefile under
incubator-trafodion/core/dbsecurity/auth/Makefile
to add '-llber' into LINK_OPTIONS
And pass this error.
I have no idea why current building workstation not meet this link error, I
have no theory here :-) I have another CentOS 6.5 workstation, same codebase,
but not meet this build error. It is still a mystery for me. Need time to
investigate more.
But if I you are using GCC 4.8, the building will meet few more errors after
solving this issue. I fixed a few, but still some more are there, and not able
to proceed too much up to now. So I think if you are using gcc 4.8, please
consider to use an older version. CentOS 6.5 ship with GCC 4.4, which is fine.
In sum, if you are not using CentOS 6, please use CentOS 6.x as development
workstation will save you a lot of time, it is well tested.
Thanks,
Ming
-----邮件原件-----
发件人: Nitin Lamba [mailto:[email protected]]
发送时间: 2016年2月27日 11:00
收件人: [email protected]
抄送: Steve Varnau <[email protected]>
主题: Error building Trafodion
Hi,
I tried to build Trafodion by following the instructions on the wiki [1], [2]
using 'make all'. However, I ran into an error compiling 'auth' within
dbsecurity - log excerpt below:
[... SNIPPET ...]
cd auth; make ##(Security)
make[3]: Entering directory
`/home/nitinlamba/incubator-trafodion/core/dbsecurity/auth' ##(Security)
/usr/bin/g++ -DSQ_PHANDLE_VERIFIER -fPIC -g -m64 -DNA_LINUX -DNA_64BIT -o
/home/nitinlamba/incubator-trafodion/core/sqf/export/bin64/ldapcheck -I.
-I./inc -I ../shared/inc -I
/home/nitinlamba/incubator-trafodion/core/sqf/../sql/cli -I
/home/nitinlamba/incubator-trafodion/core/sqf/../sql/common -I
/home/nitinlamba/incubator-trafodion/core/sqf/../sql/executor -I
/home/nitinlamba/incubator-trafodion/core/sqf/../sql/export -I
/home/nitinlamba/incubator-trafodion/core/sqf/../sql/porting_layer -I
/home/nitinlamba/incubator-trafodion/core/sqf/export/include -I
../../sql/common -L/home/nitinlamba/incubator-trafodion/core/sqf/export/lib64
-lldap -lssl Linux-x86_64/64/rls/ldapconfignode.o
Linux-x86_64/64/rls/versldapcheck.o Linux-x86_64/64/rls/ldapcheck.o
Linux-x86_64/64/rls/ldapconfigfile.o ##(Security)
/usr/bin/ld:
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libldap.so: undefined
reference to symbol 'ber_set_option' ##(Security)
/usr/bin/ld: note: 'ber_set_option' is defined in DSO /lib64/liblber-2.4.so.2
so try adding it to the linker command line ##(Security)
/lib64/liblber-2.4.so.2: could not read symbols: Invalid operation ##(Security)
collect2: error: ld returned 1 exit status ##(Security)
make[3]: ***
[/home/nitinlamba/incubator-trafodion/core/sqf/export/bin64/ldapcheck] Error 1
##(Security)
make[3]: Leaving directory
`/home/nitinlamba/incubator-trafodion/core/dbsecurity/auth' ##(Security)
make[2]: *** [auth] Error 2 ##(Security)
make[2]: Leaving directory
`/home/nitinlamba/incubator-trafodion/core/dbsecurity' ##(Security)
make[1]: *** [dbsecurity] Error 2
Any ideas what I could be doing wrong?
Thanks,
Nitin
[1]
https://cwiki.apache.org/confluence/display/TRAFODION/Create+Build+Environment
[2] https://cwiki.apache.org/confluence/display/TRAFODION/Build+Source