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

[libjulia] bump nightly version #6962

Merged
merged 2 commits into from
Jun 30, 2023

Conversation

benlorenz
Copy link
Contributor

The soname for libjulia was changed to libjulia.so.MAJOR.MINOR in JuliaLang/julia#49012, now libcxxwrap and everything that depends on it now fails on nightly with:

libjulia.so.1: cannot open shared object file: No such file or directory

Lets see if it still builds.

cc: @fingolfin @barche

@giordano
Copy link
Member

The soname for libjulia was changed to libjulia.so.MAJOR.MINOR in JuliaLang/julia#49012

That sounds like a bad idea

@giordano
Copy link
Member

It'd force us to have a libjulia for each single patch version, it's just unsustainable

@benlorenz
Copy link
Contributor Author

It'd force us to have a libjulia for each single patch version, it's just unsustainable

I don't really understand, it does not contain the patch version in the soname, just 1.10 and we do builds for every minor version anyway?

@giordano
Copy link
Member

I don't really understand, it does not contain the patch version in the soname, just 1.10 and we do builds for every minor version anyway?

Ah, sorry, I read too quickly, but I always thought the soname was libjulia.so.MAJOR.MINOR, wasn't it?

@benlorenz
Copy link
Contributor Author

I don't really understand, it does not contain the patch version in the soname, just 1.10 and we do builds for every minor version anyway?

Ah, sorry, I read too quickly, but I always thought the soname was libjulia.so.MAJOR.MINOR, wasn't it?

No, it was just libjulia.so.1, which I guess was a lie anyway.

@giordano
Copy link
Member

Uh, ok, yeah, since ABI is often broken between minor versions then the new soname makes more sense, I just somehow assumed it was that one already, hence my confusion.

Copy link
Member

@fingolfin fingolfin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I assume next we need to rebuild all JLLs using libjulia, right? (Well, at least all we care about, the rest should be rebuild by their respective maintainers)

@@ -252,6 +257,10 @@ function build_julia(ARGS, version::VersionNumber; jllversion=version)
cp /opt/*-w64-mingw32/*-w64-mingw32/sys-root/bin/libwinpthread-1.dll /opt/*-w64-mingw32/*-mingw32/sys-root/lib/
fi

# this file is generated starting from julia 1.10
# even for platforms without symbol versioning the file is needed to build the host flisp
test -f src/julia.expmap || make -C src ./julia.expmap
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just out of curiosity, why do we need the extra test?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assumed make might complain if this is not any target it knows about. We can remove it in the next iteration.

@fingolfin fingolfin merged commit 9dd2690 into JuliaPackaging:master Jun 30, 2023
@benlorenz
Copy link
Contributor Author

Thanks. I assume next we need to rebuild all JLLs using libjulia, right? (Well, at least all we care about, the rest should be rebuild by their respective maintainers)

Everything that links against libjulia.$dlext will have the old soname embedded.

@barche
Copy link
Contributor

barche commented Jun 30, 2023

I can confirm that simply rebuilding libcxxwrap-julia with this change makes the CxxWrap tests pass. Is there a way to rebuild the binaries without committing some meaningless change (e.g. add a comment) in the build_tarballs.jl to trigger the CI??

@benlorenz benlorenz deleted the bl/libjulia110 branch July 1, 2023 11:35
@benlorenz
Copy link
Contributor Author

I can confirm that simply rebuilding libcxxwrap-julia with this change makes the CxxWrap tests pass. Is there a way to rebuild the binaries without committing some meaningless change (e.g. add a comment) in the build_tarballs.jl to trigger the CI??

Thanks for checking, and I don't think there is any other way. I just created #6978 for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants