Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Properly link omrsig with ddrgen #2865

Merged

Conversation

babsingh
Copy link
Contributor

If OMRPORT_OMRSIG_SUPPORT is defined globally, then ddrgen needs to link
to omrsig in order to compile properly.

Signed-off-by: Babneet Singh sbabneet@ca.ibm.com

@babsingh babsingh changed the title Properly link omrsig with ddrgen [WIP] Properly link omrsig with ddrgen Aug 15, 2018
@babsingh babsingh changed the title [WIP] Properly link omrsig with ddrgen Properly link omrsig with ddrgen Aug 16, 2018
@charliegracie
Copy link
Contributor

Is there an equivalent CMake change required here as well? @dnakamura

@charliegracie
Copy link
Contributor

@genie-omr build all

@charliegracie charliegracie self-assigned this Aug 22, 2018
@charliegracie
Copy link
Contributor

@babsingh have you had a change to look into CMake?

@babsingh
Copy link
Contributor Author

babsingh commented Aug 22, 2018

@charliegracie i think we will need to update ddr/tools/ddrgen/CMakeLists.txt as follows:

add_executable(omr_ddrgen
	ddrgen.cpp
)

set_property(
	TARGET omr_ddrgen
	PROPERTY CXX_STANDARD 11
)

set(DDRGEN_LINK_LIBRARIES 
        omr_ddr_base
	omr_ddr_blobgen
	omr_ddr_ir
	omr_ddr_macros
	omr_ddr_scanner
	${OMR_PORT_LIB}
)

if(OMRPORT_OMRSIG_SUPPORT)
list(APPEND DDRGEN_LINK_LIBRARIES omrsig)
endif()

target_link_libraries(omr_ddrgen DDRGEN_LINK_LIBRARIES)

I will need to verify if the above the changes work. Is OMR build using CMake? If not, how to build OMR and OpenJ9 with CMake? I will push the CMake equivalent changes in a separate pull request.

@babsingh
Copy link
Contributor Author

@charliegracie @dnakamura ^^^^

@charliegracie
Copy link
Contributor

OMR is using CMake to build on most of the OMR CI builds.

@dnakamura
Copy link
Contributor

IT should work because i believe the port lib links against omrsig, and in cmake, link dependencies are transitive

@babsingh
Copy link
Contributor Author

babsingh commented Aug 24, 2018

In OpenJ9, port is linked to omrsig: runtime/port/CMakeLists.txt. In OMR, I don't see port being linked to omrsig: port/CMakeLists.txt. @dnakamura how is omrsig linked to port in OMR? is it linked transitively to port?

@charliegracie
Copy link
Contributor

ping @dnakamura

@dnakamura
Copy link
Contributor

dnakamura commented Aug 28, 2018

Its possible that it isnt, but the CI build passes which would seem to indicate that it does somehow Realized that this pr doesnt enable the changes, so ddrgen will not need to link omrsig

@dnakamura
Copy link
Contributor

I would patch the cmakelists to the following:

add_executable(omr_ddrgen
	ddrgen.cpp
)

set_property(
	TARGET omr_ddrgen
	PROPERTY CXX_STANDARD 11
)

target_link_libraries(omr_ddrgen
	omr_ddr_base
	omr_ddr_blobgen
	omr_ddr_ir
	omr_ddr_macros
	omr_ddr_scanner
	${OMR_PORT_LIB}
)
if(OMRPORT_OMRSIG_SUPPORT)
	target_link_libraries(omr_ddrgen omrsig)
endif()

If OMRPORT_OMRSIG_SUPPORT is defined globally, then ddrgen needs to link
to omrsig in order to compile properly.

Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
@babsingh babsingh force-pushed the define_sig_support_globally_final branch from dc7b0d2 to f15c12f Compare August 28, 2018 15:58
@babsingh
Copy link
Contributor Author

thanks @dnakamura. @charliegracie i have added the patch, suggested by Devin, into the pull request.

@babsingh
Copy link
Contributor Author

I have created an issue to Verify OMR builds properly with OMRPORT_OMRSIG_SUPPORT enabled

@charliegracie
Copy link
Contributor

@genie-omr build all

@babsingh
Copy link
Contributor Author

@charliegracie zos failure seems to be an infra issue:

Error when executing always post condition:
hudson.remoting.ChannelClosedException: Channel "unknown": Remote call on ZISVJD03 failed. The channel is closing down or has closed down
	at hudson.remoting.Channel.call(Channel.java:948)
	at hudson.FilePath.act(FilePath.java:1036)
	at hudson.FilePath.act(FilePath.java:1025)
	at hudson.FilePath.deleteRecursive(FilePath.java:1230)
	at org.jenkinsci.plugins.workflow.steps.DeleteDirStep$Exec
        .....
        .....

@babsingh
Copy link
Contributor Author

babsingh commented Sep 4, 2018

@charliegracie @rwy0717 should omrsig be treated as a shared or a static library?

@babsingh
Copy link
Contributor Author

babsingh commented Sep 4, 2018

@charliegracie can these changes be merged?

@rwy7
Copy link
Member

rwy7 commented Sep 4, 2018

should omrsig be treated as a shared or a static library?
omrsig is a shared library.

@charliegracie
Copy link
Contributor

The zOS build failed... I need to know why before I merge

@babsingh
Copy link
Contributor Author

babsingh commented Sep 5, 2018

i have mentioned above that it is an infra issue. it should go away if you relaunch the zOS job.

@charliegracie
Copy link
Contributor

@genie-omr build zos

@babsingh
Copy link
Contributor Author

babsingh commented Sep 6, 2018

@charliegracie all checks have passed. this is ready to merge.

@charliegracie charliegracie merged commit 4e055c0 into eclipse:master Sep 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants