[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16703181#comment-16703181 ] Antonio commented on THRIFT-4649: - yep, that worked. thanks > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: Build Process >Affects Versions: 0.10.0, 0.11.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Minor > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16693440#comment-16693440 ] James E. King III commented on THRIFT-4649: --- Try this command instead: {noformat} CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" ./configure {noformat} > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1669#comment-1669 ] James E. King III commented on THRIFT-4649: --- I'll take a look. > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16691453#comment-16691453 ] Antonio commented on THRIFT-4649: - Same here. Affects also version 0.11.0 > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16660390#comment-16660390 ] Erik commented on THRIFT-4649: -- Any updates on the other end?? I've tried v10 v11 .. I tried disabling the nbthrift altogether in the configure stage.. no changes at all > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16649825#comment-16649825 ] Erik commented on THRIFT-4649: -- I quickly attempted to upgrade to v.11, within a docker container... to find I needed to refactor the Server code a bit.. seems a new type of pointer is used in the examples? I compiled that , and then got a error on the linker step again {code:java} Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': Rio.cpp:(.text+0x33b5): undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, apache::thrift::protocol::TMessageType&, int&)' Rio.cpp:(.text+0x3730): undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string const&, apache::thrift::protocol::TMessageType, int)' Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': Rio.cpp:(.text+0x3af4): undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, apache::thrift::protocol::TMessageType&, int&)' Rio.cpp:(.text+0x3e59): undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string const&, apache::thrift::protocol::TMessageType, int)' collect2: error: ld returned 1 exit status {code} > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16649778#comment-16649778 ] Erik commented on THRIFT-4649: -- I can confirm, unfortunately I am seeing this even in a dockerized environment... leaving no chance of remnants of prior compilations causing the issue. Still same error from within the dockerized environment running ubuntu 18.04 and following the instructions to compile.. > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16644670#comment-16644670 ] Erik commented on THRIFT-4649: -- attaching output from my latest run of configure !image-2018-10-10-11-03-49-306.png! > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16644661#comment-16644661 ] Erik commented on THRIFT-4649: -- seems the example cites a CalculatorProcessorFactory class, but it's not present in the generated files.. is it then expected we implement this? [https://github.com/apache/thrift/blob/0.10.0/tutorial/cpp/CppServer.cpp#L136] {code:java} int main() { TThreadedServer server( boost::make_shared(boost::make_shared()), boost::make_shared(9090), //port boost::make_shared(), {code} > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16644539#comment-16644539 ] Erik commented on THRIFT-4649: -- Thank you, I indeed had added the {code:java} ... -levent ... {code} and had double checked libevent-dev was present (it is). However, I perhaps don't even WANT a non-blocking server...leading me to wonder, do I have to indicate that in the .thrift service description so that the generated skeleton uses blocking server implementations... or do I simply lift the sample Server from the 0.10.0 branch tutorial and attempt to compile that? I ask because the skeleton looked a little different from the sample file(s) in the tutorial > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16643654#comment-16643654 ] James E. King III commented on THRIFT-4649: --- Check your build log to see if the configure stage detected libevent. If the development package for libevent wasn't found, it won't build the non-blocking library. Check the install directory to see if the library is there. > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Bug > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Priority: Major > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)