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

Reply via email to