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

Clang 3.6.1 doesn't work out of the box as of 2015Q2 release #288

Closed
affixalex opened this issue Aug 17, 2015 · 6 comments
Closed

Clang 3.6.1 doesn't work out of the box as of 2015Q2 release #288

affixalex opened this issue Aug 17, 2015 · 6 comments
Assignees

Comments

@affixalex
Copy link

Hi,

I'm using Joyent pkgsrc 2015Q2 on OmniOS r151014 to create environments with vagrant.

Clang depends upon the gcc48 package (as opposed to just gcc48-libs), and it searches for crtbegin.o, crtend.o, and libgcc.a in the wrong locations, which necessitates symlinks (or rpath hacks) to get a working clang executable.

  config.vm.provision "shell", inline: <<-SHELL
    pkg install -v system/header \
      developer/versioning/git \
      developer/library/lint \
      developer/build/gnu-make

    curl -s http://pkgsrc.joyent.com/packages/SmartOS/bootstrap/bootstrap-2015Q2-x86_64.tar.gz | gzcat | (cd /; tar -xpf -)

    echo "export PATH=/usr/gnu/bin:/opt/local/bin:/opt/local/sbin:$PATH" >> ~vagrant/.profile

    #/opt/local/bin/pkgin -yV up
    /opt/local/bin/pkgin -yV install gcc48
    /opt/local/bin/pkgin -yV install clang

    mkdir /opt/local/gcc48/lib/gcc/x86_64-sun-solaris2.11/4.8.4/amd64
    cd /opt/local/gcc48/lib/gcc/x86_64-sun-solaris2.11/4.8.4/amd64
    ln -s ../libgcc.a .
    ln -s ../crtbegin.o .
    ln -s ../crtend.o .
  SHELL

.

@bahamat
Copy link
Member

bahamat commented Dec 4, 2015

In 2014Q3 I had to also append the linker path.

# ln -s . /opt/local/gcc48/lib/gcc/x86_64-sun-solaris2.11/4.8.4/amd64
# export LDFLAGS=-L/opt/local/gcc48/lib/amd64
# clang $LDFLAGS -o hello hello.c
# ./hello
Hello World

@chrisridd
Copy link

Comparing the gcc47/48/49 packages, it looks like the crt*.o files moved into the compiler packages in gcc48 and gcc49, so the compiler packages should be a runtime dependency of clang. (I'd prefer if the crt*.o files were in the later gcc lib packages too, but that might be fighting against the flow somewhat.)

It looks like Makefile.common has some hacks to fix some embedded absolute paths, but those hacks mention gcc 4.5, and clearly needs updating to remove obsolete gcc versions and to add supported gcc versions. This is the major bug.

I can't even build lang/clang from a clean checkout of pkgsrc, so it is difficult to work on a patch.

This is all broken upstream as well.

How did lang/clang pass any tests?!

@jperkin
Copy link
Collaborator

jperkin commented Dec 13, 2015

This will be fixed in 2015Q4, I spent some time on this a while ago and it is now possible to build a reasonably large set of packages using clang.

@jperkin jperkin self-assigned this Dec 13, 2015
@chrisridd
Copy link

Great, thanks!

Which branch has the fix?

@jperkin
Copy link
Collaborator

jperkin commented Dec 13, 2015

None yet, the fix is here TritonDataCenter/pkgsrc@2294012

jperkin pushed a commit that referenced this issue Feb 19, 2016
Version 0.26
------------

Released on 2016-01-29.

New features:

* Support the `empty-cells` attribute.
* Respect table, column and cell widths.

Bug fixes:

* `#172: <https://github.com/Kozea/WeasyPrint/issues/172>`_:
  Unable to set table column width on tables td's.
* `#151: <https://github.com/Kozea/WeasyPrint/issues/151>`_:
  Table background colour bleeds beyond table cell boundaries.
* `#260: <https://github.com/Kozea/WeasyPrint/issues/260>`_:
  TypeError: unsupported operand type(s) for +: 'float' and 'str'.
* `#288: <https://github.com/Kozea/WeasyPrint/issues/288>`_:
  Unwanted line-breaks in bold text.
* `#286: <https://github.com/Kozea/WeasyPrint/issues/286>`_:
  AttributeError: 'Namespace' object has no attribute 'attachments'.
@jperkin
Copy link
Collaborator

jperkin commented Jun 2, 2016

This was released in 2015Q4.

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

No branches or pull requests

4 participants