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

valabind 1.8.0 #1029

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

valabind 1.8.0 #1029

wants to merge 1 commit into from

Conversation

sevan
Copy link
Collaborator

@sevan sevan commented Nov 27, 2023

Built on Tiger (G5) with GCC 4.0.1

@mistydemeo
Copy link
Owner

Hmm, I tried compiling this using the new vala and glib, but it seems like it can't find the libvala package that vala installed.

valac -g --cc="/usr/local/bin/gcc-4.2" -X -I/usr/local/opt/libxslt/include -X -I/usr/local/opt/libxml2/include -X -I/usr/local/opt/libpng/include -X -I/usr/local/opt/zlib/include -X -I/usr/local/opt/openssl/include -X -I/usr/local/opt/sqlite/include -X -I/usr/local/opt/readline/include -X -I/usr/local/opt/libiconv/include -X -I/usr/local/opt/gettext/include -X -F/usr/local/Frameworks -X -Os -X -w -X -pipe -X -mcpu=7400 -X -faltivec -X -
mmacosx-version-min=10.4 -X -L/usr/local/opt/libxslt/lib -X -L/usr/local/opt/libxml2/lib -X -L/usr/local/opt/l
ibpng/lib -X -L/usr/local/opt/zlib/lib -X -L/usr/local/opt/openssl/lib -X -L/usr/local/opt/sqlite/lib -X -L/us
r/local/opt/readline/lib -X -L/usr/local/opt/libiconv/lib -X -L/usr/local/opt/gettext/lib -X -L/usr/local/lib
-X -F/usr/local/Frameworks -X -Wl,-headerpad_max_install_names -o valabind --pkg posix --pkg libvala-0.56 --va
pidir=/private/tmp/valabind20231126-20013-1da4jo3/valabind-1.8.0/private --pkg codegen -X -I/private/tmp/valab
ind20231126-20013-1da4jo3/valabind-1.8.0/private --vapidir=/share/vala/vapi/ -X -L/usr/local/Cellar/vala/0.56.
14/lib/vala-0.56 -X -lvalaccodegen --save-temps  config.vala main.vala valabindwriter.vala nodeffiwriter.vala
utils.vala girwriter.vala swigwriter.vala cxxwriter.vala ctypeswriter.vala dlangwriter.vala gowriter.vala vlan
gwriter.vala
error: Package `libvala-0.56' not found in specified Vala API directories or GObject-Introspection GIR directo
ries

@sevan
Copy link
Collaborator Author

sevan commented Nov 27, 2023

does the the test case for vala work? brew test -v vala
If it doesn't, vala needs to be rebuilt against the new glib.
I didn't try GCC 4.2 though. I was using 4.0.1.

@sevan
Copy link
Collaborator Author

sevan commented Nov 27, 2023

Found the issue, for some reason Cellar/glib/2.59.0/lib/pkgconfig/glib-2.0.pc in your bottle did not include the adjustments to gettext lib directory, so -lintl is never found, the error message valac spits out about not finding libvala is bogus.

prefix=/usr/local/Cellar/glib/2.59.0
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

bindir=${exec_prefix}/bin
glib_genmarshal=${bindir}/glib-genmarshal
gobject_query=${bindir}/gobject-query
glib_mkenums=${bindir}/glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.59.0
Requires.private: libpcre
Libs: -L${libdir} -lglib-2.0 -lintl  -Wl,-framework -Wl,CoreFoundation
Libs.private:   -L/usr/local/Cellar/pcre/8.45/lib -lpcre -lintl  -Wl,-framework -Wl,CoreFoundation -liconv -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include 

I rebuilt the glib formula here & I ended up with the following Cellar/glib/2.59.0/lib/pkgconfig/glib-2.0.pc

prefix=/usr/local/Cellar/glib/2.59.0
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

bindir=${exec_prefix}/bin
glib_genmarshal=${bindir}/glib-genmarshal
gobject_query=${bindir}/gobject-query
glib_mkenums=${bindir}/glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.59.0
Requires.private: libpcre
Libs: -L${libdir} -lglib-2.0 -L/usr/local/opt/gettext/lib -lintl  -Wl,-framework -Wl,CoreFoundation
Libs.private:   -L/usr/local/Cellar/pcre/8.45/lib -lpcre -lintl  -Wl,-framework -Wl,CoreFoundation -liconv -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include -I/usr/local/opt/gettext/include 

@sevan
Copy link
Collaborator Author

sevan commented Jan 5, 2025

Fresh build of glib on Tiger/Intel with GCC 4.0.

Dep tree looks as follows (ignore libffi, it's been updated and hasn't landed yet)

glib (required dependencies)
├── xz            
├── pkg-config
├── automake        
|   ├── xz      
|   └── autoconf          
|       ├── xz  
|       └── m4
|           └── xz
├── autoconf  
|   ├── xz        
|   └── m4              
|       └── xz  
├── libtool     
|   ├── xz  
|   └── m4          
|       └── xz
├── gettext
|   └── xz
├── libiconv                   
├── libffi
|   └── cctools
|       ├── ld64
|       |   ├── cctools-headers
|       |   ├── dyld-headers
|       |   └── libunwind-headers
|       └── cctools-headers
├── pcre
├── python3
|   ├── xz
|   ├── pkg-config
|   ├── sqlite
|   |   └── readline
|   ├── openssl3
|   |   ├── curl-ca-bundle
|   |   └── perl
|   ├── bzip2
|   ├── tcl-tk
|   |   ├── xz
|   |   ├── sqlite
|   |   |   └── readline
|   |   └── zlib
|   ├── readline
|   ├── gdbm
|   |   └── readline
|   └── xz
└── zlib

Cellar/glib/2.59.0/lib/pkgconfig/glib-2.0.pc looks like

prefix=/usr/local/Cellar/glib/2.59.0
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

bindir=${exec_prefix}/bin
glib_genmarshal=${bindir}/glib-genmarshal
gobject_query=${bindir}/gobject-query
glib_mkenums=${bindir}/glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.59.0
Requires.private: libpcre
Libs: -L${libdir} -lglib-2.0 -L/usr/local/opt/gettext/lib -lintl  -Wl,-framework -Wl,CoreFoundation
Libs.private:   -L/usr/local/Cellar/pcre/8.45/lib -lpcre -lintl  -Wl,-framework -Wl,CoreFoundation -liconv -Wl,-framework,Carbon -Wl,-framework,Foundation -Wl,-framework,AppKit
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include -I/usr/local/opt/gettext/include 

End result looks something like this

valabind (required dependencies)
├── pkg-config
├── swig
|   └── pcre2
└── vala
    ├── xz
    ├── pkg-config
    ├── gettext
    |   └── xz
    ├── glib
    |   ├── xz
    |   ├── pkg-config
    |   ├── automake
    |   |   ├── xz
    |   |   └── autoconf
    |   |       ├── xz
    |   |       └── m4
    |   |           └── xz
    |   ├── autoconf
    |   |   ├── xz
    |   |   └── m4
    |   |       └── xz
    |   ├── libtool
    |   |   ├── xz
    |   |   └── m4
    |   |       └── xz
    |   ├── gettext
    |   |   └── xz
    |   ├── libiconv
    |   ├── libffi
    |   |   └── cctools
    |   |       ├── ld64
    |   |       |   ├── cctools-headers
    |   |       |   ├── dyld-headers
    |   |       |   └── libunwind-headers
    |   |       └── cctools-headers
    |   ├── pcre
    |   ├── python3
    |   |   ├── xz
    |   |   ├── pkg-config
    |   |   ├── sqlite
    |   |   |   └── readline
    |   |   ├── gettext
    |   |   |   └── xz
    |   |   ├── openssl3
    |   |   |   ├── curl-ca-bundle
    |   |   |   └── perl
    |   |   ├── bzip2
    |   |   ├── tcl-tk
    |   |   |   ├── xz
    |   |   |   ├── sqlite
    |   |   |   |   └── readline
    |   |   |   └── zlib
    |   |   ├── readline
    |   |   ├── gdbm
    |   |   |   └── readline
    |   |   └── xz
    |   └── zlib
    ├── graphviz
    |   ├── pkg-config
    |   └── libpng
    |       ├── xz
    |       └── zlib
    └── libxslt
        ├── xz
        └── libxml2
            ├── xz
            ├── xz
            └── zlib

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.

2 participants